[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
#. Next we need to expand galera/rabbitmq clusters, which is done during
``setup-infrastructure.yml``. So we will run this playbook without limits.
.. 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
# ansible -m debug -a "var=groups['galera_all'][0]" localhost
# ansible -m debug -a "var=groups['rabbitmq_all'][0]" localhost
# ansible -m debug -a "var=groups['repo_all'][0]" localhost
#. Create the ``/root/add_host.limit`` file, which contains all new node
host names and their containers. Add **localhost** to the list of
hosts to be able to access deployment host facts.
.. code:: console .. code:: console
localhost # openstack-ansible playbooks/setup-infrastructure.yml -e galera_force_bootstrap=true
NEW_infra<node-ID>
NEW_infra<node-ID2>
NEW_infra<node-ID>_containers
NEW_infra<node-ID2>_containers
#. Run the ``setup-everything.yml`` playbook with the #. Once infrastructure playboks are done, it's turn of openstack services to be
``limit`` argument. 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 .. code:: console
# openstack-ansible setup-everything.yml --limit @/root/add_host.limit # 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