-----Original Message----- From: Mark Goddard <mark@stackhpc.com> Sent: Monday, August 24, 2020 11:21 AM To: Tony Liu <tonyliu0592@hotmail.com> Cc: Eric K. Miller <emiller@genesishosting.com>; openstack-discuss <openstack-discuss@lists.openstack.org> Subject: Re: [Kolla Ansible] host maintenance
On Mon, 24 Aug 2020 at 17:53, Tony Liu <tonyliu0592@hotmail.com> wrote:
-----Original Message----- From: Mark Goddard <mark@stackhpc.com> Sent: Monday, August 24, 2020 12:46 AM To: Eric K. Miller <emiller@genesishosting.com> Cc: openstack-discuss <openstack-discuss@lists.openstack.org> Subject: Re: [Kolla Ansible] host maintenance
On Sat, 22 Aug 2020 at 01:10, Eric K. Miller <emiller@genesishosting.com> wrote:
Actually, in my case, the setup is originally deploy by Kolla Ansible. Other than the initial deployment, I am looking for using Kolla Ansible for maintenance operations. What I am looking for, eg. replace a host, can surely be done by manual steps or customized script. I'd like to know if they are automated by Kolla Ansible.
We do this often by simply using the "limit" flag in Kolla Ansible to
only include the controllers and new compute node (after adding the compute node to the multinode.ini file). Specify "reconfigure" for the action, and not "install".
We need some better docs around this, and I think they will be added soon. Some things to watch out for:
* if adding a new controller, ensure that if using --limit, all controllers are included and do not use serial mode
What I tried was to replace a controller, where I don't need to update other controllers, because there is no address update.
If there is address update caused by controller change, then all controllers have to be included to get update.
While this may work at the moment, we have just merged a change that prevents this. For keystone, we need access to all controllers, to determine whether it is a new cluster or a new node in an existing cluster.
What's "serial mode"?
Ansible has a feature to run plays in batches of some % of the hosts. In Kolla Ansible you can e.g. export ANSIBLE_SERIAL=0.1. It's an advanced use case and needs some care.
* if removing a controller, reconfigure other controllers to update the RabbitMQ & Galera cluster nodes etc.
In this case, are those services who don't need any updates going to be restarted or untouched?
Could you comment on this? This is my biggest concern. I'd like to ensure services who don't need update remain untouched. Thanks! Tony