kolla-ansible/ansible/roles/service-stop/tasks/main.yml
Mark Goddard 89df07e8ef Fix kolla-ansible stop with heterogeneous hosts
The 'kolla-ansible stop' command can be used to stop the services
running on hosts. However, if you run this command in an environment
with heterogeneous nodes (most real world scenarios have at least
control/compute), then it fails. This is because it only checks
whether a container is enabled, and not whether the host is in the
correct group. For example, it fails with nova-libvirt:

    No such container: nova_libvirt to stop.

This change fixes the issue by only attempting to stop containers on
hosts to which they are mapped.

Change-Id: Ibecac60d1417269bbe25a280996ca9de6e6d018f
Closes-Bug: #1868596
2020-03-23 17:21:53 +00:00

13 lines
392 B
YAML

---
- name: "Stopping {{ service_name }} containers"
vars:
service: "{{ item.value }}"
become: true
kolla_docker:
action: "stop_container"
common_options: "{{ docker_common_options }}"
name: "{{ service.container_name }}"
when:
- service.container_name not in skip_stop_containers
with_dict: "{{ project_services | select_services_enabled_and_mapped_to_host }}"