[doc] Update infra node scaling documentation

Closes-Bug: #1944046
Closes-Bug: #1944048
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/822911
Change-Id: I78afbc0c8a9897d2e761ebde2fcf584ec1c0ac2c
This commit is contained in:
Dmitriy Rabotyagov 2021-12-24 17:06:28 +02:00 committed by Dmitriy Rabotyagov
parent c46383fc9f
commit bba3b6ab66

View File

@ -24,42 +24,50 @@ needed in an environment, it is possible to create additional nodes.
infra_hosts: infra_hosts:
[...] [...]
NEW_infra<node-ID>: infra<node-ID>:
ip: 10.17.136.32 ip: 10.17.136.32
NEW_infra<node-ID2>:
ip: 10.17.136.33
#. Change to playbook folder on the deployment host. #. Change to playbook folder on the deployment host.
.. code:: console .. code:: console
# cd /opt/openstack-ansible/playbooks # cd /opt/openstack-ansible
#. Update the inventory to add new hosts. Make sure new rsyslog #. To prepare new hosts and deploy containers on them run ``setup-hosts.yml``
container names are updated. Send the updated results to ``dev/null``. playbook with the ``limit`` argument.
.. code:: console .. code:: console
# /opt/openstack-ansible/inventory/dynamic_inventory.py > /dev/null # openstack-ansible playbooks/setup-hosts.yml --limit localhost,infra<node-ID>,infra<node-ID>-host_containers
#. Create the ``/root/add_host.limit`` file, which contains all new node #. Next we need to expand galera/rabbitmq clusters, which is done during
host names and their containers. Add **localhost** to the list of ``setup-infrastructure.yml``. So we will run this playbook without limits.
hosts to be able to access deployment host facts.
.. warning::
Make sure that containers from new infra host *does not* appear in inventory
as first one for groups ``galera_all``, ``rabbitmq_all`` and ``repo_all``.
You can varify that with ad-hoc commands:
.. code:: console .. code:: console
localhost # ansible -m debug -a "var=groups['galera_all'][0]" localhost
NEW_infra<node-ID> # ansible -m debug -a "var=groups['rabbitmq_all'][0]" localhost
NEW_infra<node-ID2> # ansible -m debug -a "var=groups['repo_all'][0]" localhost
NEW_infra<node-ID>_containers
NEW_infra<node-ID2>_containers
#. Run the ``setup-everything.yml`` playbook with the
``limit`` argument.
.. code:: console .. code:: console
# openstack-ansible setup-everything.yml --limit @/root/add_host.limit # openstack-ansible playbooks/setup-infrastructure.yml -e galera_force_bootstrap=true
#. Once infrastructure playboks are done, it's turn of openstack services to be
deployed. Most of the services are fine to be ran with limits, but some,
like keystone, are not. So we run keystone playbook separately from all others:
.. code:: console
# openstack-ansible playbooks/os-keystone-install.yml
# openstack-ansible playbooks/setup-openstack.yml --limit '!keystone_all',localhost,infra<node-ID>,infra<node-ID>-host_containers
Test new infra nodes Test new infra nodes