43 lines
1.8 KiB
YAML
43 lines
1.8 KiB
YAML
---
|
|
|
|
# Note this is a used in an iterable and requires the <item.value.interface> variable
|
|
# The container interface variable is a a default object that assume the
|
|
# Ansible iterator type is `with_dict`.
|
|
lxc_container_interface: |
|
|
### start generated network for [ {{ item.value.interface }} ] ###
|
|
auto {{ item.value.interface }}
|
|
{% if item.value.address is defined %}
|
|
iface {{ item.value.interface }} inet static
|
|
address {{ item.value.address }}
|
|
netmask {{ item.value.netmask }}
|
|
{% if item.value.gateway is defined %}
|
|
gateway {{ item.value.gateway }}
|
|
{% endif %}
|
|
mtu {{ item.value.mtu|default(lxc_container_default_mtu) }}
|
|
# needed to enable gratuitous arps on interface events
|
|
post-up sysctl -w net.ipv4.conf.$IFACE.arp_notify=1
|
|
# needed to force an interface event (setting mac to what it already is)
|
|
post-up ip link set $IFACE address $(cat /sys/class/net/$IFACE/address)
|
|
{% if item.value.static_routes is defined %}
|
|
{% for route in item.value.static_routes %}
|
|
post-up ip route add {{ route['cidr'] }} via {{ route['gateway'] }} || true
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% else %}
|
|
iface {{ item.value.interface }} inet manual
|
|
{% endif %}
|
|
### end generated network for [ {{ item.value.interface }} ] ###
|
|
|
|
# Notice this is already resolved in the debian interface file
|
|
lxc_container_default_route_interfaces:
|
|
route_file: "/dev/null"
|
|
route_setup: "This is already resolved in the debian interface file"
|
|
|
|
# Note this is a used in an iterable and requires the <item.value.interface> variable
|
|
lxc_container_interface_target: "/etc/network/interfaces.d/{{ item.value.interface }}.cfg"
|
|
|
|
lxc_container_map:
|
|
distro: ubuntu
|
|
arch: "{{ lxc_architecture_mapping.get( hostvars[physical_host]['ansible_architecture'] | lower ) }}"
|
|
release: xenial
|