RabbitMQ handler refactored to restart services in serial
Adapted for Ussuri and below due to no RMQ TLS (different notifies).
Change-Id: I1ff4cbdf3f60cb7fd5fe5d3c5d498e05fe2df79a
Closes-Bug: #1904702
(cherry picked from commit 4cc4ba59da
)
This commit is contained in:
parent
f5996ffaf9
commit
aa3fa8d828
|
@ -1,45 +1,10 @@
|
||||||
---
|
---
|
||||||
- name: Restart rabbitmq container (first node)
|
- name: Restart rabbitmq container
|
||||||
vars:
|
vars:
|
||||||
service_name: "rabbitmq"
|
service_name: "rabbitmq"
|
||||||
service: "{{ rabbitmq_services[service_name] }}"
|
service: "{{ rabbitmq_services[service_name] }}"
|
||||||
become: true
|
include_tasks: 'restart_services.yml'
|
||||||
kolla_docker:
|
|
||||||
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 }}"
|
|
||||||
when:
|
when:
|
||||||
- kolla_action != "config"
|
- kolla_action != "config"
|
||||||
- inventory_hostname == groups[service.group]|first
|
- inventory_hostname == item
|
||||||
notify:
|
loop: "{{ groups[service.group] }}"
|
||||||
- Waiting for rabbitmq to start on first node
|
|
||||||
|
|
||||||
- name: Waiting for rabbitmq to start on first node
|
|
||||||
vars:
|
|
||||||
service_name: "rabbitmq"
|
|
||||||
service: "{{ rabbitmq_services[service_name] }}"
|
|
||||||
become: true
|
|
||||||
command: "docker exec {{ service.container_name }} rabbitmqctl wait {{ rabbitmq_pid_file }}"
|
|
||||||
when:
|
|
||||||
- inventory_hostname == groups[service.group]|first
|
|
||||||
|
|
||||||
- name: Restart rabbitmq container (rest of nodes)
|
|
||||||
vars:
|
|
||||||
service_name: "rabbitmq"
|
|
||||||
service: "{{ rabbitmq_services[service_name] }}"
|
|
||||||
become: true
|
|
||||||
kolla_docker:
|
|
||||||
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 }}"
|
|
||||||
when:
|
|
||||||
- kolla_action != "config"
|
|
||||||
- inventory_hostname != groups[service.group]|first
|
|
||||||
|
|
|
@ -14,5 +14,4 @@
|
||||||
- item.value.enabled | bool
|
- item.value.enabled | bool
|
||||||
with_dict: "{{ rabbitmq_services }}"
|
with_dict: "{{ rabbitmq_services }}"
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
|
@ -23,8 +23,7 @@
|
||||||
- item.value.enabled | bool
|
- item.value.enabled | bool
|
||||||
with_dict: "{{ rabbitmq_services }}"
|
with_dict: "{{ rabbitmq_services }}"
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
||||||
- name: Copying over rabbitmq-env.conf
|
- name: Copying over rabbitmq-env.conf
|
||||||
become: true
|
become: true
|
||||||
|
@ -42,8 +41,7 @@
|
||||||
- inventory_hostname in groups[service.group]
|
- inventory_hostname in groups[service.group]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
||||||
|
|
||||||
- name: Copying over rabbitmq.conf
|
- name: Copying over rabbitmq.conf
|
||||||
|
@ -62,8 +60,7 @@
|
||||||
- inventory_hostname in groups[service.group]
|
- inventory_hostname in groups[service.group]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
||||||
- name: Copying over erl_inetrc
|
- name: Copying over erl_inetrc
|
||||||
become: true
|
become: true
|
||||||
|
@ -81,8 +78,7 @@
|
||||||
- inventory_hostname in groups[service.group]
|
- inventory_hostname in groups[service.group]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
||||||
- name: Copying over definitions.json
|
- name: Copying over definitions.json
|
||||||
become: true
|
become: true
|
||||||
|
@ -100,5 +96,4 @@
|
||||||
- inventory_hostname in groups[service.group]
|
- inventory_hostname in groups[service.group]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart rabbitmq container (first node)
|
- Restart rabbitmq container
|
||||||
- Restart rabbitmq container (rest of nodes)
|
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
- name: Restart rabbitmq container
|
||||||
|
vars:
|
||||||
|
service_name: "rabbitmq"
|
||||||
|
service: "{{ rabbitmq_services[service_name] }}"
|
||||||
|
become: true
|
||||||
|
kolla_docker:
|
||||||
|
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 }}"
|
||||||
|
|
||||||
|
- name: Waiting for rabbitmq to start
|
||||||
|
vars:
|
||||||
|
service_name: "rabbitmq"
|
||||||
|
service: "{{ rabbitmq_services[service_name] }}"
|
||||||
|
become: true
|
||||||
|
command: "docker exec {{ service.container_name }} rabbitmqctl wait {{ rabbitmq_pid_file }}"
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
RabbitMQ services are now restarted serially to avoid a split brain.
|
||||||
|
`LP#1904702 <https://launchpad.net/bugs/1904702>`__
|
Loading…
Reference in New Issue