简体   繁体   中英

What is the proper way to remove a previously deployed service from kolla-ansible

I have a recently deployed kolla-ansible stable/victoria with several services I wanted to try but no longer need (designate, octavia, etc.) What is the "right" way to remove these services? I have attempted:

  • kolla-ansible -i multinode reconfigure --tags <services>
  • kolla-ansible -i multinode reconfigure --tags common,haproxy,<services>
  • kolla-ansible -i multinode deploy --tags <services>

In each case I'm left with still-running containers, leftover configuration artifacts (/etc/kolla/.*.conf) and haproxy config files.

I know it's been a while since you posted this question, but I recently had the same problem and haven't found documentation about this anywhere.

The reason why reconfigure and deploy don't do anything even if you set enable_<service> to no is because the Ansible playbooks only run tasks involving a given service if its corresponding enable is true. If you look at the output of your commands run with --tags , you'd see that Ansible isn't really doing anything with regards to your disabled service.

Since Kolla-Ansible deploys everything with containers, I've found most services can simply be removed by doing the following:

  • Stop and delete all the containers running the service to be removed
  • Delete those containers' volumes
  • Remove the configuration and log files (under /etc/kolla and /var/log/kolla respectively)
  • Remove databases used by the service you're deleting
  • You can remove the HAproxy config files for each service you're removing.

I know this is perhaps not in the spirit of automating the Openstack management with Ansible, but I've done this a few times without too many problems. I would avoid removing core services like Keystone, Neutron, Nova, Mariadb or Rabbitmq though because if you're doing that you're destroying your entire Openstack deployment anyways.

You can run the cleanup-host and cleanup-containers scripts on hosts running your containers, but those remove everything related to Kolla-Ansible. If you want to remove a specific service, you could modify those scripts though. I'm aware certain services like Nova, Neutron, Openvswitch and Zun reconfigure the host too for networking but I haven't been able to find a reliable way to revert those changes, and cleanup-host/cleanup-containers don't address those either. If you stop and delete the openvswitch containers, Openvswitch's interfaces go away on the next host reboot and that may be a viable method for you too. Remember Kolla-Ansible loads the openvswitch kernel module persistently so that's something else you may want to remove as well.

I was also struggling with such scenario recently and I've found just these:

https://bugs.launchpad.net/kolla-ansible/+bug/1874044

https://review.opendev.org/c/openstack/kolla-ansible/+/504592

Unfortunately, seems like a work already started some time ago, but no big progress has been done yet.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM