openstack-ansible-ops/multi-node-aio/playbooks/pxe/configs/debian/vm-bridges.cfg.j2
d34dh0r53 358be0158e Adjust flat networking
This adjusts the VM networking to only create the additional veth pair for the
flat bridge.  Without this the other bridges can get IPs other than those
statically assigned by the DHCP server.  This also adjusts the range to exclude
the statically assigned ranges.

Change-Id: I289e808b5acb68b1c51e05cbe7d914077c20ba1a
2018-06-01 15:40:44 -05:00

37 lines
1.1 KiB
Django/Jinja

# Physical interface, could be bond. This only needs to be set once
{% set server_networks = hostvars[item]['server_networks'] %}
{% for key, value in server_networks.items()|sort(attribute='1.iface') %}
{% if value.iface is defined %}
auto {{ value.iface }}
iface {{ value.iface }} inet manual
{% endif %}
{% endfor %}
{% for key, value in server_networks.items()|sort(attribute='1.iface') %}
auto br-{{ key }}
iface br-{{ key }} inet {{ value.inet_type }}
bridge_stp off
bridge_waitport 10
bridge_fd 0
offload-sg off
{% if value.iface is defined and key == "flat" %}
pre-up ip link add br-veth-{{ key }} type veth peer name v{{ value.iface }} || true
# Set both ends UP
pre-up ip link set br-veth-{{ key }} up
pre-up ip link set v{{ value.iface }} up
# Delete veth pair on DOWN
post-down ip link del br-vlan-veth || true
bridge_ports {{ value.iface }} br-veth-{{ key }}
{% elif value.iface is defined %}
bridge_ports {{ value.iface | default('none') }}
{% else %}
bridge_ports none
{% endif %}
{% if value.address is defined %}
address {{ value.address }}
{% endif %}
{% endfor %}