From f76e5ab85fcdaaa0c17538440416578093c5ee42 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Thu, 8 Oct 2020 14:02:05 -0400 Subject: [PATCH] Add network configs for bond-with-vlans Change-Id: I4fb0befbe8910bc55e69946dced6df1baf38a3c9 --- .../templates/bonds_vlans/bonds_vlans.j2 | 39 +++++++++++++ .../templates/bonds_vlans/bonds_vlans_dpdk.j2 | 55 +++++++++++++++++++ .../bonds_vlans/bonds_vlans_storage.j2 | 39 +++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans.j2 create mode 100644 tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_dpdk.j2 create mode 100644 tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_storage.j2 diff --git a/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans.j2 b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans.j2 new file mode 100644 index 000000000..dc311148a --- /dev/null +++ b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans.j2 @@ -0,0 +1,39 @@ +--- +{% set mtu_list = [ctlplane_mtu] %} +{% for network in role_networks %} +{{ mtu_list.append(lookup('vars', role_networks_lower[network] ~ '_mtu')) }} +{%- endfor %} +{% set min_viable_mtu = mtu_list | max %} +network_config: +- type: interface + name: nic1 + mtu: {{ ctlplane_mtu }} + use_dhcp: false + addresses: + - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }} + routes: {{ ctlplane_host_routes }} +- type: ovs_bridge + name: {{ neutron_physical_bridge_name }} + dns_servers: {{ ctlplane_dns_nameservers }} + domain: {{ dns_search_domains }} + members: + - type: ovs_bond + name: bond1 + mtu: {{ min_viable_mtu }} + ovs_options: {{ bound_interface_ovs_options }} + members: + - type: interface + name: nic2 + mtu: {{ min_viable_mtu }} + primary: true + - type: interface + name: nic3 + mtu: {{ min_viable_mtu }} +{% for network in role_networks %} + - type: vlan + mtu: {{ lookup('vars', role_networks_lower[network] ~ '_mtu') }} + vlan_id: {{ lookup('vars', role_networks_lower[network] ~ '_vlan_id') }} + addresses: + - ip_netmask: {{ lookup('vars', role_networks_lower[network] ~ '_ip') }}/{{ lookup('vars', role_networks_lower[network] ~ '_cidr') }} + routes: {{ lookup('vars', role_networks_lower[network] ~ '_host_routes') }} +{%- endfor %} diff --git a/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_dpdk.j2 b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_dpdk.j2 new file mode 100644 index 000000000..7cb6ed576 --- /dev/null +++ b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_dpdk.j2 @@ -0,0 +1,55 @@ +--- +{% set mtu_list = [ctlplane_mtu] %} +{% for network in role_networks %} +{{ mtu_list.append(lookup('vars', role_networks_lower[network] ~ '_mtu')) }} +{%- endfor %} +{% set min_viable_mtu = mtu_list | max %} +network_config: +- type: interface + name: nic1 + mtu: {{ ctlplane_mtu }} + use_dhcp: false + addresses: + - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }} + routes: {{ ctlplane_host_routes }} +- type: linux_bond + name: bond_api + mtu: {{ min_viable_mtu }} + bonding_options: {{ bound_interface_ovs_options }} + use_dhcp: false + dns_servers: {{ ctlplane_dns_nameservers }} + members: + - type: interface + name: nic2 + mtu: {{ min_viable_mtu }} + primary: true + - type: interface + name: nic3 + mtu: {{ min_viable_mtu }} +{% for network in role_networks %} +- type: vlan + device: bond_api + mtu: {{ lookup('vars', role_networks_lower[network] ~ '_mtu') }} + vlan_id: {{ lookup('vars', role_networks_lower[network] ~ '_vlan_id') }} + addresses: + - ip_netmask: {{ lookup('vars', role_networks_lower[network] ~ '_ip') }}/{{ lookup('vars', role_networks_lower[network] ~ '_cidr') }} + routes: {{ lookup('vars', role_networks_lower[network] ~ '_host_routes') }} +{%- endfor %} +{# Used as a provider network with external DHCP #} +- type: ovs_user_bridge + name: br-dpdk0 + members: + - type: ovs_dpdk_bond + name: dpdkbond0 + rx_queue: {{ num_dpdk_interface_rx_queues }} + members: + - type: ovs_dpdk_port + name: dpdk0 + members: + - type: interface + name: nic4 + - type: ovs_dpdk_port + name: dpdk1 + members: + - type: interface + name: nic5 diff --git a/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_storage.j2 b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_storage.j2 new file mode 100644 index 000000000..f4bf05d0f --- /dev/null +++ b/tripleo_ansible/roles/tripleo_network_config/templates/bonds_vlans/bonds_vlans_storage.j2 @@ -0,0 +1,39 @@ +--- +{% set mtu_list = [ctlplane_mtu] %} +{% for network in role_networks %} +{{ mtu_list.append(lookup('vars', role_networks_lower[network] ~ '_mtu')) }} +{%- endfor %} +{% set min_viable_mtu = mtu_list | max %} +network_config: +- type: interface + name: nic1 + mtu: {{ ctlplane_mtu }} + use_dhcp: false + addresses: + - ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }} + routes: {{ ctlplane_host_routes }} +- type: ovs_bridge + name: br-bond + dns_servers: {{ ctlplane_dns_nameservers }} + domain: {{ dns_search_domains }} + members: + - type: ovs_bond + name: bond1 + mtu: {{ min_viable_mtu }} + ovs_options: {{ bound_interface_ovs_options }} + members: + - type: interface + name: nic2 + mtu: {{ min_viable_mtu }} + primary: true + - type: interface + name: nic3 + mtu: {{ min_viable_mtu }} +{% for network in role_networks %} + - type: vlan + mtu: {{ lookup('vars', role_networks_lower[network] ~ '_mtu') }} + vlan_id: {{ lookup('vars', role_networks_lower[network] ~ '_vlan_id') }} + addresses: + - ip_netmask: {{ lookup('vars', role_networks_lower[network] ~ '_ip') }}/{{ lookup('vars', role_networks_lower[network] ~ '_cidr') }} + routes: {{ lookup('vars', role_networks_lower[network] ~ '_host_routes') }} +{%- endfor %}