Initial commit
Change-Id: I82738f63c49d10385183c6e626239cd15618d58b
diff --git "a/\173\043 interfaces \043\175/bond0_ab_contrail" "b/\173\043 interfaces \043\175/bond0_ab_contrail"
new file mode 100644
index 0000000..8de76d6
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_contrail"
@@ -0,0 +1,63 @@
+{#- Provides: #}
+{#- br_mesh (linux bridge) + tenant address #}
+{#- vhost0 , as a keepalived vip interface #}
+{#- Requirements: #}
+{#- _param:tenant_vlan #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+{#- _param:tenant_network_gateway #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ mtu: 9000
+ enabled: true
+ mode: active-backup
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+
+ {{- set_param('keepalived_vip_interface', 'vhost0') }}
+ vhost0:
+ mtu: 9000
+ address: ${_param:_esc}{_param:tenant_address}
+ netmask: ${_param:_esc}{_param:tenant_network_netmask}
+ gateway: ${_param:_esc}{_param:tenant_network_gateway}
+ enabled: true
+ proto: static
+ type: eth
+ pre_up_cmds:
+ - /usr/lib/contrail/if-vhost0
+ name_servers:
+ - ${_param:_esc}{_param:dns_server01}
+ - ${_param:_esc}{_param:dns_server02}
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ bond0.tenant_vlan:
+ mtu: 9000
+ name: bond0.${_param:_esc}{_param:tenant_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
diff --git "a/\173\043 interfaces \043\175/bond0_ab_ctl_contrail" "b/\173\043 interfaces \043\175/bond0_ab_ctl_contrail"
new file mode 100644
index 0000000..dfee7cd
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_ctl_contrail"
@@ -0,0 +1,88 @@
+{#- Provides: #}
+{#- br_ctl (linux bridge) + control address #}
+{#- vhost0 #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_vlan #}
+{#- _param:control_network_netmask #}
+{#- _param:tenant_vlan #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+{#- _param:tenant_network_gateway #}
+{#- _param:_param:dns_server01 #}
+{#- _param:_param:dns_server02 #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ mtu: 9000
+ enabled: true
+ mode: active-backup
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ proto: static
+ type: bridge
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ bond0.control_vlan:
+ mtu: 9000
+ name: bond0.${_param:_esc}{_param:control_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
+
+ vhost0:
+ mtu: 9000
+ address: ${_param:_esc}{_param:tenant_address}
+ netmask: ${_param:_esc}{_param:tenant_network_netmask}
+ gateway: ${_param:_esc}{_param:tenant_network_gateway}
+ enabled: true
+ proto: static
+ type: eth
+ pre_up_cmds:
+ - /usr/lib/contrail/if-vhost0
+ name_servers:
+ - ${_param:_esc}{_param:dns_server01}
+ - ${_param:_esc}{_param:dns_server02}
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ bond0.tenant_vlan:
+ mtu: 9000
+ name: bond0.${_param:_esc}{_param:tenant_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
diff --git "a/\173\043 interfaces \043\175/bond0_ab_dvr_vlan_ctl_prv_floating" "b/\173\043 interfaces \043\175/bond0_ab_dvr_vlan_ctl_prv_floating"
new file mode 100644
index 0000000..a4f891d
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_dvr_vlan_ctl_prv_floating"
@@ -0,0 +1,65 @@
+{#- Tenant over VLAN. For gateway nodes and computes with dvr #}
+{#- Provides: #}
+{#- br_ctl (OVS bridge) + control address #}
+{#- br_prv (OVS bridge) #}
+{#- br_floating (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond0 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-floating
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-floating:
+ enabled: true
+ type: ovs_bridge
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ bridge: br-floating
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ ovs_options: tag=${_param:_esc}{_param:control_vlan}
+ proto: static
+ type: ovs_port
+ require_interfaces:
+ - br-floating
+ br-prv:
+ enabled: true
+ type: ovs_bridge
+ floating-to-prv:
+ enabled: true
+ type: ovs_port
+ port_type: patch
+ bridge: br-floating
+ peer: prv-to-floating
+ prv-to-floating:
+ enabled: true
+ type: ovs_port
+ port_type: patch
+ bridge: br-prv
+ peer: floating-to-prv
diff --git "a/\173\043 interfaces \043\175/bond0_ab_dvr_vxlan_ctl_mesh_floating" "b/\173\043 interfaces \043\175/bond0_ab_dvr_vxlan_ctl_mesh_floating"
new file mode 100644
index 0000000..265aba8
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_dvr_vxlan_ctl_mesh_floating"
@@ -0,0 +1,63 @@
+{#- Tenant over VXLAN. For gateway nodes and computes with dvr #}
+{#- Provides: #}
+{#- br_ctl (OVS bridge) + control address #}
+{#- br_mesh (OVS bridge) + tenant address #}
+{#- br_floating (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+{#- _param:tenant_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond0 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-floating
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-floating:
+ enabled: true
+ type: ovs_bridge
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ bridge: br-floating
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ ovs_options: tag=${_param:_esc}{_param:control_vlan}
+ proto: static
+ type: ovs_port
+ require_interfaces:
+ - br-floating
+ br-mesh:
+ enabled: true
+ type: ovs_port
+ bridge: br-floating
+ proto: static
+ ovs_options: tag=${_param:_esc}{_param:tenant_vlan}
+ address: ${_param:_esc}{_param:tenant_address}
+ netmask: ${_param:_esc}{_param:tenant_network_netmask}
+ require_interfaces:
+ - br-floating
diff --git "a/\173\043 interfaces \043\175/bond0_ab_nondvr_vlan_ctl_prv" "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vlan_ctl_prv"
new file mode 100644
index 0000000..53cdb09
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vlan_ctl_prv"
@@ -0,0 +1,49 @@
+{#- Tenant over VLAN. For computes without dvr #}
+{#- Provides: #}
+{#- br_ctl (OVS bridge) + control address #}
+{#- br_prv (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond0 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-prv
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-prv:
+ enabled: true
+ type: ovs_bridge
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ bridge: br-prv
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ ovs_options: tag=${_param:_esc}{_param:control_vlan}
+ proto: static
+ type: ovs_port
+ require_interfaces:
+ - br-prv
diff --git "a/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh" "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh"
new file mode 100644
index 0000000..42dbfca
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh"
@@ -0,0 +1,76 @@
+{#- Tenant over VXLAN. For computes without dvr #}
+{#- Provides: #}
+{#- br_ctl (linux bridge) + control address #}
+{#- br_mesh (linux bridge) + tenant address #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+{#- _param:tenant_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ proto: static
+ type: bridge
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ bond0.control_vlan:
+ name: bond0.${_param:_esc}{_param:control_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
+
+ br_mesh:
+ address: ${_param:_esc}{_param:tenant_address}
+ netmask: ${_param:_esc}{_param:tenant_network_netmask}
+ enabled: true
+ proto: static
+ type: bridge
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:tenant_vlan}
+ bond0.tenant_vlan:
+ name: bond0.${_param:_esc}{_param:tenant_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
diff --git "a/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl" "b/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl"
new file mode 100644
index 0000000..d6bbd72
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl"
@@ -0,0 +1,53 @@
+{#- Control network with bond. For control plane nodes #}
+{#- Provides: #}
+{#- br_ctl (linux bridge) + control address #}
+{#- _param:keepalived_vip_interface = 'br_ctl' #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ proto: static
+ type: bridge
+ use_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ require_interfaces:
+ - bond0.${_param:_esc}{_param:control_vlan}
+ bond0.control_vlan:
+ name: bond0.${_param:_esc}{_param:control_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - bond0
+ require_interfaces:
+ - bond0
diff --git "a/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl_prv" "b/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl_prv"
new file mode 100644
index 0000000..3cba8de
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_ovs_vlan_ctl_prv"
@@ -0,0 +1,49 @@
+{#- Tenant over VLAN. For gateway and compute nodes #}
+{#- Provides: #}
+{#- br_ctl (OVS bridge) + control address #}
+{#- br_prv (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond0 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-prv
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-prv:
+ enabled: true
+ type: ovs_bridge
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ bridge: br-prv
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ ovs_options: tag=${_param:_esc}{_param:control_vlan}
+ proto: static
+ type: ovs_port
+ require_interfaces:
+ - br-prv
diff --git "a/\173\043 interfaces \043\175/bond0_ab_ovs_vxlan_ctl_mesh" "b/\173\043 interfaces \043\175/bond0_ab_ovs_vxlan_ctl_mesh"
new file mode 100644
index 0000000..2aea73d
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_ovs_vxlan_ctl_mesh"
@@ -0,0 +1,62 @@
+{#- Tenant over VXLAN. For gateway and compute nodes #}
+{#- Provides: #}
+{#- br_ctl (OVS bridge) + control address #}
+{#- br_mesh (OVS bridge) + tenant address #}
+{#- Requirements: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+{#- _param:tenant_vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond0 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond0:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-ten
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-ten:
+ enabled: true
+ type: ovs_bridge
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ bridge: br-ten
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ ovs_options: tag=${_param:_esc}{_param:control_vlan}
+ proto: static
+ type: ovs_port
+ require_interfaces:
+ - br-ten
+ br-mesh:
+ enabled: true
+ type: ovs_port
+ bridge: br-ten
+ proto: static
+ ovs_options: tag=${_param:_esc}{_param:tenant_vlan}
+ address: ${_param:_esc}{_param:tenant_address}
+ netmask: ${_param:_esc}{_param:tenant_network_netmask}
+ require_interfaces:
+ - br-ten
diff --git "a/\173\043 interfaces \043\175/bond1_ab_ovs_floating" "b/\173\043 interfaces \043\175/bond1_ab_ovs_floating"
new file mode 100644
index 0000000..9df5f46
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond1_ab_ovs_floating"
@@ -0,0 +1,38 @@
+{#- Floating on a separated bond interfaces. For gateway nodes and computes with dvr #}
+{#- Provides: #}
+{#- br_floating (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:?addr #}
+{#- _param:?mask #}
+{#- _param:?vlan #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ mtu: 9000
+ enabled: true
+ master: bond1 # ?
+ name: {{ interface_name }}
+ proto: manual
+ type: slave # ?
+ ipflush_onchange: true
+ {%- endfor %}
+ bond1:
+ enabled: true
+ mode: active-backup
+ ovs_bridge: br-floating
+ ovs_type: OVSPort
+ proto: manual
+ slaves: {{ ' '.join(interfaces.keys()) }}
+ type: bond
+ use_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ require_interfaces:
+ {%- for interface_name in interfaces.keys() %}
+ - {{ interface_name }}
+ {%- endfor %}
+ br-floating:
+ enabled: true
+ type: ovs_bridge
diff --git "a/\173\043 interfaces \043\175/bond2_dpdk_prv" "b/\173\043 interfaces \043\175/bond2_dpdk_prv"
new file mode 100644
index 0000000..39bc013
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond2_dpdk_prv"
@@ -0,0 +1,27 @@
+{#- Provides: #}
+{#- br-prv (OVS bridge) #}
+{#- Requirements: #}
+{#- _param:tenant_address #}
+{#- _param:tenant_netmask #}
+
+ # {{ interfaces_role }}
+ {%- for interface_name, interface in interfaces.items() %}
+ {{ interface_name }}:
+ bond: bonddpdk2
+ driver: igb_uio
+ enabled: true
+ n_rxq: 2
+ name: {{ interface_name }}
+ pci: '{{ interface['dpdk_pci'] }}'
+ type: dpdk_ovs_port
+ {%- endfor %}
+ bonddpdk2:
+ bridge: br-prv
+ enabled: true
+ mode: active-backup
+ type: dpdk_ovs_bond
+ br-prv:
+ address: ${_param:_esc}{_param:tenant_address}
+ enabled: true
+ netmask: ${_param:_esc}{_param:tenant_netmask}
+ type: dpdk_ovs_bridge
diff --git "a/\173\043 interfaces \043\175/readme.txt" "b/\173\043 interfaces \043\175/readme.txt"
new file mode 100644
index 0000000..cf80b5b
--- /dev/null
+++ "b/\173\043 interfaces \043\175/readme.txt"
@@ -0,0 +1,10 @@
+Patterns from this folder are used for two purposes:
+1. Configure the real node interfaces as specified in the inventory.
+2. Provide the following list of interfaces for the underlay level:
+ - br_mgm: Access from infrastructure management network / admin network / DHCP / PXE
+ - br_ctl: OpenStack control network for internal services
+ - br-prv: For tenant networks with VLAN segmentation
+ - br-ten: For tenant networks with VXLAN segmentation
+ - br-mesh: Endpoint for VXLAN tunnels that are used by br-ten
+ - br-floating: Connection to the floating network
+ - vhost0: for OpenContrail workloads
\ No newline at end of file
diff --git "a/\173\043 interfaces \043\175/single_ctl" "b/\173\043 interfaces \043\175/single_ctl"
new file mode 100644
index 0000000..ce54ed7
--- /dev/null
+++ "b/\173\043 interfaces \043\175/single_ctl"
@@ -0,0 +1,31 @@
+{#- Control network. For control plane nodes #}
+{#- Provides: #}
+{#- br_ctl (linux bridge) + address #}
+{#- _param:keepalived_vip_interface = 'br_ctl' #}
+{#- Requires: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:dns_server01 #}
+{#- _param:dns_server02 #}
+
+ # {{ interfaces_role }}
+ {%- set interface_name = interfaces.keys()[0] %}
+ {{ interface_name }}:
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ br_ctl:
+ address: ${_param:_esc}{_param:single_address}
+ enabled: true
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ proto: static
+ type: bridge
+ name_servers:
+ - ${_param:_esc}{_param:dns_server01}
+ - ${_param:_esc}{_param:dns_server02}
+ use_interfaces:
+ - {{ interface_name }}
+ require_interfaces:
+ - {{ interface_name }}
diff --git "a/\173\043 interfaces \043\175/single_dhcp" "b/\173\043 interfaces \043\175/single_dhcp"
new file mode 100644
index 0000000..87315e0
--- /dev/null
+++ "b/\173\043 interfaces \043\175/single_dhcp"
@@ -0,0 +1,11 @@
+{#- Management (admin) network with DHCP #}
+{#- Provides: #}
+{#- <interface_name> + DHCP address #}
+
+ # {{ interfaces_role }}
+ {%- set interface_name = interfaces.keys()[0] %}
+ {{ interface_name }}:
+ enabled: true
+ type: eth
+ proto: dhcp
+ name: {{ interface_name }}
\ No newline at end of file
diff --git "a/\173\043 interfaces \043\175/single_mgm" "b/\173\043 interfaces \043\175/single_mgm"
new file mode 100644
index 0000000..a0de958
--- /dev/null
+++ "b/\173\043 interfaces \043\175/single_mgm"
@@ -0,0 +1,30 @@
+{#- Management (admin) network. For nodes where deploy address must be configured as static (at least cfg*) #}
+{#- Provides: #}
+{#- br_mgm (linux bridge) + address #}
+{#- Requires: #}
+{#- _param:deploy_address #}
+{#- _param:deploy_network_netmask #}
+{#- _param:deploy_network_gateway #}
+{#- _param:dns_server01 #}
+{#- _param:dns_server02 #}
+
+ # {{ interfaces_role }}
+ {%- set interface_name = interfaces.keys()[0] %}
+ {{ interface_name }}:
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ br_mgm:
+ address: ${_param:_esc}{_param:deploy_address}
+ netmask: ${_param:_esc}{_param:deploy_network_netmask} #lab03: 255.255.255.192
+ gateway: ${_param:_esc}{_param:deploy_network_gateway} #lab03: 172.16.49.1
+ enabled: true
+ name_servers:
+ - ${_param:_esc}{_param:dns_server01}
+ - ${_param:_esc}{_param:dns_server02}
+ proto: static
+ type: bridge
+ use_interfaces:
+ - {{ interface_name }}
diff --git "a/\173\043 interfaces \043\175/single_mgm_dhcp" "b/\173\043 interfaces \043\175/single_mgm_dhcp"
new file mode 100644
index 0000000..fd2bf66
--- /dev/null
+++ "b/\173\043 interfaces \043\175/single_mgm_dhcp"
@@ -0,0 +1,18 @@
+{#- Management (admin) network. For nodes where deploy address provided by DHCP server #}
+{#- Provides: #}
+{#- br_mgm (linux bridge) + DHCP address #}
+
+ # {{ interfaces_role }}
+ {%- set interface_name = interfaces.keys()[0] %}
+ {{ interface_name }}:
+ enabled: true
+ type: eth
+ proto: manual
+ ipflush_onchange: true
+ name: {{ interface_name }}
+ br_mgm:
+ enabled: true
+ proto: dhcp
+ type: bridge
+ use_interfaces:
+ - {{ interface_name }}
diff --git "a/\173\043 interfaces \043\175/single_vlan_ctl" "b/\173\043 interfaces \043\175/single_vlan_ctl"
new file mode 100644
index 0000000..2b899a2
--- /dev/null
+++ "b/\173\043 interfaces \043\175/single_vlan_ctl"
@@ -0,0 +1,41 @@
+{#- Control network. For control plane nodes #}
+{#- Provides: #}
+{#- br_ctl (linux bridge) + address #}
+{#- _param:keepalived_vip_interface = 'br_ctl' #}
+{#- Requires: #}
+{#- _param:single_address #}
+{#- _param:control_network_netmask #}
+{#- _param:control_vlan #}
+{#- _param:dns_server01 #}
+{#- _param:dns_server02 #}
+
+ # {{ interfaces_role }}
+ {%- set interface_name = interfaces.keys()[0] %}
+ {{ interface_name }}:
+ enabled: true
+ name: {{ interface_name }}
+ proto: manual
+ type: eth
+ ipflush_onchange: true
+ br_ctl:
+ enabled: true
+ address: ${_param:_esc}{_param:single_address}
+ netmask: ${_param:_esc}{_param:control_network_netmask}
+ proto: static
+ type: bridge
+ name_servers:
+ - ${_param:_esc}{_param:dns_server01}
+ - ${_param:_esc}{_param:dns_server02}
+ use_interfaces:
+ - {{ interface_name }}.${_param:_esc}{_param:control_vlan}
+ require_interfaces:
+ - {{ interface_name }}.${_param:_esc}{_param:control_vlan}
+ {{ interface_name }}.control_vlan:
+ name: {{ interface_name }}.${_param:_esc}{_param:control_vlan}
+ enabled: true
+ proto: manual
+ type: vlan
+ use_interfaces:
+ - {{ interface_name }}
+ require_interfaces:
+ - {{ interface_name }}