]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
config: fix monitor_interface when not passed in the inventory file
authorSébastien Han <seb@redhat.com>
Thu, 2 Nov 2017 13:53:46 +0000 (14:53 +0100)
committerSébastien Han <seb@redhat.com>
Fri, 3 Nov 2017 08:25:02 +0000 (09:25 +0100)
Setting monitor_interface in group_vars/all.yml makes the
hostvars[host]['monitor_interface'] non-existing.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1507922
Signed-off-by: Sébastien Han <seb@redhat.com>
roles/ceph-config/templates/ceph.conf.j2
roles/ceph-mon/templates/ceph-mon.service.j2

index ef90465354b9bc3c5ec37b905471d07ddca8c254..77ac36c1f90c5e590b9184c21a6ad1d70b525020 100644 (file)
@@ -50,11 +50,19 @@ mon host = {% if nb_mon > 0 %}
       {%- elif ip_version == 'ipv6' -%}
         [{{ hostvars[host]['monitor_address'] }}]
       {%- endif %}
+    {%- elif hostvars[host]['monitor_interface'] is defined -%}
+      {% set interface = 'ansible_' + hostvars[host]['monitor_interface'] %}
+      {% if ip_version == 'ipv4' -%}
+        {{ hostvars[host][interface][ip_version]['address'] }}
+      {%- elif ip_version == 'ipv6' -%}
+        [{{ hostvars[host][interface][ip_version][0]['address'] }}]
+      {%- endif %}
     {%- else -%}
+      {% set interface = 'ansible_' + monitor_interface %}
       {% if ip_version == 'ipv4' -%}
-       {{ hostvars[host]['ansible_' + hostvars[host]['monitor_interface']][ip_version]['address'] }}
+        {{ hostvars[host][interface][ip_version]['address'] }}
       {%- elif ip_version == 'ipv6' -%}
-       [{{ hostvars[host]['ansible_' + hostvars[host]['monitor_interface']][ip_version][0]['address'] }}]
+        [{{ hostvars[host][interface][ip_version][0]['address'] }}]
       {%- endif %}
     {%- endif %}
    {% if not loop.last -%},{%- endif %}
@@ -80,13 +88,20 @@ mon host = {% if nb_mon > 0 %}
       {%- elif ip_version == 'ipv6' -%}
         [{{ hostvars[host]['monitor_address'] }}]
       {%- endif %}
-    {%- else -%}
+    {%- elif hostvars[host]['monitor_interface'] is defined -%}
       {% set interface = 'ansible_' + hostvars[host]['monitor_interface'] %}
       {% if ip_version == 'ipv4' -%}
         {{ hostvars[host][interface][ip_version]['address'] }}
       {%- elif ip_version == 'ipv6' -%}
         [{{ hostvars[host][interface][ip_version][0]['address'] }}]
       {%- endif %}
+    {%- else -%}
+      {% set interface = 'ansible_' + monitor_interface %}
+      {% if ip_version == 'ipv4' -%}
+        {{ [interface][ip_version]['address'] }}
+      {%- elif ip_version == 'ipv6' -%}
+        [{{ [interface][ip_version][0]['address'] }}]
+      {%- endif %}
     {%- endif %}
     {% if not loop.last -%},{%- endif %}
   {%- endfor %}
index d7a99e49b2d6ed6b4cc4570792d688f2a89cf000..7da8bb04340c90a06c86529f9fb46b861b436042 100644 (file)
@@ -8,48 +8,54 @@ ExecStartPre=-/usr/bin/docker rm ceph-mon-%i
 ExecStartPre=$(command -v mkdir) -p /etc/ceph /var/lib/ceph/mon
 ExecStart=/usr/bin/docker run --rm --name ceph-mon-%i --net=host \
   --memory={{ ceph_mon_docker_memory_limit }} \
-  {% if docker_version.split('.')[0] | version_compare('13', '>=') -%}
+{% if docker_version.split('.')[0] | version_compare('13', '>=') -%}
   --cpus={{ ceph_mon_docker_cpu_limit }} \
-  {% else -%}
+{% else -%}
   --cpu-quota={{ ceph_mon_docker_cpu_limit * 100000 }} \
-  {% endif -%}
-  {% if not containerized_deployment_with_kv -%}
+{% endif -%}
+{% if not containerized_deployment_with_kv -%}
   -v /var/lib/ceph:/var/lib/ceph \
   -v /etc/ceph:/etc/ceph \
-  {% else -%}
+{% else -%}
   -e KV_TYPE={{kv_type}} \
   -e KV_IP={{kv_endpoint}}\
   -e KV_PORT={{kv_port}} \
-  {% endif -%}
+{% endif -%}
   -v /etc/localtime:/etc/localtime:ro \
-  {% if mon_docker_privileged -%}
+{% if mon_docker_privileged -%}
   --privileged \
-  {% endif -%}
-  {% if mon_docker_net_host -%}
+{% endif -%}
+{% if mon_docker_net_host -%}
   --net=host \
-  {% endif -%}
+{% endif -%}
   -e IP_VERSION={{ ip_version[-1:] }} \
-  {% if monitor_address_block != 'subnet' %}
+{% if monitor_address_block != 'subnet' %}
     {% if ip_version == 'ipv4' -%}
   -e MON_IP={{ hostvars[inventory_hostname]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }} \
     {% elif ip_version == 'ipv6' -%}
   -e MON_IP=[{{ hostvars[inventory_hostname]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }}] \
     {% endif -%}
-  {% elif hostvars[inventory_hostname]['monitor_address'] is defined and hostvars[inventory_hostname]['monitor_address'] != '0.0.0.0' -%}
+{% 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 -%}
+{% elif hostvars[inventory_hostname]['monitor_interface'] is defined %}
     {% set interface = 'ansible_' + hostvars[inventory_hostname]['monitor_interface'] %}
-      {% if ip_version == 'ipv6' -%}
-  -e MON_IP=[{{ hostvars[inventory_hostname][interface][ip_version][0]['address'] }}] \
-      {% elif ip_version == 'ipv4' -%}
+    {% if ip_version == 'ipv4' -%}
   -e MON_IP={{ hostvars[inventory_hostname][interface][ip_version]['address'] }} \
-      {% endif -%}
-  {% endif -%}
-
+    {% elif ip_version == 'ipv6' -%}
+  -e MON_IP=[{{ hostvars[inventory_hostname][interface][ip_version][0]['address'] }}] \
+    {% endif -%}
+{% else %}
+    {% set interface = 'ansible_' + monitor_interface %}
+    {% if ip_version == 'ipv4' -%}
+  -e MON_IP={{ [interface][ip_version]['address'] }} \
+    {% elif ip_version == 'ipv6' -%}
+  -e MON_IP=[{{ [interface][ip_version][0]['address'] }}] \
+    {% endif -%}
+{%- endif %}
   -e CLUSTER={{ cluster }} \
   -e FSID={{ fsid }} \
   -e CEPH_PUBLIC_NETWORK={{ public_network }} \