Browse Source

Merge pull request #10416 from jparrill/bugfix/wrong_naming_xip_io

Fixes #10415 maintains the name and host_name when vm count field are 1.
Scott Dodson 6 years ago
parent
commit
f504af6eff
2 changed files with 46 additions and 2 deletions
  1. 3 1
      roles/openshift_ovirt/README.md
  2. 43 1
      roles/openshift_ovirt/tasks/build_vm_list.yml

+ 3 - 1
roles/openshift_ovirt/README.md

@@ -141,7 +141,7 @@ openshift_ovirt_vm_manifest:
   count: 1
   profile: 'node_vm'
   nic_mode:
-      lb0:
+      lb:
         nic_ip_address: '192.168.123.170'
         nic_netmask: '255.255.255.0'
         nic_gateway: '192.168.123.1'
@@ -186,6 +186,8 @@ Example Playbook
         - always
 ```
 
+**Side Note:** Regarding the behaviour, of the iterations, If we have a `count: 1` in our vm definition, the name that you put in the proper field will be preserved, but if we have more than 1 a counter will be raised and the vm name will be `name + iteration` (EG) _node0_, _node1_, _node2_ in case of `count: 3`
+
 License
 -------
 

+ 43 - 1
roles/openshift_ovirt/tasks/build_vm_list.yml

@@ -1,6 +1,10 @@
 ---
 # Creates a dictionary for use with oVirt.vm-infra role
 # https://github.com/oVirt/ovirt-ansible-vm-infra
+# Side note:
+# If we have a count: 1 in our vm definition, the name that you put in the proper field will be preserved
+# if we have more than 1 a counter will be raised and the vm name will be name + iteration (EG) node0, node1, node2
+# in case of count: 3
 - fail:
     msg: "The openshift_ovirt_dns_zone variable is required."
   when:
@@ -12,19 +16,57 @@
       {% for iter in range(item.count) -%}
       {% if iter > 0 -%},{% endif -%}
       {
+      {% if item.count == 1 -%}
+      'name': '{{ item.name }}.{{ openshift_ovirt_dns_zone }}',
+      {% elif item.count > 1 -%}
       'name': '{{ item.name }}{{ iter }}.{{ openshift_ovirt_dns_zone }}',
+      {% endif -%}
       'tag': 'openshift_{{ item.profile }}',
+      'description': '{{ item.description | default("") }}',
       'cloud_init':
       {
+      {% if item.count == 1 -%}
+      'host_name': '{{ item.name }}.{{ openshift_ovirt_dns_zone }}',
+        {% if item.nic_mode is defined -%}
+      'nic_boot_protocol': 'static',
+      'nic_ip_address': '{{ item["nic_mode"][item["name"]]["nic_ip_address"] }}',
+      'nic_netmask': '{{ item["nic_mode"][item["name"]]["nic_netmask"] }}',
+      'nic_gateway': '{{ item["nic_mode"][item["name"]]["nic_gateway"] }}',
+      'nic_on_boot': {{ item["nic_mode"][item["name"]]["nic_on_boot"] | default(true) | bool }},
+      'nic_name': '{{ item["nic_mode"][item["name"]]["nic_name"] | default("eth0") }}',
+          {% if item["nic_mode"][item["name"]]["dns_servers"] is defined -%}
+      'dns_servers': '{{ item["nic_mode"][item["name"]]["dns_servers"] }}',
+      'dns_search': '{{ item["nic_mode"][item["name"]]["dns_search"] }}',
+          {% endif -%}
+        {% endif -%}
+        {% if item.dns_servers is defined -%}
+      'dns_servers': '{{ item["dns_servers"] }}',
+        {% endif -%}
+        {% if item.dns_search is defined -%}
+      'dns_search': '{{ item["dns_search"] }}',
+        {% endif -%}
+      {% elif item.count > 1 -%}
       'host_name': '{{ item.name }}{{ iter }}.{{ openshift_ovirt_dns_zone }}',
-      {% if item.nic_mode is defined -%}
+        {% if item.nic_mode is defined -%}
       'nic_boot_protocol': 'static',
       'nic_ip_address': '{{ item["nic_mode"][item["name"] + iter | string ]["nic_ip_address"] }}',
       'nic_netmask': '{{ item["nic_mode"][item["name"] + iter | string ]["nic_netmask"] }}',
       'nic_gateway': '{{ item["nic_mode"][item["name"] + iter | string ]["nic_gateway"] }}',
       'nic_on_boot': {{ item["nic_mode"][item["name"] + iter | string ]["nic_on_boot"] | default(true) | bool }},
       'nic_name': '{{ item["nic_mode"][item["name"] + iter | string ]["nic_name"] | default("eth0") }}',
+          {% if item["nic_mode"][item["name"] + iter | string ]["dns_servers"] is defined -%}
       'dns_servers': '{{ item["nic_mode"][item["name"] + iter | string ]["dns_servers"] }}',
+          {% endif -%}
+          {% if item["nic_mode"][item["name"] + iter | string ]["dns_search"] is defined -%}
+      'dns_search': '{{ item["nic_mode"][item["name"] + iter | string ]["dns_search"] }}',
+          {% endif -%}
+        {% endif -%}
+        {% if item.dns_servers is defined -%}
+      'dns_servers': '{{ item["dns_servers"] }}',
+        {% endif -%}
+        {% if item.dns_search is defined -%}
+      'dns_search': '{{ item["dns_search"] }}',
+        {% endif -%}
       {% endif -%}
       'authorized_ssh_keys': '{{ openshift_ovirt_ssh_key }}'
       },