Как правильно удалить ранее развернутую службу из kolla-ansible

#ansible #openstack

#ansible #openstack

Вопрос:

У меня есть недавно развернутая kolla-ansible stable / victoria с несколькими службами, которые я хотел попробовать, но которые мне больше не нужны (назначить, octavia и т. Д.) Каков «правильный» способ удаления этих служб? Я попытался:

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

В каждом случае у меня остаются все еще работающие контейнеры, оставшиеся артефакты конфигурации (/etc/kolla/.*.conf ) и конфигурационные файлы haproxy.

Ответ №1:

Я знаю, что прошло некоторое время с тех пор, как вы опубликовали этот вопрос, но недавно у меня была такая же проблема, и я нигде не нашел документации об этом.

Причина, по которой перенастройка и развертывание ничего не делают, даже если вы установили enable_<service> значение no, заключается в том, что сборники воспроизведения Ansible запускают задачи, связанные с данной службой, только в том случае, если ее соответствующее значение enable равно true. Если вы посмотрите на выходные данные ваших команд, выполняемых с --tags помощью, вы увидите, что Ansible на самом деле ничего не делает в отношении вашей отключенной службы.

Поскольку Kolla-Ansible развертывает все с помощью контейнеров, я обнаружил, что большинство служб можно просто удалить, выполнив следующие действия:

  • Остановите и удалите все контейнеры, в которых запущена удаляемая служба
  • Удалите тома этих контейнеров
  • Удалите файлы конфигурации и журнала (в /etc/kolla и /var/log/kolla соответственно)
  • Удалите базы данных, используемые удаляемой службой
  • Вы можете удалить файлы конфигурации HAProxy для каждой удаляемой службы.

Я знаю, что это, возможно, не соответствует духу автоматизации управления Openstack с помощью Ansible, но я делал это несколько раз без особых проблем. Я бы не стал удалять основные службы, такие как Keystone, Neutron, Nova, Mariadb или Rabbitmq, потому что, если вы это делаете, вы в любом случае уничтожаете все свое развертывание Openstack.

Вы можете запустить сценарии cleanup-host и cleanup-containers на хостах, на которых запущены ваши контейнеры, но они удаляют все, что связано с Kolla-Ansible. Если вы хотите удалить определенную службу, вы можете изменить эти сценарии. Я знаю, что некоторые службы, такие как Nova, Neutron, Openvswitch и Zun, также перенастраивают хост для работы в сети, но я не смог найти надежный способ отменить эти изменения, и cleanup-host / cleanup-containers также не обращаются к ним. Если вы остановите и удалите контейнеры openvswitch, интерфейсы Openvswitch исчезнут при следующей перезагрузке хоста, и это может быть жизнеспособным методом и для вас. Помните, что Kolla-Ansible постоянно загружает модуль ядра openvswitch, так что это еще что-то, что вы, возможно, захотите удалить.

Ответ №2:

Недавно я также боролся с таким сценарием, и я нашел только эти:

https://bugs .launchpad.net/kolla-ansible / ошибка/1874044

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

К сожалению, похоже, что работа уже началась некоторое время назад, но большого прогресса пока не достигнуто.