--- # Copyright 2017, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Set IP to use for {{ network_address }} set_fact: "{{ network_address }}={{ hostvars[inventory_hostname] | json_query(query) }}" vars: query: "{{ is_metal | ternary(metal_query, non_metal_query) }}" non_metal_query: "container_networks.{{ network_address }}.address || ansible_host" find_bridge: "container_networks.{{ network_address }}.bridge" metal_query: "'ansible_{{ hostvars[inventory_hostname] | json_query(find_bridge) | replace('-','_') }}'.ipv4.address || {{ non_metal_query }}" tags: - common-address - always