]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
mon: add support for monitor_address block for containers 1884/head
authorSébastien Han <seb@redhat.com>
Tue, 12 Sep 2017 22:28:08 +0000 (16:28 -0600)
committerSébastien Han <seb@redhat.com>
Tue, 12 Sep 2017 22:28:08 +0000 (16:28 -0600)
Signed-off-by: Sébastien Han <seb@redhat.com>
roles/ceph-mon/templates/ceph-mon.service.j2

index 490d5973cda3d92a383a445c40f3d64926c56c08..dc2169a5f31c0435e4ecbd8b68184dab2400dc63 100644 (file)
@@ -29,17 +29,27 @@ ExecStart=/usr/bin/docker run --rm --name ceph-mon-%i --net=host \
   --net=host \
   {% endif -%}
   -e IP_VERSION={{ ip_version[-1:] }} \
-  {% if monitor_address is defined and monitor_address != '0.0.0.0' %}
+  {% if monitor_address_block | length > 0 %}
     {% if ip_version == 'ipv4' -%}
-      -e MON_IP={{ monitor_address }} \
+  -e MON_IP={{ hostvars[inventory_hostname]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }} \
     {% elif ip_version == 'ipv6' -%}
-      -e MON_IP=[{{ monitor_address }}] \
+  -e MON_IP=[{{ hostvars[inventory_hostname]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }}] \
     {% endif -%}
-  {% elif ip_version == 'ipv4' -%}
-  -e MON_IP={{ hostvars[inventory_hostname]['ansible_' + monitor_interface][ip_version]['address'] }} \
-  {% elif ip_version =='ipv6' -%}
-  -e MON_IP=[{{ hostvars[inventory_hostname]['ansible_' + monitor_interface][ip_version][0]['address'] }}] \
+  {% elif hostvars[inventory_hostname]['monitor_address'] is defined and hostvars[inventory_hostname]['monitor_address'] != '0.0.0.0' -%}
+    {% if ip_version == 'ipv4' -%}
+  -e MON_IP={{ hostvars[inventory_hostname]['monitor_address'] }} \
+    {% elif ip_version == 'ipv6' -%}
+  -e MON_IP=[{{ hostvars[inventory_hostname]['monitor_address'] }}] \
+    {% endif -%}
+  {% else -%}
+    {% set interface = ["ansible_",monitor_interface]|join %}
+      {% if ip_version == 'ipv6' -%}
+  -e MON_IP=[{{ hostvars[inventory_hostname][interface][ip_version][0]['address'] }}] \
+      {% elif ip_version == 'ipv4' -%}
+  -e MON_IP={{ hostvars[inventory_hostname][interface][ip_version]['address'] }} \
+      {% endif -%}
   {% endif -%}
+
   -e CLUSTER={{ cluster }} \
   -e FSID={{ fsid }} \
   -e CEPH_PUBLIC_NETWORK={{ public_network }} \