blob: d3666600dd05cac38e9c6ea9e4eea09c3a1bbb67 [file] [log] [blame]
# Created by platform-install: interface-config/templates/management.cfg.j2
{% for node in physical_node_list if node.name == ansible_hostname %}
# management bridge between physical and virtual interfaces for VTN
{% set mgmtbr_ip = ( vtn_net_management_host_cidr | ipaddr(node.ipv4_last_octet) | ipaddr('address')) %}
auto mgmtbridge
iface mgmtbridge inet static
pre-up ip link add mgmtbridge type bridge
bridge_ports mgmtbond vethmgmt0
address {{ mgmtbr_ip }}
network {{ vtn_net_management_host_cidr | ipaddr('network') }}
netmask {{ vtn_net_management_host_cidr | ipaddr('netmask') }}
broadcast {{ vtn_net_management_host_cidr | ipaddr('broadcast') }}
hwaddress ether {{ ( vtn_net_management_host_hwaddr_prefix ~ ( mgmtbr_ip | ip4_hex )) | hwaddr('linux') }}
dns-search {{ site_suffix }}
dns-nameservers {{ dns_servers | join(" ") }}
post-down ip link del mgmtbridge
# management bond of physical interfaces
auto mgmtbond
iface mgmtbond inet manual
pre-up ip link add mgmtbond type bond
pre-up ip link set mgmtbond up
bond-slaves none
bond-mode active-backup
bond-miimon 100
post-down ip link del mgmtbond
{% if management_net_interfaces %}
# physical network members of mgmtbond
{% for mgmt_int in management_net_interfaces %}
auto {{ mgmt_int }}
iface {{ mgmt_int }} inet manual
pre-up ip link set {{ mgmt_int }} master mgmtbond
bond-master mgmtbond
bond-mode active-backup
bond-primary {{ management_net_interfaces | join(' ') }}
post-down ip link set dev {{ mgmt_int }} nomaster
{% endfor %}
{% endif %}
# veth interfaces for VTN MANAGEMENT_HOST
# vethmgmt0: connected to mgmtbond
auto vethmgmt0
iface vethmgmt0 inet manual
pre-up ip link add vethmgmt0 type veth peer name vethmgmt1
pre-up ip link set vethmgmt0 up
pre-up ip link set vethmgmt1 up
post-up ip link set dev vethmgmt0 master mgmtbridge
pre-down ip link set dev vethmgmt0 nomaster
post-down ip link del vethmgmt0
# vethmgmt1: connected to VTN as hostManagementIface, if enabled
# Brought up by vethmgmt0
{% endfor %}