--- # 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. lxc_container_map: distro: "{{ hostvars[physical_host]['ansible_facts']['distribution'] | lower }}" arch: "{{ lxc_architecture_mapping.get( hostvars[physical_host]['ansible_facts']['architecture'] | lower ) }}" release: "{{ hostvars[physical_host]['ansible_facts']['distribution_major_version'] }}" lxc_container_default_config_list: - "lxc.start.auto=1" - "lxc.start.delay=15" - "lxc.group=onboot" - "lxc.group=openstack" - "lxc.autodev=1" - "lxc.hook.autodev=/var/lib/lxc/{{ inventory_hostname }}/autodev" # A set of container networks used within the LXC containers. This information # is sourced from the assumed "container_networks", "container_extra_networks" # and "lxc_container_networks" variables and combined into a single # immutable hash. lxc_container_networks_combined: "{{ container_networks | default({}) | combine(container_extra_networks | default({})) | combine(lxc_container_networks) }}" sysctl_path: "/sbin" _lxc_container_bind_mounts: [] _lxc_container_systemd_networks: | {% set systemd_networks = [] %} {% for network in lxc_container_networks_combined.values() %} {% set _ = systemd_networks.append({ 'filename': network.interface, 'interface': network.interface, 'address': network.address | default('dhcp'), 'netmask': network.netmask | default(), 'gateway': network.gateway | default(), 'mtu': network.mtu | default(), 'static_routes': network.static_routes | default([]), 'usedns': ('dhcp_use_dns' in network) | ternary(network.dhcp_use_dns, lxc_container_enable_resolved | bool), 'config_overrides': ('dhcp_use_routes' in network) | ternary({'DHCP': network.dhcp_use_routes}, {}) }) %} {% endfor %} {{ systemd_networks }}