Rationalise upgrade order for charms and payload
* Be more direct about the order of both charm upgrades and openstack upgrades. Base the former on the latter and the latter on internal testing. Octavia is the outlier but its inclusion was decided upon based on ealier team consensus. * Remove some linking at the top of upgrade-openstack since they are covered in the ensuing sections. * Remove some unused links, but include the swath of links for supported charms in the upgrade-openstack page as it will be easier to refer to another charm in any future work. This is the same as for the current upgrade-charms page. Closes-Bug: #1912665 Change-Id: I2035bfa01091ec799027266f4fe36aefd775c225
This commit is contained in:
parent
b076b6ddd9
commit
4bab04cfff
|
@ -18,24 +18,122 @@ Please read the following before continuing:
|
|||
A charm upgrade affects all corresponding units; upgrading on a per-unit
|
||||
basis is not currently supported.
|
||||
|
||||
Although it may be possible to upgrade some charms in parallel it is
|
||||
recommended that the upgrades be performed sequentially (i.e. one at a time).
|
||||
Verify a charm upgrade before moving on to the next.
|
||||
Upgrade order
|
||||
-------------
|
||||
|
||||
Subordinate charms are upgraded as normal, and, in theory, their upgrade order
|
||||
in relation to their principal charm is not important. Internal testing however
|
||||
does upgrade the principal charm first.
|
||||
There is no special order in which to upgrade the charms. The order described
|
||||
here is based on the upgrade order for :ref:`OpenStack upgrades
|
||||
<openstack_upgrade_order>`, which, in turn, is the order used by internal
|
||||
testing.
|
||||
|
||||
In terms of the upgrade order, begin with 'keystone'. After that, the rest of
|
||||
the charms can be upgraded in any order.
|
||||
.. note::
|
||||
|
||||
.. caution::
|
||||
Although it may be possible to upgrade some charms concurrently it is
|
||||
recommended that charm upgrades be performed sequentially (i.e. one at a
|
||||
time). Verify a charm upgrade before moving on to the next.
|
||||
|
||||
Any software changes that may have (exceptionally) been made to a charm
|
||||
currently running on a unit will be overwritten by the target charm during
|
||||
the upgrade.
|
||||
The general order is:
|
||||
|
||||
Before upgrading, a (partial) output to :command:`juju status` may look like:
|
||||
#. all principle charms
|
||||
#. all subordinate charms
|
||||
|
||||
The precise order within the group of principle charms is shown in the below
|
||||
table.
|
||||
|
||||
.. list-table:: Principle charms
|
||||
:header-rows: 1
|
||||
:widths: auto
|
||||
|
||||
* - Order
|
||||
- Charm
|
||||
|
||||
* - 1
|
||||
- `percona-cluster`_ or `mysql-innodb-cluster`_
|
||||
|
||||
* - 2
|
||||
- `rabbitmq-server`_
|
||||
|
||||
* - 3
|
||||
- `ceph-mon`_
|
||||
|
||||
* - 4
|
||||
- `keystone`_
|
||||
|
||||
* - 5
|
||||
- `aodh`_
|
||||
|
||||
* - 6
|
||||
- `barbican`_
|
||||
|
||||
* - 7
|
||||
- `ceilometer`_
|
||||
|
||||
* - 8
|
||||
- `ceph-fs`_
|
||||
|
||||
* - 9
|
||||
- `ceph-radosgw`_
|
||||
|
||||
* - 10
|
||||
- `cinder`_
|
||||
|
||||
* - 11
|
||||
- `designate`_
|
||||
|
||||
* - 12
|
||||
- `designate-bind`_
|
||||
|
||||
* - 13
|
||||
- `glance`_
|
||||
|
||||
* - 14
|
||||
- `gnocchi`_
|
||||
|
||||
* - 15
|
||||
- `heat`_
|
||||
|
||||
* - 16
|
||||
- `manila`_
|
||||
|
||||
* - 17
|
||||
- `manila-generic`_
|
||||
|
||||
* - 18
|
||||
- `neutron-api`_
|
||||
|
||||
* - 19
|
||||
- `neutron-gateway`_
|
||||
|
||||
* - 20
|
||||
- `placement`_
|
||||
|
||||
* - 21
|
||||
- `nova-cloud-controller`_
|
||||
|
||||
* - 22
|
||||
- `openstack-dashboard`_
|
||||
|
||||
* - 23
|
||||
- `nova-compute`_
|
||||
|
||||
* - 24
|
||||
- `ceph-osd`_
|
||||
|
||||
* - 25
|
||||
- `swift-proxy`_
|
||||
|
||||
* - 26
|
||||
- `swift-storage`_
|
||||
|
||||
Upgrade testing for subordinate charms does not follow a prescribed order. Once
|
||||
all the principle charms have been processed all the subordinate charms can
|
||||
then be upgraded in any order.
|
||||
|
||||
Perform the upgrade
|
||||
-------------------
|
||||
|
||||
Prior to upgrading a charm, say keystone, a (partial) output to :command:`juju
|
||||
status` may look like:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -72,6 +170,12 @@ encountered problem will surface as a message in its output. This sample
|
|||
This shows that the charm now has a revision number of '309' but Keystone
|
||||
itself remains at '15.0.0'.
|
||||
|
||||
.. caution::
|
||||
|
||||
Any software changes that may have (exceptionally) been made to a charm
|
||||
currently running on a unit will be overwritten by the target charm during
|
||||
the upgrade.
|
||||
|
||||
Upgrade target revisions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -113,4 +217,67 @@ Based on the above, the ceph-mon charm does not require an upgrade.
|
|||
.. LINKS
|
||||
.. _Upgrading applications: https://jaas.ai/docs/upgrading-applications
|
||||
.. _Release Notes: https://docs.openstack.org/charm-guide/latest/release-notes.html
|
||||
.. _Series upgrade: upgrade-series.html
|
||||
|
||||
.. _aodh: https://opendev.org/openstack/charm-aodh/
|
||||
.. _barbican: https://opendev.org/openstack/charm-barbican/
|
||||
.. _barbican-vault: https://opendev.org/openstack/charm-barbican-vault/
|
||||
.. _ceilometer: https://opendev.org/openstack/charm-ceilometer/
|
||||
.. _ceilometer-agent: https://opendev.org/openstack/charm-ceilometer-agent/
|
||||
.. _cinder: https://opendev.org/openstack/charm-cinder/
|
||||
.. _cinder-backup: https://opendev.org/openstack/charm-cinder-backup/
|
||||
.. _cinder-backup-swift-proxy: https://opendev.org/openstack/charm-cinder-backup-swift-proxy/
|
||||
.. _cinder-ceph: https://opendev.org/openstack/charm-cinder-ceph/
|
||||
.. _designate: https://opendev.org/openstack/charm-designate/
|
||||
.. _glance: https://opendev.org/openstack/charm-glance/
|
||||
.. _heat: https://opendev.org/openstack/charm-heat/
|
||||
.. _keystone: https://opendev.org/openstack/charm-keystone/
|
||||
.. _keystone-ldap: https://opendev.org/openstack/charm-keystone-ldap/
|
||||
.. _keystone-saml-mellon: https://opendev.org/openstack/charm-keystone-saml-mellon/
|
||||
.. _manila: https://opendev.org/openstack/charm-manila/
|
||||
.. _manila-ganesha: https://opendev.org/openstack/charm-manila-ganesha/
|
||||
.. _masakari: https://opendev.org/openstack/charm-masakari/
|
||||
.. _masakari-monitors: https://opendev.org/openstack/charm-masakari-monitors/
|
||||
.. _mysql-innodb-cluster: https://opendev.org/openstack/charm-mysql-innodb-cluster
|
||||
.. _mysql-router: https://opendev.org/openstack/charm-mysql-router
|
||||
.. _neutron-api: https://opendev.org/openstack/charm-neutron-api/
|
||||
.. _neutron-api-plugin-arista: https://opendev.org/openstack/charm-neutron-api-plugin-arista
|
||||
.. _neutron-api-plugin-ovn: https://opendev.org/openstack/charm-neutron-api-plugin-ovn
|
||||
.. _neutron-dynamic-routing: https://opendev.org/openstack/charm-neutron-dynamic-routing/
|
||||
.. _neutron-gateway: https://opendev.org/openstack/charm-neutron-gateway/
|
||||
.. _neutron-openvswitch: https://opendev.org/openstack/charm-neutron-openvswitch/
|
||||
.. _nova-cell-controller: https://opendev.org/openstack/charm-nova-cell-controller/
|
||||
.. _nova-cloud-controller: https://opendev.org/openstack/charm-nova-cloud-controller/
|
||||
.. _nova-compute: https://opendev.org/openstack/charm-nova-compute/
|
||||
.. _octavia: https://opendev.org/openstack/charm-octavia/
|
||||
.. _octavia-dashboard: https://opendev.org/openstack/charm-octavia-dashboard/
|
||||
.. _octavia-diskimage-retrofit: https://opendev.org/openstack/charm-octavia-diskimage-retrofit/
|
||||
.. _openstack-dashboard: https://opendev.org/openstack/charm-openstack-dashboard/
|
||||
.. _placement: https://opendev.org/openstack/charm-placement
|
||||
.. _swift-proxy: https://opendev.org/openstack/charm-swift-proxy/
|
||||
.. _swift-storage: https://opendev.org/openstack/charm-swift-storage/
|
||||
|
||||
.. _ceph-fs: https://opendev.org/openstack/charm-ceph-fs/
|
||||
.. _ceph-iscsi: https://opendev.org/openstack/charm-ceph-iscsi/
|
||||
.. _ceph-mon: https://opendev.org/openstack/charm-ceph-mon/
|
||||
.. _ceph-osd: https://opendev.org/openstack/charm-ceph-osd/
|
||||
.. _ceph-proxy: https://opendev.org/openstack/charm-ceph-proxy/
|
||||
.. _ceph-radosgw: https://opendev.org/openstack/charm-ceph-radosgw/
|
||||
.. _ceph-rbd-mirror: https://opendev.org/openstack/charm-ceph-rbd-mirror/
|
||||
.. _cinder-purestorage: https://opendev.org/openstack/charm-cinder-purestorage/
|
||||
.. _designate-bind: https://opendev.org/openstack/charm-designate-bind/
|
||||
.. _glance-simplestreams-sync: https://opendev.org/openstack/charm-glance-simplestreams-sync/
|
||||
.. _gnocchi: https://opendev.org/openstack/charm-gnocchi/
|
||||
.. _hacluster: https://opendev.org/openstack/charm-hacluster/
|
||||
.. _ovn-central: https://opendev.org/x/charm-ovn-central
|
||||
.. _ovn-chassis: https://opendev.org/x/charm-ovn-chassis
|
||||
.. _ovn-dedicated-chassis: https://opendev.org/x/charm-ovn-dedicated-chassis
|
||||
.. _pacemaker-remote: https://opendev.org/openstack/charm-pacemaker-remote/
|
||||
.. _percona-cluster: https://opendev.org/openstack/charm-percona-cluster/
|
||||
.. _rabbitmq-server: https://opendev.org/openstack/charm-rabbitmq-server/
|
||||
.. _trilio-data-mover: https://opendev.org/openstack/charm-trilio-data-mover/
|
||||
.. _trilio-dm-api: https://opendev.org/openstack/charm-trilio-dm-api/
|
||||
.. _trilio-horizon-plugin: https://opendev.org/openstack/charm-trilio-horizon-plugin/
|
||||
.. _trilio-wlm: https://opendev.org/openstack/charm-trilio-wlm/
|
||||
.. _vault: https://opendev.org/openstack/charm-vault/
|
||||
|
||||
.. _manila-generic: https://opendev.org/openstack/charm-manila-generic/
|
||||
|
|
|
@ -9,13 +9,8 @@ This document outlines how to upgrade a Juju-deployed OpenStack cloud.
|
|||
Upgrading an OpenStack cloud is not risk-free. The procedures outlined in
|
||||
this guide should first be tested in a pre-production environment.
|
||||
|
||||
Please read the following before continuing:
|
||||
|
||||
* the :doc:`Upgrades overview <upgrade-overview>` page
|
||||
* the OpenStack charms `Release Notes`_ for the corresponding current and
|
||||
target versions of OpenStack
|
||||
* the :doc:`Special charm procedures <upgrade-special>` page
|
||||
* the :doc:`Upgrade issues <upgrade-issues>` page
|
||||
Please read the :doc:`Upgrades overview <upgrade-overview>` page before
|
||||
continuing.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -29,7 +24,7 @@ Release Notes
|
|||
-------------
|
||||
|
||||
The OpenStack charms `Release Notes`_ for the corresponding current and target
|
||||
versions of OpenStack **must** be consulted for any special instructions. In
|
||||
versions of OpenStack must be consulted for any special instructions. In
|
||||
particular, pay attention to services and/or configuration options that may be
|
||||
retired, deprecated, or changed.
|
||||
|
||||
|
@ -39,16 +34,15 @@ Manual intervention
|
|||
It is intended that the now upgraded charms are able to accommodate all
|
||||
software changes associated with the corresponding OpenStack services to be
|
||||
upgraded. A new charm will also strive to produce a service as similarly
|
||||
configured to the pre-upgraded service as possible. Nevertheless, there are
|
||||
still times when intervention on the part of the operator may be needed, such
|
||||
as when:
|
||||
configured to the pre-upgraded service as possible.
|
||||
|
||||
* a service is removed, added, or replaced
|
||||
* a software bug affecting the OpenStack upgrade is present in the new charm
|
||||
However, there are still times when intervention on the part of the operator
|
||||
may be needed, such as when an OpenStack service is removed/added/replaced or
|
||||
when a software bug (in the charms or in upstream OpenStack) affecting the
|
||||
upgrade is present. The next two resources cover these topics:
|
||||
|
||||
All known issues requiring manual intervention are documented on the
|
||||
:doc:`Known upgrade issues <upgrade-issues>` page. You **must** look these
|
||||
over.
|
||||
* the :doc:`Special charm procedures <upgrade-special>` page
|
||||
* the :doc:`Upgrade issues <upgrade-issues>` page
|
||||
|
||||
Verify the current deployment
|
||||
-----------------------------
|
||||
|
@ -115,10 +109,10 @@ Disable unattended-upgrades
|
|||
---------------------------
|
||||
|
||||
When performing a service upgrade on a unit that hosts multiple principle
|
||||
charms (e.g. ``nova-compute`` and ``ceph-osd``), ensure that
|
||||
``unattended-upgrades`` is disabled on the underlying machine for the duration
|
||||
of the upgrade process. This is to prevent the other services from being
|
||||
upgraded outside of Juju's control. On a unit run:
|
||||
charms (e.g. nova-compute and ceph-osd), ensure that ``unattended-upgrades`` is
|
||||
disabled on the underlying machine for the duration of the upgrade process.
|
||||
This is to prevent the other services from being upgraded outside of Juju's
|
||||
control. On a unit run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
|
@ -132,84 +126,116 @@ with their parent application. Subordinate charms do not support the
|
|||
``openstack-origin`` configuration option which, as will be shown, is a
|
||||
pre-requisite for initiating an OpenStack charm payload upgrade.
|
||||
|
||||
.. _openstack_upgrade_order:
|
||||
|
||||
Upgrade order
|
||||
-------------
|
||||
|
||||
The charms are put into groups to indicate the order in which their
|
||||
corresponding OpenStack services should be upgraded. The order within a group
|
||||
is unimportant. What matters is that all the charms within the same group are
|
||||
acted upon before those in the next group (e.g. upgrade all charm payloads in
|
||||
group 2 before moving on to group 3).
|
||||
Generally speaking, the order is determined by the idea of a dependency tree.
|
||||
Those services that have the most potential impact on other services are
|
||||
upgraded first and those services that have the least potential impact on other
|
||||
services are upgraded last.
|
||||
|
||||
Any `Release Notes`_ guidance overrides the information listed here. You may
|
||||
also consult the upstream documentation on the subject: `Update services`_.
|
||||
In the below table charms are listed in the order in which their corresponding
|
||||
OpenStack services should be upgraded. Each service represented by a charm will
|
||||
need to be upgraded individually, and only the packages associated with a
|
||||
charm's OpenStack service will be updated.
|
||||
|
||||
Each service represented by a charm in the below table will need to be upgraded
|
||||
individually. Only the packages associated with a charm's OpenStack service
|
||||
will be updated.
|
||||
The order provided below is the order used by internal testing.
|
||||
|
||||
+-------+-----------------------+---------------+
|
||||
| Group | Charm Name | Charm Type |
|
||||
+=======+=======================+===============+
|
||||
| 1 | keystone | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 1 | ceph-mon | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 2 | ceph-osd | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 2 | ceph-fs | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 2 | ceph-radosgw | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 2 | swift-proxy | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 2 | swift-storage | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | aodh | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | barbican | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | ceilometer | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | cinder | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | designate | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | designate-bind | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | glance | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | gnocchi | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | heat | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | manila | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | manila-generic | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | neutron-api | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | neutron-gateway | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | placement | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | nova-cloud-controller | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 3 | openstack-dashboard | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 4 | nova-compute | Data Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
| 5 | octavia | Control Plane |
|
||||
+-------+-----------------------+---------------+
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: auto
|
||||
|
||||
* - Order
|
||||
- Charm
|
||||
|
||||
* - 1
|
||||
- `rabbitmq-server`_
|
||||
|
||||
* - 2
|
||||
- `ceph-mon`_
|
||||
|
||||
* - 3
|
||||
- `keystone`_
|
||||
|
||||
* - 4
|
||||
- `aodh`_
|
||||
|
||||
* - 5
|
||||
- `barbican`_
|
||||
|
||||
* - 6
|
||||
- `ceilometer`_
|
||||
|
||||
* - 7
|
||||
- `ceph-fs`_
|
||||
|
||||
* - 8
|
||||
- `ceph-radosgw`_
|
||||
|
||||
* - 9
|
||||
- `cinder`_
|
||||
|
||||
* - 10
|
||||
- `designate`_
|
||||
|
||||
* - 11
|
||||
- `designate-bind`_
|
||||
|
||||
* - 12
|
||||
- `glance`_
|
||||
|
||||
* - 13
|
||||
- `gnocchi`_
|
||||
|
||||
* - 14
|
||||
- `heat`_
|
||||
|
||||
* - 15
|
||||
- `manila`_
|
||||
|
||||
* - 16
|
||||
- `manila-generic`_
|
||||
|
||||
* - 17
|
||||
- `neutron-api`_
|
||||
|
||||
* - 18
|
||||
- `neutron-gateway`_
|
||||
|
||||
* - 19
|
||||
- `placement`_
|
||||
|
||||
* - 20
|
||||
- `nova-cloud-controller`_
|
||||
|
||||
* - 21
|
||||
- `openstack-dashboard`_
|
||||
|
||||
* - 22
|
||||
- `nova-compute`_
|
||||
|
||||
* - 23
|
||||
- `ceph-osd`_
|
||||
|
||||
* - 24
|
||||
- `swift-proxy`_
|
||||
|
||||
* - 25
|
||||
- `swift-storage`_
|
||||
|
||||
* - 26
|
||||
- `octavia`_
|
||||
|
||||
.. important::
|
||||
|
||||
Services whose software is not included in the Ubuntu Cloud Archive are not
|
||||
represented in the above list. This software is upgraded by the
|
||||
Services whose software is not included in the `Ubuntu Cloud Archive`_ are
|
||||
not represented in the above list. This software is upgraded by the
|
||||
administrator (on the units) using traditional means (e.g. manually via
|
||||
package tools or as part of a series upgrade). Common charms where this
|
||||
applies are ``ntp``, ``memcached``, ``percona-cluster``,
|
||||
``rabbitmq-server``, ``mysql-innodb-cluster``, and ``mysql-router``.
|
||||
applies are ntp, memcached, percona-cluster, rabbitmq-server,
|
||||
mysql-innodb-cluster, and mysql-router.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -418,9 +444,6 @@ Check for errors in :command:`juju status` output and any monitoring service.
|
|||
.. _Release Notes: https://docs.openstack.org/charm-guide/latest/release-notes.html
|
||||
.. _Ubuntu Cloud Archive: https://wiki.ubuntu.com/OpenStack/CloudArchive
|
||||
.. _Upgrades: https://docs.openstack.org/operations-guide/ops-upgrades.html
|
||||
.. _Update services: https://docs.openstack.org/operations-guide/ops-upgrades.html#update-services
|
||||
.. _Keystone Fernet Token Implementation: https://specs.openstack.org/openstack/charm-specs/specs/rocky/implemented/keystone-fernet-tokens.html
|
||||
.. _Octavia LBaaS: app-octavia.html
|
||||
.. _Rotating amphora images: https://docs.openstack.org/octavia/latest/admin/guides/operator-maintenance.html#rotating-the-amphora-images
|
||||
|
||||
.. BUGS
|
||||
|
@ -428,3 +451,67 @@ Check for errors in :command:`juju status` output and any monitoring service.
|
|||
.. _LP #1809190: https://bugs.launchpad.net/charm-neutron-gateway/+bug/1809190
|
||||
.. _LP #1853173: https://bugs.launchpad.net/charm-openstack-dashboard/+bug/1853173
|
||||
.. _LP #1828534: https://bugs.launchpad.net/charm-designate/+bug/1828534
|
||||
|
||||
.. _aodh: https://opendev.org/openstack/charm-aodh/
|
||||
.. _barbican: https://opendev.org/openstack/charm-barbican/
|
||||
.. _barbican-vault: https://opendev.org/openstack/charm-barbican-vault/
|
||||
.. _ceilometer: https://opendev.org/openstack/charm-ceilometer/
|
||||
.. _ceilometer-agent: https://opendev.org/openstack/charm-ceilometer-agent/
|
||||
.. _cinder: https://opendev.org/openstack/charm-cinder/
|
||||
.. _cinder-backup: https://opendev.org/openstack/charm-cinder-backup/
|
||||
.. _cinder-backup-swift-proxy: https://opendev.org/openstack/charm-cinder-backup-swift-proxy/
|
||||
.. _cinder-ceph: https://opendev.org/openstack/charm-cinder-ceph/
|
||||
.. _designate: https://opendev.org/openstack/charm-designate/
|
||||
.. _glance: https://opendev.org/openstack/charm-glance/
|
||||
.. _heat: https://opendev.org/openstack/charm-heat/
|
||||
.. _keystone: https://opendev.org/openstack/charm-keystone/
|
||||
.. _keystone-ldap: https://opendev.org/openstack/charm-keystone-ldap/
|
||||
.. _keystone-saml-mellon: https://opendev.org/openstack/charm-keystone-saml-mellon/
|
||||
.. _manila: https://opendev.org/openstack/charm-manila/
|
||||
.. _manila-ganesha: https://opendev.org/openstack/charm-manila-ganesha/
|
||||
.. _masakari: https://opendev.org/openstack/charm-masakari/
|
||||
.. _masakari-monitors: https://opendev.org/openstack/charm-masakari-monitors/
|
||||
.. _mysql-innodb-cluster: https://opendev.org/openstack/charm-mysql-innodb-cluster
|
||||
.. _mysql-router: https://opendev.org/openstack/charm-mysql-router
|
||||
.. _neutron-api: https://opendev.org/openstack/charm-neutron-api/
|
||||
.. _neutron-api-plugin-arista: https://opendev.org/openstack/charm-neutron-api-plugin-arista
|
||||
.. _neutron-api-plugin-ovn: https://opendev.org/openstack/charm-neutron-api-plugin-ovn
|
||||
.. _neutron-dynamic-routing: https://opendev.org/openstack/charm-neutron-dynamic-routing/
|
||||
.. _neutron-gateway: https://opendev.org/openstack/charm-neutron-gateway/
|
||||
.. _neutron-openvswitch: https://opendev.org/openstack/charm-neutron-openvswitch/
|
||||
.. _nova-cell-controller: https://opendev.org/openstack/charm-nova-cell-controller/
|
||||
.. _nova-cloud-controller: https://opendev.org/openstack/charm-nova-cloud-controller/
|
||||
.. _nova-compute: https://opendev.org/openstack/charm-nova-compute/
|
||||
.. _octavia: https://opendev.org/openstack/charm-octavia/
|
||||
.. _octavia-dashboard: https://opendev.org/openstack/charm-octavia-dashboard/
|
||||
.. _octavia-diskimage-retrofit: https://opendev.org/openstack/charm-octavia-diskimage-retrofit/
|
||||
.. _openstack-dashboard: https://opendev.org/openstack/charm-openstack-dashboard/
|
||||
.. _placement: https://opendev.org/openstack/charm-placement
|
||||
.. _swift-proxy: https://opendev.org/openstack/charm-swift-proxy/
|
||||
.. _swift-storage: https://opendev.org/openstack/charm-swift-storage/
|
||||
|
||||
.. _ceph-fs: https://opendev.org/openstack/charm-ceph-fs/
|
||||
.. _ceph-iscsi: https://opendev.org/openstack/charm-ceph-iscsi/
|
||||
.. _ceph-mon: https://opendev.org/openstack/charm-ceph-mon/
|
||||
.. _ceph-osd: https://opendev.org/openstack/charm-ceph-osd/
|
||||
.. _ceph-proxy: https://opendev.org/openstack/charm-ceph-proxy/
|
||||
.. _ceph-radosgw: https://opendev.org/openstack/charm-ceph-radosgw/
|
||||
.. _ceph-rbd-mirror: https://opendev.org/openstack/charm-ceph-rbd-mirror/
|
||||
.. _cinder-purestorage: https://opendev.org/openstack/charm-cinder-purestorage/
|
||||
.. _designate-bind: https://opendev.org/openstack/charm-designate-bind/
|
||||
.. _glance-simplestreams-sync: https://opendev.org/openstack/charm-glance-simplestreams-sync/
|
||||
.. _gnocchi: https://opendev.org/openstack/charm-gnocchi/
|
||||
.. _hacluster: https://opendev.org/openstack/charm-hacluster/
|
||||
.. _ovn-central: https://opendev.org/x/charm-ovn-central
|
||||
.. _ovn-chassis: https://opendev.org/x/charm-ovn-chassis
|
||||
.. _ovn-dedicated-chassis: https://opendev.org/x/charm-ovn-dedicated-chassis
|
||||
.. _pacemaker-remote: https://opendev.org/openstack/charm-pacemaker-remote/
|
||||
.. _percona-cluster: https://opendev.org/openstack/charm-percona-cluster/
|
||||
.. _rabbitmq-server: https://opendev.org/openstack/charm-rabbitmq-server/
|
||||
.. _trilio-data-mover: https://opendev.org/openstack/charm-trilio-data-mover/
|
||||
.. _trilio-dm-api: https://opendev.org/openstack/charm-trilio-dm-api/
|
||||
.. _trilio-horizon-plugin: https://opendev.org/openstack/charm-trilio-horizon-plugin/
|
||||
.. _trilio-wlm: https://opendev.org/openstack/charm-trilio-wlm/
|
||||
.. _vault: https://opendev.org/openstack/charm-vault/
|
||||
|
||||
.. _manila-generic: https://opendev.org/openstack/charm-manila-generic/
|
||||
|
|
Loading…
Reference in New Issue