kolla-ansible/ansible/roles/rabbitmq/tasks/bootstrap.yml
Michal (inc0) Jastrzebski d2f828a134 Add check if all the hostnames are resolvable
Rabbitmq can't work with IPs, so we need to make sure that all
rabbit cluster hosts can resolve each others hostnames. We
should also require that in docs.

DocImpact
Closes-Bug: #1559158

Change-Id: I2418187138988d21da3dc3624e9cdbda891d4894
2016-03-19 04:24:41 +00:00

37 lines
1.2 KiB
YAML

---
- name: Check if all rabbit hostnames are resolvable
command: "getent hosts {{ hostvars[item]['ansible_hostname'] }}"
changed_when: false
register: rabbitmq_hostnames
with_items: groups['rabbitmq']
- fail: msg="Hostname has to resolve to IP address of api_interface"
with_items: rabbitmq_hostnames.results
when: "{% set ip=item.stdout.split(' ')[0] %}'{{ hostvars[item['item']]['ansible_' + hostvars[item['item']]['api_interface']]['ipv4']['address'] }}' != '{{ ip }}'"
- name: Creating rabbitmq volume
kolla_docker:
action: "create_volume"
common_options: "{{ docker_common_options }}"
name: "rabbitmq"
register: rabbitmq_volume
- name: Running RabbitMQ bootstrap container
kolla_docker:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
RABBITMQ_CLUSTER_COOKIE: "{{ rabbitmq_cluster_cookie }}"
image: "{{ rabbitmq_image_full }}"
labels:
BOOTSTRAP:
name: "rabbitmq_bootstrap"
restart_policy: "never"
volumes:
- "{{ node_config_directory }}/rabbitmq/:{{ container_config_directory }}/:ro"
- "rabbitmq:/var/lib/rabbitmq/"
when: rabbitmq_volume | changed