From 175df902e37a58a44e6f6f3aa07f2338375cc9d8 Mon Sep 17 00:00:00 2001 From: Thierry Carrez Date: Wed, 19 Jun 2019 16:16:35 +0200 Subject: [PATCH] List standard deployment tools capabilities To improve the "deployment tools" section of the OpenStack website and provide more information for deployers to choose between the various methods of installing OpenStack, we plan to introduce specific capabilities tags. Those will facilitate searching, but should not replace a proper long description. This commit introduces a taxonomy of basic tags. More can be added later, this focuses on basic capabilities and technology description. Once approved, we will ask the various deployment tools teams to reference those tags directly in the deployment_tools.yaml file. Change-Id: I34473453851d0cc4999a258a6567aa2837c1bb19 --- deployment_tools_capabilities.yaml | 187 +++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 deployment_tools_capabilities.yaml diff --git a/deployment_tools_capabilities.yaml b/deployment_tools_capabilities.yaml new file mode 100644 index 0000000..6b2bbb9 --- /dev/null +++ b/deployment_tools_capabilities.yaml @@ -0,0 +1,187 @@ +--- +capabilities: + + - category: starts-from + description: > + What needs to happen before the deployment tool takes over. + tags: + - name: bare-metal + desc: Starts from scratch + + - name: os-installed + desc: Needs a base operating system + + - name: env-bootstrap + desc: Needs basic environment bootstrap (e.g. Docker, Puppet agent...) + + - name: kubernetes-cluster + desc: Needs a full Kubernetes cluster available + + - category: technology + description: > + What base technologies the deployment tool is using. + tags: + # Packaging technologies + - name: deb-packages + desc: Makes use of Debian-style packaging + + - name: rpm-packages + desc: Makes use of RPM-style packaging + + - name: oci-containers + desc: Makes use of OCI containers + + - name: source-tarballs + desc: Works directly from upstream-released source code tarballs + + - name: git + desc: Works directly from git source code repositories + + # Base distribution + - name: redhat-centos + desc: Based on RedHat Enterprise Linux or CentOS + + - name: fedora + desc: Based on Fedora + + - name: sles-opensuse + desc: Based on SUSE Linux Enterprise Server or OpenSUSE + + - name: debian + desc: Based on Debian GNU/Linux + + - name: ubuntu + desc: Based on Ubuntu Server + + - name: oraclelinux + desc: Based on Oracle Linux + + # Configuration management and orchestration technologies + + - name: puppet + desc: Makes use of Puppet configuration management + + - name: chef + desc: Makes use of Chef configuration management + + - name: ansible + desc: Relies on Ansible for configuration management + + - name: juju + desc: Makes use of Juju for orchestration + + - name: helm + desc: Relies on Helm charts for deployment + + - name: kubernetes + desc: Makes use of Kubernetes for orchestration + + - name: heat + desc: Uses OpenStack Heat for orchestration + + - category: components + description: > + Components of OpenStack supported by the deployment tool (latest version) + tags: + # Additional services + - name: rabbitmq + desc: Deploys RabbitMQ + + - name: ceph + desc: Deploys Ceph for block storage + + - name: etcd + desc: Deploys etcd to enable advanced coordination capabilities + + - name: memcached + desc: Deploys memcached for Keystone + + - name: mysql + desc: Deploys MySQL database + + - name: vault + desc: Deploys Hashicorp Vault for Barbican secrets storage + + # OpenStack services + - name: keystone + - name: placement + - name: glance + - name: barbican + - name: searchlight + - name: karbor + - name: neutron + - name: octavia + - name: designate + - name: ironic + - name: cyborg + - name: swift + - name: cinder + - name: manila + - name: nova + - name: zun + - name: qinling + - name: magnum + - name: trove + - name: sahara + - name: murano + - name: freezer + - name: solum + - name: masakari + - name: heat + - name: mistral + - name: senlin + - name: zaqar + - name: aodh + - name: blazar + - name: horizon + - name: ec2api + - name: ceilometer + - name: monasca + - name: panko + - name: watcher + - name: vitrage + - name: congress + - name: rally + - name: cloudkitty + - name: tricircle + + - category: upgrade + description: > + What is the main supported (tested) upgrade path when using this + deployment tool. + tags: + # Control plane downtime + - name: offline + desc: Upgrade is done offline, control plane is down during upgrade. + + - name: online + desc: Upgrade is done online, control plane is up during upgrade. + + # Upgrade methodology + - name: per-version + desc: Need to bring each new version online before upgrading the next + + - name: fast-forward + desc: Each upgrade is done separately but no need to bring it online + + - name: skip-level + desc: Direct x to z version upgrade, no need for intermediary steps + + - category: features + description: > + Specific features of the deployment tools + tags: + - name: offline-installation + desc: No need for an Internet connection during installation or upgrade + + - name: supports-heterogeneous-versions + desc: Supports running heterogeneous versions of OpenStack components + + - name: encrypted-local-comms + desc: Management plane uses encrypted communications between components + + - name: all-in-one + desc: Supports installing all components on a single machine + + - name: cells + desc: Supports deploying multiple cells