Files
kolla-ansible/ansible/roles/rabbitmq/tasks/bootstrap.yml
Vladislav Belogrudov 7f81dbc85b Check exit status of bootstrap containers
Currently bootstrap containers are waited to exit but are not
checked for exit status and ansible runs further tasks. If
bootstrapping fails we notice it at much later time.

Change-Id: I137fc11b0f9d1f03d2ded08a213e8dbd62741f92
Closes-Bug: #1492337
2015-09-04 19:47:54 +03:00

63 lines
2.0 KiB
YAML

---
# TODO(SamYaple): Improve check with a custom docker module to check if alive
- name: Checking if a rabbitmq_data exists
command: docker exec rabbitmq_data stat /var/lib/rabbitmq/.erlang.cookie
register: exists
changed_when: False
failed_when: False
always_run: True
- name: Starting RabbitMQ data container
docker:
docker_api_version: "{{ docker_api_version }}"
net: host
pull: "{{ docker_pull_policy }}"
restart_policy: "{{ docker_restart_policy }}"
restart_policy_retry: "{{ docker_restart_policy_retry }}"
state: reloaded
registry: "{{ docker_registry }}"
username: "{{ docker_registry_username }}"
password: "{{ docker_registry_password }}"
insecure_registry: "{{ docker_insecure_registry }}"
name: rabbitmq_data
image: "{{ rabbitmq_data_image_full }}"
volumes: "/var/lib/rabbitmq/"
- name: Starting RabbitMQ bootstrap container
docker:
docker_api_version: "{{ docker_api_version }}"
net: host
pull: "{{ docker_pull_policy }}"
restart_policy: "no"
restart_policy_retry: "{{ docker_restart_policy_retry }}"
state: reloaded
registry: "{{ docker_registry }}"
username: "{{ docker_registry_username }}"
password: "{{ docker_registry_password }}"
insecure_registry: "{{ docker_insecure_registry }}"
name: rabbitmq_bootstrap
image: "{{ rabbitmq_image_full }}"
volumes: "{{ node_config_directory }}/rabbitmq/:/opt/kolla/rabbitmq/:ro"
volumes_from:
- "rabbitmq_data"
env:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
RABBITMQ_CLUSTER_COOKIE: "{{ rabbitmq_cluster_cookie }}"
when: exists.rc != 0
- name: Waiting for bootstrap container
command: docker wait rabbitmq_bootstrap
register: bootstrap_result
when: exists.rc != 0
- name: Checking for bootstrap failures
fail: msg="Bootstrapping failed"
when: bootstrap_result|changed and bootstrap_result.stdout != "0"
- name: Cleaning up bootstrap container
docker:
image: "{{ rabbitmq_image_full }}"
name: "rabbitmq_bootstrap"
state: "absent"