Skip to content

Commit 1e7fdb6

Browse files
linpeiwekeuko
authored andcommitted
Use Docker healthchecks for rabbitmq services
This change enables the use of Docker healthchecks for rabbitmq services. Implements: blueprint container-health-check Depends-On: https://review.opendev.org/c/openstack/kolla/+/784562 Change-Id: I23a2c2efab858b9ed39c6ce0ec4a82df10e7f93d (cherry picked from commit 1ddef85)
1 parent e879cfe commit 1e7fdb6

File tree

4 files changed

+22
-0
lines changed

4 files changed

+22
-0
lines changed

ansible/roles/rabbitmq/defaults/main.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ rabbitmq_services:
1818
RABBITMQ_LOG_DIR: "/var/log/kolla/{{ project_name }}"
1919
volumes: "{{ rabbitmq_default_volumes + rabbitmq_extra_volumes }}"
2020
dimensions: "{{ rabbitmq_dimensions }}"
21+
healthcheck: "{{ rabbitmq_healthcheck }}"
2122
haproxy:
2223
rabbitmq_management:
2324
enabled: "{{ enable_rabbitmq }}"
@@ -56,6 +57,19 @@ rabbitmq_tag: "{{ openstack_tag }}"
5657
rabbitmq_image_full: "{{ rabbitmq_image }}:{{ rabbitmq_tag }}"
5758
rabbitmq_dimensions: "{{ default_container_dimensions }}"
5859

60+
rabbitmq_enable_healthchecks: "{{ enable_container_healthchecks }}"
61+
rabbitmq_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
62+
rabbitmq_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
63+
rabbitmq_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
64+
rabbitmq_healthcheck_test: ["CMD-SHELL", "healthcheck_rabbitmq"]
65+
rabbitmq_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
66+
rabbitmq_healthcheck:
67+
interval: "{{ rabbitmq_healthcheck_interval }}"
68+
retries: "{{ rabbitmq_healthcheck_retries }}"
69+
start_period: "{{ rabbitmq_healthcheck_start_period }}"
70+
test: "{% if rabbitmq_enable_healthchecks | bool %}{{ rabbitmq_healthcheck_test }}{% else %}NONE{% endif %}"
71+
timeout: "{{ rabbitmq_healthcheck_timeout }}"
72+
5973
rabbitmq_default_volumes:
6074
- "{{ node_config_directory }}/{{ project_name }}/:{{ container_config_directory }}/:ro"
6175
- "/etc/localtime:/etc/localtime:ro"

ansible/roles/rabbitmq/tasks/check-containers.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
volumes: "{{ item.value.volumes }}"
1010
environment: "{{ item.value.environment }}"
1111
dimensions: "{{ item.value.dimensions }}"
12+
healthcheck: "{{ item.value.healthcheck | default(omit) }}"
1213
when:
1314
- inventory_hostname in groups[item.value.group]
1415
- item.value.enabled | bool

ansible/roles/rabbitmq/tasks/restart_services.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
volumes: "{{ service.volumes }}"
1313
environment: "{{ service.environment }}"
1414
dimensions: "{{ service.dimensions }}"
15+
healthcheck: "{{ service.healthcheck | default(omit) }}"
1516

1617
- name: Waiting for rabbitmq to start
1718
vars:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
features:
3+
- |
4+
Implements container healthchecks for rabbitmq services.
5+
See `blueprint
6+
<https://blueprints.launchpad.net/kolla-ansible/+spec/container-health-check>`__

0 commit comments

Comments
 (0)