diff options
| author | Bogdan Dobrelya <bdobreli@redhat.com> | 2017-08-15 17:48:58 +0200 | 
|---|---|---|
| committer | Tomas Sedovic <tomas@sedovic.cz> | 2017-08-15 17:48:58 +0200 | 
| commit | 784443b0d88597b988c3d5c58bc6358f5c73675e (patch) | |
| tree | 4ddf2a69739c806903fd6338701a2d4897621696 /roles | |
| parent | 1ed641f99d1e03827120d8e18f504a03002dc910 (diff) | |
Support multiple private networks for static inventory (#604)
Add openstack_private_network_name to filter by a wanted private
network.
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/static_inventory/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/static_inventory/tasks/openstack.yml | 20 | 
2 files changed, 18 insertions, 4 deletions
| diff --git a/roles/static_inventory/defaults/main.yml b/roles/static_inventory/defaults/main.yml index 63de45646..5b8aacf5c 100644 --- a/roles/static_inventory/defaults/main.yml +++ b/roles/static_inventory/defaults/main.yml @@ -19,3 +19,5 @@ private_ssh_key: ~/.ssh/openshift  # The patch to store the generated config to access bastion/hosts  ssh_config_path: /tmp/ssh.config.ansible + +openstack_private_network: private diff --git a/roles/static_inventory/tasks/openstack.yml b/roles/static_inventory/tasks/openstack.yml index 499adf08c..75d0ee6d5 100644 --- a/roles/static_inventory/tasks/openstack.yml +++ b/roles/static_inventory/tasks/openstack.yml @@ -29,12 +29,20 @@        add_host:          name: '{{ item.name }}'          groups: '{{ item.metadata.group }}' -        ansible_host: "{% if use_bastion|bool %}{{ item.name }}{% else %}{{ item.private_v4 }}{% endif %}" +        ansible_host: >- +          {% if use_bastion|bool -%} +          {{ item.name }} +          {%- else -%} +          {%- set node = registered_nodes | json_query("[?name=='" + item.name + "']") -%} +          {{ node[0].addresses[openstack_private_network|quote][0].addr }} +          {%- endif %}          ansible_fqdn: '{{ item.name }}'          ansible_user: '{{ ssh_user }}'          ansible_private_key_file: '{{ private_ssh_key }}'          ansible_ssh_extra_args: '-F {{ ssh_config_path }}' -        private_v4: '{{ item.private_v4 }}' +        private_v4: >- +          {% set node = registered_nodes | json_query("[?name=='" + item.name + "']") -%} +          {{ node[0].addresses[openstack_private_network|quote][0].addr }}      - name: Add cluster nodes with floating IPs to inventory        with_items: "{{ registered_nodes_floating }}" @@ -46,7 +54,9 @@          ansible_user: '{{ ssh_user }}'          ansible_private_key_file: '{{ private_ssh_key }}'          ansible_ssh_extra_args: '-F {{ ssh_config_path }}' -        private_v4: '{{ item.private_v4 }}' +        private_v4: >- +          {% set node = registered_nodes | json_query("[?name=='" + item.name + "']") -%} +          {{ node[0].addresses[openstack_private_network|quote][0].addr }}          public_v4: '{{ item.public_v4 }}'      - name: Add bastion node to inventory @@ -58,7 +68,9 @@          ansible_user: '{{ ssh_user }}'          ansible_private_key_file: '{{ private_ssh_key }}'          ansible_ssh_extra_args: '-F {{ ssh_config_path }}' -        private_v4: '{{ registered_bastion_nodes[0].private_v4 }}' +        private_v4: >- +          {% set node = registered_nodes | json_query("[?name=='" + registered_bastion_nodes[0].name + "']") -%} +          {{ node[0].addresses[openstack_private_network|quote][0].addr }}          public_v4: '{{ registered_bastion_nodes[0].public_v4 }}'        when:          - registered_bastion_nodes is defined | 
