Update etcd docs and reno

Just some minor formatting and wording updates

Change-Id: Ia42944512f8d14a1993bd4ae3d09f0f2ab431322
This commit is contained in:
Dr. Jens Harbott 2023-11-28 15:18:16 +01:00 committed by Jan Gutter
parent e971d0c795
commit 8e7a67bfd7
No known key found for this signature in database
GPG Key ID: 13F79FC15EC1117C
3 changed files with 29 additions and 25 deletions

View File

@ -7,8 +7,8 @@ Managing etcd
Kolla Ansible can manage the lifecycle of an etcd cluster and supports the Kolla Ansible can manage the lifecycle of an etcd cluster and supports the
following operations: following operations:
* Bootstrapping a clean multi-node etcd cluster * Bootstrapping a clean multi-node etcd cluster.
* Adding a new member to the etcd cluster * Adding a new member to the etcd cluster.
* Optionally, automatically removing a deleted node from the etcd cluster. * Optionally, automatically removing a deleted node from the etcd cluster.
It is highly recommended to read the operator documentation for the version It is highly recommended to read the operator documentation for the version
@ -22,17 +22,17 @@ of etcd deployed in the cluster.
This pattern is very different from many other Kolla Ansible services, and This pattern is very different from many other Kolla Ansible services, and
is a source of confusion for operators unfamiliar with etcd. is a source of confusion for operators unfamiliar with etcd.
Cluster vs Node Bootstrapping Cluster vs. Node Bootstrapping
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kolla Ansible distinguishes between two forms of bootstrapping in an etcd Kolla Ansible distinguishes between two forms of bootstrapping in an etcd
cluster: cluster:
* Bootstrapping multiple nodes at the same time to bring up a new cluster * Bootstrapping multiple nodes at the same time to bring up a new cluster.
* Bootstrapping a single node to add it to an existing cluster * Bootstrapping a single node to add it to an existing cluster.
These corresponds to the `new` and `existing` parameters for These corresponds to the ``new`` and ``existing`` parameters for
`ETCD_INITIAL_CLUSTER_STATE` in the upstream documentation. Once an etcd node ``ETCD_INITIAL_CLUSTER_STATE`` in the upstream documentation. Once an etcd node
has completed bootstrap, the bootstrap configuration is ignored, even if it is has completed bootstrap, the bootstrap configuration is ignored, even if it is
changed. changed.
@ -43,12 +43,12 @@ a healthy etcd cluster and it will add a new node to it.
Forcing Bootstrapping Forcing Bootstrapping
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
Kolla Ansible looks for the `kolla_etcd` volume on the node. If this volume Kolla Ansible looks for the ``kolla_etcd`` volume on the node. If this volume
is available, it assumes that the bootstrap process has run on the node and is available, it assumes that the bootstrap process has run on the node and
the volume contains the required config. the volume contains the required config.
However, if the process was interrupted (externally, or by an error), this However, if the process was interrupted (externally, or by an error), this
volume might be misconfigured. In order to prevent dataloss, manual volume might be misconfigured. In order to prevent data loss, manual
intervention is required. intervention is required.
Before retriggering bootstrap make sure that there is no valuable data on the Before retriggering bootstrap make sure that there is no valuable data on the
@ -56,9 +56,11 @@ volume. This could be because the node was not in service, or that the data
is persisted elsewhere. is persisted elsewhere.
To retrigger a bootstrap (for either the cluster, or for a single node), To retrigger a bootstrap (for either the cluster, or for a single node),
remove the volume, from all affected nodes: remove the volume from all affected nodes by running:
``docker volume rm kolla_etcd`` .. code-block:: console
docker volume rm kolla_etcd
Rerunning Kolla Ansible will then trigger the appropriate workflow and either Rerunning Kolla Ansible will then trigger the appropriate workflow and either
a blank cluster will be bootstrapped, or an empty member will be added to a blank cluster will be bootstrapped, or an empty member will be added to
@ -68,10 +70,11 @@ Manual Commands
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
In order to manage etcd manually, the ``etcdctl`` command can be used inside In order to manage etcd manually, the ``etcdctl`` command can be used inside
the `etcd` container. This command has been set up with the appropriate the ``etcd`` container. This command has been set up with the appropriate
environment variables for integrating with automation. environment variables for integrating with automation.
``etcdctl`` is configured with json output by default: ``etcdctl`` is configured with json output by default, you can override that
if you are running it yourself:
.. code-block:: console .. code-block:: console

View File

@ -171,16 +171,16 @@ For each host, clean up its services:
openstack compute service delete --os-compute-api-version 2.53 $id openstack compute service delete --os-compute-api-version 2.53 $id
done done
.. _removing-existing-compute-nodes: If the node is also running the ``etcd`` service, set
``etcd_remove_deleted_members: "yes"`` in ``globals.yml`` to automatically
remove nodes from the ``etcd`` cluster that have been removed from the inventory.
If the node is also running the `etcd` service, set Alternatively the ``etcd`` members can be removed manually with ``etcdctl``.
``etcd_remove_deleted_members: "yes"`` in `globals.yml` to automatically For more details, please consult the ``runtime reconfiguration`` documentation
remove nodes from the `etcd` cluster that have been removed from the inventory.
Alternatively the `etcd` members can be removed manually with `etcdctl`. For
more details, please consult the `runtime reconfiguration` documentation
section for the version of etcd in operation. section for the version of etcd in operation.
.. _removing-existing-compute-nodes:
Removing existing compute nodes Removing existing compute nodes
------------------------------- -------------------------------

View File

@ -1,11 +1,12 @@
--- ---
fixes: fixes:
- | - |
The `etcd` tooling has been updated to better serialize restarts when The ``etcd`` tooling has been updated to better serialize restarts when
applying configuration or updates. Previously minor outages might occur applying configuration or updates. Previously minor outages might have
since all services were restarted in the same task. occurred since all services were restarted in the same task.
features:
- | - |
The `etcd` tooling has been updated to handle adding and removing nodes. The ``etcd`` tooling has been updated to handle adding and removing nodes.
Previously this was an undocumented manual process and required creating Previously this was an undocumented manual process and required creating
service containers. Operators can refer to the service containers. Operators can refer to the
`etcd admin guide <https://docs.openstack.org/kolla-ansible/latest/admin/etcd.html>`__ `etcd admin guide <https://docs.openstack.org/kolla-ansible/latest/admin/etcd.html>`__