[Kolla Ansible] host maintenance

Mark Goddard mark at stackhpc.com
Tue Aug 25 07:55:08 UTC 2020


On Mon, 24 Aug 2020 at 19:50, Tony Liu <tonyliu0592 at hotmail.com> wrote:
>
> > -----Original Message-----
> > From: Mark Goddard <mark at stackhpc.com>
> > Sent: Monday, August 24, 2020 11:21 AM
> > To: Tony Liu <tonyliu0592 at hotmail.com>
> > Cc: Eric K. Miller <emiller at genesishosting.com>; openstack-discuss
> > <openstack-discuss at lists.openstack.org>
> > Subject: Re: [Kolla Ansible] host maintenance
> >
> > On Mon, 24 Aug 2020 at 17:53, Tony Liu <tonyliu0592 at hotmail.com> wrote:
> > >
> > > > -----Original Message-----
> > > > From: Mark Goddard <mark at stackhpc.com>
> > > > Sent: Monday, August 24, 2020 12:46 AM
> > > > To: Eric K. Miller <emiller at genesishosting.com>
> > > > Cc: openstack-discuss <openstack-discuss at lists.openstack.org>
> > > > Subject: Re: [Kolla Ansible] host maintenance
> > > >
> > > > On Sat, 22 Aug 2020 at 01:10, Eric K. Miller
> > > > <emiller at 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.

In general, Kolla Ansible will only restart containers if the config
files or container configuration changes. There is a bug in Ansible
which means that this isn't always true, e.g. if nova-api needs to
restart, we may also restart nova-conductor on the same host. See
https://bugs.launchpad.net/kolla-ansible/+bug/1863510

>
> Thanks!
> Tony
>



More information about the openstack-discuss mailing list