Refactor that prepares kolla_container_facts module for introducing more actions that will be moved from kolla_container module and kolla_container_volume_facts. This change is based on a discussion about adding a new action to kolla_container module that retrieves all names of the running containers. It was agreed that kolla-ansible should follow Ansible's direction of splitting modules between action modules and facts modules. Because of this, kolla_container_facts needs to be able to handle different requests for data about containers or volumes. Change-Id: Ieaec8f64922e4e5a2199db2d6983518b124cb4aa Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
---
|
|
- name: Get info on RabbitMQ container
|
|
become: True
|
|
kolla_container_facts:
|
|
action: get_containers
|
|
container_engine: "{{ kolla_container_engine }}"
|
|
name: "rabbitmq"
|
|
register: container_info
|
|
|
|
- name: Put RabbitMQ node into maintenance mode
|
|
kolla_toolbox:
|
|
container_engine: "{{ kolla_container_engine }}"
|
|
module_name: "community.rabbitmq.rabbitmq_upgrade"
|
|
module_args:
|
|
action: "drain"
|
|
user: root
|
|
become: true
|
|
when: container_info._containers | length > 0
|
|
|
|
- name: Restart rabbitmq container
|
|
vars:
|
|
service_name: "rabbitmq"
|
|
service: "{{ rabbitmq_services[service_name] }}"
|
|
become: true
|
|
kolla_container:
|
|
action: "recreate_or_restart_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ service.container_name }}"
|
|
image: "{{ service.image }}"
|
|
volumes: "{{ service.volumes }}"
|
|
environment: "{{ service.environment }}"
|
|
dimensions: "{{ service.dimensions }}"
|
|
healthcheck: "{{ service.healthcheck | default(omit) }}"
|
|
|
|
- name: Waiting for rabbitmq to start
|
|
vars:
|
|
service_name: "rabbitmq"
|
|
service: "{{ rabbitmq_services[service_name] }}"
|
|
become: true
|
|
command: "{{ kolla_container_engine }} exec {{ service.container_name }} rabbitmqctl wait --timeout 60 {{ rabbitmq_pid_file }}"
|