# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Physical interface auto eth0 iface eth0 inet manual # external interface {% set intf_external = compu_sys_mappings["external"]["interface"] %} {% if compu_sys_mappings["external"]["vlan_tag"] | int %} {% set intf_external = intf_external + '.' + compu_sys_mappings["external"]["vlan_tag"]|string %} {% endif %} auto {{ intf_external }} iface {{ intf_external }} inet manual {% if compu_sys_mappings["external"]["vlan_tag"] | int %} vlan-raw-device {{ intf_external }} {% endif %} # tenant interface {% set intf_tenant = compu_sys_mappings["tenant"]["interface"] %} {% if compu_sys_mappings["tenant"]["vlan_tag"] | int %} {% set intf_tenant = intf_tenant + '.' + compu_sys_mappings["tenant"]["vlan_tag"]|string %} {% endif %} auto {{ intf_tenant }} iface {{ intf_tenant }} inet manual {% if compu_sys_mappings["tenant"]["vlan_tag"] | int %} vlan-raw-device {{ intf_tenant }} {% endif %} # storage interface {% set intf_storage = compu_sys_mappings["storage"]["interface"] %} {% if compu_sys_mappings["storage"]["vlan_tag"] | int %} {% set intf_storage = intf_storage + '.' + compu_sys_mappings["storage"]["vlan_tag"]|string %} {% endif %} auto {{ intf_storage }} iface {{ intf_storage }} inet manual {% if compu_sys_mappings["storage"]["vlan_tag"] | int %} vlan-raw-device {{ intf_storage }} {% endif %} # Container/Host management bridge auto br-mgmt iface br-mgmt inet static bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports eth0 address {{ ip_settings[inventory_hostname]["mgmt"]["ip"] }} netmask 255.255.255.0 # OpenStack Networking VLAN bridge auto br-external iface br-external inet static bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports {{ intf_external }} address {{ ip_settings[inventory_hostname]["external"]["ip"] }} netmask 255.255.255.0 gateway {{ ip_settings[inventory_hostname]["external"]["gw"] }} offload-sg off # Create veth pair, don't bomb if already exists pre-up ip link add br-external-veth type veth peer name external-nic || true # Set both ends UP pre-up ip link set br-external-veth up pre-up ip link set external-nic up # Delete veth pair on DOWN post-down ip link del br-external-veth || true bridge_ports br-external-veth # VXLAN (tunnel/overlay) bridge config auto br-tenant iface br-tenant inet static bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports {{ intf_tenant }} address {{ ip_settings[inventory_hostname]["tenant"]["ip"] }} netmask 255.255.255.0 # storage bridge auto br-storage iface br-storage inet static bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports {{ intf_storage }} address {{ ip_settings[inventory_hostname]["storage"]["ip"] }} netmask 255.255.255.0