From 3c246d15d87921ae423f3f012304368b127ecfbe Mon Sep 17 00:00:00 2001 From: Rabi Mishra Date: Mon, 19 Oct 2020 12:18:40 +0530 Subject: [PATCH] Remove old nic config templates This removes all in-tree nic config templates as we've migrated them. Users can still use copy of those (modified/un-modified). Change-Id: Ie0be19e416058d33dbe758ebb2a06e55c651a7e9 --- net-config-bond.j2.yaml | 108 ------- net-config-bridge.j2.yaml | 105 ------- net-config-linux-bridge.j2.yaml | 113 -------- net-config-noop.j2.yaml | 82 ------ net-config-standalone.j2.yaml | 161 ----------- ...g-static-bridge-with-external-dhcp.j2.yaml | 117 -------- net-config-static-bridge.j2.yaml | 116 -------- net-config-static.j2.yaml | 105 ------- net-config-undercloud.j2.yaml | 155 ---------- network/config/2-linux-bonds-vlans/README.md | 38 --- .../2-linux-bonds-vlans/role.role.j2.yaml | 266 ------------------ network/config/bond-with-vlans/README.md | 64 ----- .../controller-no-external.j2.yaml | 175 ------------ .../config/bond-with-vlans/role.role.j2.yaml | 239 ---------------- network/config/multiple-nics-vlans/README.md | 46 --- .../multiple-nics-vlans/compute-dvr.j2.yaml | 192 ------------- .../multiple-nics-vlans/role.role.j2.yaml | 212 -------------- network/config/multiple-nics/README.md | 54 ---- .../config/multiple-nics/compute-dvr.j2.yaml | 180 ------------ .../config/multiple-nics/role.role.j2.yaml | 201 ------------- .../single-nic-linux-bridge-vlans/README.md | 27 -- .../role.role.j2.yaml | 168 ----------- network/config/single-nic-vlans/README.md | 63 ----- .../controller-no-external.j2.yaml | 123 -------- .../config/single-nic-vlans/role.role.j2.yaml | 159 ----------- 25 files changed, 3269 deletions(-) delete mode 100644 net-config-bond.j2.yaml delete mode 100644 net-config-bridge.j2.yaml delete mode 100644 net-config-linux-bridge.j2.yaml delete mode 100644 net-config-noop.j2.yaml delete mode 100644 net-config-standalone.j2.yaml delete mode 100644 net-config-static-bridge-with-external-dhcp.j2.yaml delete mode 100644 net-config-static-bridge.j2.yaml delete mode 100644 net-config-static.j2.yaml delete mode 100644 net-config-undercloud.j2.yaml delete mode 100644 network/config/2-linux-bonds-vlans/README.md delete mode 100644 network/config/2-linux-bonds-vlans/role.role.j2.yaml delete mode 100644 network/config/bond-with-vlans/README.md delete mode 100644 network/config/bond-with-vlans/controller-no-external.j2.yaml delete mode 100644 network/config/bond-with-vlans/role.role.j2.yaml delete mode 100644 network/config/multiple-nics-vlans/README.md delete mode 100644 network/config/multiple-nics-vlans/compute-dvr.j2.yaml delete mode 100644 network/config/multiple-nics-vlans/role.role.j2.yaml delete mode 100644 network/config/multiple-nics/README.md delete mode 100644 network/config/multiple-nics/compute-dvr.j2.yaml delete mode 100644 network/config/multiple-nics/role.role.j2.yaml delete mode 100644 network/config/single-nic-linux-bridge-vlans/README.md delete mode 100644 network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml delete mode 100644 network/config/single-nic-vlans/README.md delete mode 100644 network/config/single-nic-vlans/controller-no-external.j2.yaml delete mode 100644 network/config/single-nic-vlans/role.role.j2.yaml diff --git a/net-config-bond.j2.yaml b/net-config-bond.j2.yaml deleted file mode 100644 index 3bfa060274..0000000000 --- a/net-config-bond.j2.yaml +++ /dev/null @@ -1,108 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config with 2 bonded nics on a bridge. -parameters: - BondInterfaceOvsOptions: - default: '' - description: The ovs_options or bonding_options string for the bond - interface. Set things like lacp=active and/or bond_mode=balance-slb - for OVS bonds or like mode=4 for Linux bonds using this option. - type: string - constraints: - - allowed_pattern: ^((?!balance.tcp).)*$ - description: The balance-tcp bond mode is known to cause packet loss and - should not be used in BondInterfaceOvsOptions. - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: true - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: ovs_bond - name: bond1 - use_dhcp: true - ovs_options: - get_param: BondInterfaceOvsOptions - members: - - type: interface - name: nic1 - - type: interface - name: nic2 -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/net-config-bridge.j2.yaml b/net-config-bridge.j2.yaml deleted file mode 100644 index 71cef47a6f..0000000000 --- a/net-config-bridge.j2.yaml +++ /dev/null @@ -1,105 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple interface on a bridge. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: true - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/net-config-linux-bridge.j2.yaml b/net-config-linux-bridge.j2.yaml deleted file mode 100644 index 81db547f71..0000000000 --- a/net-config-linux-bridge.j2.yaml +++ /dev/null @@ -1,113 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple linux bridge. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneDefaultRoute: - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - default: 192.168.24.1 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: linux_bridge - name: {get_param: NeutronPhysicalBridge} - addresses: - - ip_netmask: - get_param: ControlPlaneIp - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true - routes: - - ip_netmask: 0.0.0.0/0 - next_hop: - get_param: ControlPlaneDefaultRoute - default: true - -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/net-config-noop.j2.yaml b/net-config-noop.j2.yaml deleted file mode 100644 index c08810f10c..0000000000 --- a/net-config-noop.j2.yaml +++ /dev/null @@ -1,82 +0,0 @@ -heat_template_version: rocky - -description: > - Software Config to no-op for os-net-config. Using this will allow you - to use the parameter driven (init-neutron-ovs) configuration instead. - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: {} - -outputs: - config: - description: The OsNetConfigImpl resource. - value: {get_attr: [OsNetConfigImpl, value]} diff --git a/net-config-standalone.j2.yaml b/net-config-standalone.j2.yaml deleted file mode 100644 index 9a00dcb334..0000000000 --- a/net-config-standalone.j2.yaml +++ /dev/null @@ -1,161 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple bridge configured with a - static IP address for the ctlplane network with optionally the admin and - public IPs too. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: # Here for compatability, not used. - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - InterfaceLocalMtu: # Override this via parameter_defaults - default: 1500 - description: MTU to use for the local_interface. - type: number - constraints: - - range: { min: 1000, max: 65536 } - StandaloneNetConfigOverride: - default: {} - description: > - Custom JSON data to be used to override the os-net-config data in this - template. This is meant to be used by net_config_override parameter in - tripleoclient to provide an easy means to pass in custom net configs - for a standalone node. - type: json - DeployedServerPortMap: - default: {} - type: json - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - -conditions: - standalone_net_config_override: - not: - equals: [{get_param: StandaloneNetConfigOverride}, {}] - control_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}, '']} - public_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}, '']} - control_virtual_ip_is_ipv6: {contains: [':', {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}]} - public_virtual_ip_is_ipv6: {contains: [':', {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}]} - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - if: - - standalone_net_config_override - - {get_param: StandaloneNetConfigOverride} - - network_config: - - type: ovs_bridge - name: br-ctlplane - mtu: {get_param: InterfaceLocalMtu} - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - ovs_extra: - - "br-set-external-id br-ctlplane bridge-id br-ctlplane" - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - - - if: - - control_virtual_ip_unset - - {} - - ip_netmask: - list_join: - - / - - - {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]} - - {if: [control_virtual_ip_is_ipv6, '128', '32']} - - - if: - - public_virtual_ip_unset - - {} - - ip_netmask: - list_join: - - / - - - {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]} - - {if: [public_virtual_ip_is_ipv6, '128', '32']} - routes: {get_param: ControlPlaneStaticRoutes} - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true - mtu: {get_param: InterfaceLocalMtu} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/net-config-static-bridge-with-external-dhcp.j2.yaml b/net-config-static-bridge-with-external-dhcp.j2.yaml deleted file mode 100644 index 67ac472f86..0000000000 --- a/net-config-static-bridge-with-external-dhcp.j2.yaml +++ /dev/null @@ -1,117 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple bridge configured with - external DHCP and a static IP address for the ctlplane network. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: true - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true - - type: interface - name: br-ex:0 - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - - default: true - next_hop: - get_param: ControlPlaneDefaultRoute -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/net-config-static-bridge.j2.yaml b/net-config-static-bridge.j2.yaml deleted file mode 100644 index efa758da14..0000000000 --- a/net-config-static-bridge.j2.yaml +++ /dev/null @@ -1,116 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple bridge configured with a - static IP address for the ctlplane network. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - - default: true - next_hop: - get_param: ControlPlaneDefaultRoute - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/net-config-static.j2.yaml b/net-config-static.j2.yaml deleted file mode 100644 index bba5bd3273..0000000000 --- a/net-config-static.j2.yaml +++ /dev/null @@ -1,105 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple interface with DHCP. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: {get_param: NeutronPublicInterface} - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - - default: true - next_hop: - get_param: ControlPlaneDefaultRoute -outputs: - config: - description: The OsNetConfigImpl resource. - get_attr: - get_attr: [OsNetConfigImpl, value] diff --git a/net-config-undercloud.j2.yaml b/net-config-undercloud.j2.yaml deleted file mode 100644 index 64a758817c..0000000000 --- a/net-config-undercloud.j2.yaml +++ /dev/null @@ -1,155 +0,0 @@ -heat_template_version: rocky -description: > - Software Config to drive os-net-config for a simple bridge configured with a - static IP address for the ctlplane network with optionally the admin and - public IPs too. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - {%- for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {%- endfor %} - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - UndercloudLocalMtu: # Override this via parameter_defaults - default: 1500 - description: MTU to use for the Undercloud local_interface. - type: number - constraints: - - range: { min: 1000, max: 65536 } - UndercloudNetConfigOverride: - default: {} - description: Custom JSON data to be used to override the os-net-config data in this template. This is meant to be used by net_config_override parameter in tripleoclient to provide an easy means to pass in custom net configs for the Undercloud. - type: json - DeployedServerPortMap: - default: {} - type: json - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - -conditions: - undercloud_net_config_override: - not: - equals: [{get_param: UndercloudNetConfigOverride}, {}] - control_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}, '']} - public_virtual_ip_unset: {equals : [{get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}, '']} - control_virtual_ip_is_ipv6: {contains: [':', {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]}]} - public_virtual_ip_is_ipv6: {contains: [':', {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]}]} - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - if: - - undercloud_net_config_override - - {get_param: UndercloudNetConfigOverride} - - network_config: - - type: ovs_bridge - name: br-ctlplane - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - ovs_extra: - - "br-set-external-id br-ctlplane bridge-id br-ctlplane" - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - - - if: - - control_virtual_ip_unset - - {} - - ip_netmask: - list_join: - - / - - - {get_param: [DeployedServerPortMap, 'control_virtual_ip', fixed_ips, 0, ip_address]} - - {if: [control_virtual_ip_is_ipv6, '128', '32']} - - - if: - - public_virtual_ip_unset - - {} - - ip_netmask: - list_join: - - / - - - {get_param: [DeployedServerPortMap, 'public_virtual_ip', fixed_ips, 0, ip_address]} - - {if: [public_virtual_ip_is_ipv6, '128', '32']} - routes: {get_param: ControlPlaneStaticRoutes} - members: - - type: interface - name: {get_param: NeutronPublicInterface} - # force the MAC address of the bridge to this interface - primary: true - mtu: {get_param: UndercloudLocalMtu} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/network/config/2-linux-bonds-vlans/README.md b/network/config/2-linux-bonds-vlans/README.md deleted file mode 100644 index 9e4f180b92..0000000000 --- a/network/config/2-linux-bonds-vlans/README.md +++ /dev/null @@ -1,38 +0,0 @@ -This directory contains Heat templates to demonstrate configuration of -VLANs on 2 Linux bonds, each with a pair of NICs, for each Overcloud role. -The Tenant network does not need to be on a bridge in order for VXLAN to -function, but the Tenant network appears on the bridge interface in order -to group tenant VLAN traffic and VXLAN traffic together. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/2-linux-bonds-vlans/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/2-linux-bonds-vlans/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/2-linux-bonds-vlans/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/2-linux-bonds-vlans/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/2-linux-bonds-vlans/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-2-bonds-with-vlans.yaml - -Configuration with no External Network --------------------------------------- - -Edit roles_data.yaml to remove the External network from the Controller role. - -Configuration with System Management Network --------------------------------------------- - -The Management network is enabled for backwards-compatibility, but -is not included in any roles by default. - -Add the network to the list of networks used by each role in the role -definition file (e.g. roles_data.yaml). Refer to installation documentation -for procedure to generate a role file for custom roles. - diff --git a/network/config/2-linux-bonds-vlans/role.role.j2.yaml b/network/config/2-linux-bonds-vlans/role.role.j2.yaml deleted file mode 100644 index 472b23c910..0000000000 --- a/network/config/2-linux-bonds-vlans/role.role.j2.yaml +++ /dev/null @@ -1,266 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config with 2 Linux bonds. One bond is on a - bridge with VLANs attached for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks %} - - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - BondInterfaceOvsOptions: - default: bond_mode=active-backup - description: 'The ovs_options or bonding_options string for the bond - interface. Set things like lacp=active and/or bond_mode=balance-slb - for OVS bonds or like mode=4 for Linux bonds using this option.' - type: string -{%- if 'ovsdpdk' in role.tags %} - NumDpdkInterfaceRxQueues: - description: Number of Rx Queues required for DPDK bond or DPDK ports - default: 1 - type: number -{%- endif %} - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - - MinViableMtuBondApi: - # This resource resolves the minimum viable MTU for interfaces, bonds and - # bridges that carry multiple VLANs. Each VLAN may have different MTU. The - # bridge, bond or interface must have an MTU to allow the VLAN with the - # largest MTU. - type: OS::Heat::Value - properties: - type: number - value: - yaql: - expression: $.data.max() - data: - - {get_param: ControlPlaneMtu} -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks and not network.name.startswith('Tenant') %} - - {get_param: {{network.name}}Mtu} -{%- endfor %} - - MinViableMtuBondData: - # This resource resolves the minimum viable MTU for interfaces, bonds and - # bridges that carry multiple VLANs. Each VLAN may have different MTU. The - # bridge, bond or interface must have an MTU to allow the VLAN with the - # largest MTU. - type: OS::Heat::Value - properties: - type: number - value: - yaql: - expression: $.data.max() - data: - - {get_param: ControlPlaneMtu} -{%- for network in networks if network.name.startswith('Tenant') and network.enabled|default(true) and network.name in _role_networks %} - - {get_param: {{network.name}}Mtu} -{%- endfor %} - - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - - type: linux_bond - name: bond_api - mtu: - get_attr: [MinViableMtuBondApi, value] - use_dhcp: false - bonding_options: - get_param: BondInterfaceOvsOptions - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: interface - name: nic2 - mtu: - get_attr: [MinViableMtuBondApi, value] - primary: true - - type: interface - name: nic3 - mtu: - get_attr: [MinViableMtuBondApi, value] -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks and not network.name.startswith('Tenant') %} - - type: vlan - device: bond_api - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -{%- if not 'ovsdpdk' in role.tags %} - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - dns_servers: - get_param: DnsServers - members: - - type: linux_bond - name: bond-data - mtu: - get_attr: [MinViableMtuBondData, value] - bonding_options: - get_param: BondInterfaceOvsOptions - members: - - type: interface - name: nic4 - mtu: - get_attr: [MinViableMtuBondData, value] - primary: true - - type: interface - name: nic5 - mtu: - get_attr: [MinViableMtuBondData, value] -{%- for network in networks if network.name.startswith('Tenant') and network.name in _role_networks and network.enabled|default(true) %} - - type: vlan - device: bond-data - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -{%- else %} - - type: ovs_user_bridge - name: br-dpdk0 - use_dhcp: false -{%- for network in networks if network.name.startswith('Tenant') and network.name in _role_networks and network.enabled|default(true) %} - ovs_extra: - - str_replace: - template: set port br-dpdk0 tag=_VLAN_TAG_ - params: - _VLAN_TAG_: {get_param: {{network.name}}NetworkVlanID} - addresses: - - ip_netmask: {get_param: {{network.name}}IpSubnet} - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} - members: - - type: ovs_dpdk_bond - name: dpdkbond0 - rx_queue: - get_param: NumDpdkInterfaceRxQueues - members: - - type: ovs_dpdk_port - name: dpdk0 - members: - - type: interface - name: nic4 - - type: ovs_dpdk_port - name: dpdk1 - members: - - type: interface - name: nic5 -{%- endif %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/bond-with-vlans/README.md b/network/config/bond-with-vlans/README.md deleted file mode 100644 index edaf7799a2..0000000000 --- a/network/config/bond-with-vlans/README.md +++ /dev/null @@ -1,64 +0,0 @@ -This directory contains Heat templates to help configure -VLANs on a bonded pair of NICs for each Overcloud role. - -There are two versions of the controller role template, one with -an external network interface, and another without. If the -external network interface is not configured, the ctlplane address -ranges will be used for external (public) network traffic. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/bond-with-vlans/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/bond-with-vlans/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/bond-with-vlans/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/bond-with-vlans/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/bond-with-vlans/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-bond-with-vlans.yaml - -Configuration with no External Network --------------------------------------- - -Same as above except set the following value for the controller role: - - OS::TripleO::Controller::Net::SoftwareConfig: network/config/bond-with-vlans/controller-no-external.yaml - -Configuration with IPv6 Networks --------------------------------- - -There is no longer a requirement to use controller-v6.yaml for Controller nodes -when deploying with IPv6. You may now define both an IPv4 network and an IPv6 -network as default routes by adding both networks to the default_route_networks -list for the Controller role in roles_data.yaml. - -Configuration with System Management Network --------------------------------------------- - -The Management network is enabled for backwards-compatibility, but -is not included in any roles by default. To enable the optional System -Management network, create a Heat environment that looks something like -this: - - resource\_registry: - OS::TripleO::Network::Management: ../network/management.yaml - OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::ObjectStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management.yaml - -Or use this Heat environment file: - - environments/network-management.yaml - -Or, add the network to the list of networks used by each role in the role -definition file (e.g. roles_data.yaml). Refer to installation documentation -for procedure to generate a role file for custom roles. - diff --git a/network/config/bond-with-vlans/controller-no-external.j2.yaml b/network/config/bond-with-vlans/controller-no-external.j2.yaml deleted file mode 100644 index 4557f1f5cc..0000000000 --- a/network/config/bond-with-vlans/controller-no-external.j2.yaml +++ /dev/null @@ -1,175 +0,0 @@ -# NOTE: This template is now deprecated, and is only included for compatibility -# when upgrading a deployment where this template was originally used. For new -# deployments, remove the External network from the Controller role and set -# default_route_networks to ['ControlPlane']. -heat_template_version: rocky -description: > - Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the controller role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - ExternalInterfaceDefaultRoute: - default: '' - description: default route for the external network - type: string - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - BondInterfaceOvsOptions: - default: '' - description: 'The ovs_options or bonding_options string for the bond - interface. Set things like lacp=active and/or bond_mode=balance-slb - for OVS bonds or like mode=4 for Linux bonds using this option.' - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: true - members: - - type: ovs_bond - name: bond1 - ovs_options: - get_param: BondInterfaceOvsOptions - members: - - type: interface - name: nic2 - primary: true - - type: interface - name: nic3 - - type: vlan - vlan_id: - get_param: InternalApiNetworkVlanID - addresses: - - ip_netmask: - get_param: InternalApiIpSubnet - routes: - get_param: InternalApiInterfaceRoutes - - type: vlan - vlan_id: - get_param: StorageNetworkVlanID - addresses: - - ip_netmask: - get_param: StorageIpSubnet - routes: - get_param: StorageInterfaceRoutes - - type: vlan - vlan_id: - get_param: StorageMgmtNetworkVlanID - addresses: - - ip_netmask: - get_param: StorageMgmtIpSubnet - routes: - get_param: StorageMgmtInterfaceRoutes - - type: vlan - vlan_id: - get_param: TenantNetworkVlanID - addresses: - - ip_netmask: - get_param: TenantIpSubnet - routes: - get_param: TenantInterfaceRoutes - # Uncomment when including environments/network-management.yaml - # If setting default route on the Management interface, comment - # out the default route on the Control Plane. - #- type: vlan - # vlan_id: - # get_param: ManagementNetworkVlanID - # addresses: - # - ip_netmask: - # get_param: ManagementIpSubnet - # routes: - # list_concat_unique: - # - get_param: ManagementInterfaceRoutes - # - - default: true - # next_hop: - # get_param: ManagementInterfaceDefaultRoute -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/bond-with-vlans/role.role.j2.yaml b/network/config/bond-with-vlans/role.role.j2.yaml deleted file mode 100644 index a9456cf63a..0000000000 --- a/network/config/bond-with-vlans/role.role.j2.yaml +++ /dev/null @@ -1,239 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks if network.enabled|default(true) and network.name in role.networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - BondInterfaceOvsOptions: - default: bond_mode=active-backup - description: 'The ovs_options or bonding_options string for the bond - interface. Set things like lacp=active and/or bond_mode=balance-slb - for OVS bonds or like mode=4 for Linux bonds using this option.' - type: string -{%- if 'ovsdpdk' in role.tags %} - NumDpdkInterfaceRxQueues: - description: Number of Rx Queues required for DPDK bond or DPDK ports - default: 1 - type: number -{%- endif %} - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - - MinViableMtu: - # This resource resolves the minimum viable MTU for interfaces, bonds and - # bridges that carry multiple VLANs. Each VLAN may have different MTU. The - # bridge, bond or interface must have an MTU to allow the VLAN with the - # largest MTU. - type: OS::Heat::Value - properties: - type: number - value: - yaql: - expression: $.data.max() - data: - - {get_param: ControlPlaneMtu} -{%- for network in networks if network.enabled|default(true) and network.name in role.networks %} - - {get_param: {{network.name}}Mtu} -{%- endfor %} - - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes -{%- if not 'ovsdpdk' in role.tags %} - - type: ovs_bridge -{%- if 'ceph' in role.tags or 'storage' in role.tags %} - name: br-bond -{%- else %} - name: {get_param: NeutronPhysicalBridge} -{%- endif %} - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - members: - - type: ovs_bond - name: bond1 - mtu: - get_attr: [MinViableMtu, value] - ovs_options: - get_param: BondInterfaceOvsOptions - members: - - type: interface - name: nic2 - mtu: - get_attr: [MinViableMtu, value] - primary: true - - type: interface - name: nic3 - mtu: - get_attr: [MinViableMtu, value] -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks %} - - type: vlan - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -{%- else %} - # Linux bond for non-DPDK traffic required when using DPDK - - type: linux_bond - name: bond_api - mtu: - get_attr: [MinViableMtu, value] - bonding_options: - get_param: BondInterfaceOvsOptions - use_dhcp: false - dns_servers: - get_param: DnsServers - members: - - type: interface - name: nic2 - mtu: - get_attr: [MinViableMtu, value] - primary: true - - type: interface - name: nic3 - mtu: - get_attr: [MinViableMtu, value] -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks %} - - type: vlan - device: bond_api - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- 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: - get_param: NumDpdkInterfaceRxQueues - members: - - type: ovs_dpdk_port - name: dpdk0 - members: - - type: interface - name: nic4 - - type: ovs_dpdk_port - name: dpdk1 - members: - - type: interface - name: nic5 -{%- endif %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/multiple-nics-vlans/README.md b/network/config/multiple-nics-vlans/README.md deleted file mode 100644 index 208bb53bbd..0000000000 --- a/network/config/multiple-nics-vlans/README.md +++ /dev/null @@ -1,46 +0,0 @@ -This directory contains Heat templates to help configure -multiple NICs for each Overcloud role, where it is -assumed that each NIC is running a specific network -traffic type with tagged VLANs. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/multiple-nics/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/multiple-nics/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/multiple-nics/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/multiple-nics/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/multiple-nics/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-multiple-nics-vlans.yaml - -Configuration with System Management Network --------------------------------------------- - -The Management network is enabled for backwards-compatibility, but -is not included in any roles by default. To enable the optional System -Management network, create a Heat environment that looks something like -this: - - resource\_registry: - OS::TripleO::Network::Management: ../network/management.yaml - OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::ObjectStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management.yaml - -Or use this Heat environment file: - - environments/network-management.yaml - -Or, add the network to the list of networks used by each role in the role -definition file (e.g. roles_data.yaml). Refer to installation documentation -for procedure to generate a role file for custom roles. - diff --git a/network/config/multiple-nics-vlans/compute-dvr.j2.yaml b/network/config/multiple-nics-vlans/compute-dvr.j2.yaml deleted file mode 100644 index 6b417d6be5..0000000000 --- a/network/config/multiple-nics-vlans/compute-dvr.j2.yaml +++ /dev/null @@ -1,192 +0,0 @@ -# FIXME: This legacy template should be converted to a composable role -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure multiple interfaces for the - compute role with external bridge for DVR. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - # Uncomment when including environments/network-management.yaml and setting - # default route on the Management interface. Also comment out the default - # route on the Control Plane and add the Management network to the roles - # default_route_networks in roles data. - # ManagementInterfaceDefaultRoute: - # default: '' - # description: default route for the management network - # type: string - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - - type: interface - name: nic2 - mtu: - get_param: StorageMtu - use_dhcp: false - - type: vlan - device: nic2 - mtu: - get_param: StorageMtu - vlan_id: - get_param: StorageNetworkVlanID - addresses: - - ip_netmask: - get_param: StorageIpSubnet - routes: - get_param: StorageInterfaceRoutes - - type: interface - name: nic4 - mtu: - get_param: InternalApiMtu - use_dhcp: false - - type: vlan - device: nic4 - mtu: - get_param: InternalApiMtu - vlan_id: - get_param: InternalApiNetworkVlanID - addresses: - - ip_netmask: - get_param: InternalApiIpSubnet - routes: - get_param: InternalApiInterfaceRoutes - - type: ovs_bridge - name: br-tenant - mtu: - get_param: TenantMtu - use_dhcp: false - addresses: - - ip_netmask: - get_param: TenantIpSubnet - routes: - get_param: TenantInterfaceRoutes - members: - - type: interface - name: nic5 - mtu: - get_param: TenantMtu - use_dhcp: false - primary: true - # External bridge for DVR (no IP address required) - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - mtu: - get_param: ExternalMtu - dns_servers: - get_param: DnsServers - use_dhcp: false - members: - - type: interface - name: nic6 - mtu: - get_param: ExternalMtu - primary: true - # Uncomment when including environments/network-management.yaml - # If setting default route on the Management interface, comment - # out the default route on the Control Plane. - #- type: interface - # name: nic7 - # mtu: - # get_param: ManagementMtu - # use_dhcp: false - # addresses: - # - ip_netmask: - # get_param: ManagementIpSubnet - # routes: - # list_concat_unique: - # - get_param: ManagementInterfaceRoutes - # - - default: true - # next_hop: - # get_param: ManagementInterfaceDefaultRoute -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/multiple-nics-vlans/role.role.j2.yaml b/network/config/multiple-nics-vlans/role.role.j2.yaml deleted file mode 100644 index 06ce28868d..0000000000 --- a/network/config/multiple-nics-vlans/role.role.j2.yaml +++ /dev/null @@ -1,212 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure multiple interfaces for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks if network.enabled|default(true) and network.name in _role_networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string -{%- if network.vlan %} - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number -{%- endif %} - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} -{% for network in networks if network.name == "External" and 'external_bridge' in role.tags and not network.name in _role_networks %} - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{% endfor %} - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list -{%- if 'ovsdpdk' in role.tags %} - NumDpdkInterfaceRxQueues: - description: Number of Rx Queues required for DPDK bond or DPDK ports - default: 1 - type: number -{%- endif %} - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes -{%- set nics_used = [1] %} -{%- for network in networks if network.enabled|default(true) and network.name not in role.networks_skip_config|default([]) %} -{%- if network.name not in ["External", "Tenant"] %} -{%- if network.name in _role_networks %} - - type: interface - name: nic{{loop.index + 1}} - mtu: - get_param: {{network.name}}Mtu - use_dhcp: false - - type: vlan - device: nic{{loop.index + 1}} - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endif %} -{#- We need bridge also for ComputeDVR and Computes with OVN #} -{%- elif network.name in role.networks or 'external_bridge' in role.tags %} - - type: ovs_bridge -{%- if network.name == "External" %} - name: {get_param: NeutronPhysicalBridge} -{%- else %} - name: br-{{network.name_lower}} -{%- endif %} - mtu: - get_param: {{network.name}}Mtu - dns_servers: - get_param: DnsServers - use_dhcp: false - members: - - type: interface - name: nic{{loop.index + 1}} - mtu: - get_param: {{network.name}}Mtu - use_dhcp: false - primary: true -{%- if network.name in _role_networks %} - - type: vlan - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endif %} -{%- endif %} -{#- This hack gets around Jinja scope limitations to update nics_used within loop. #} -{%- set _ = nics_used.append(loop.index) %} -{%- endfor %} -{%- if 'ovsdpdk' in role.tags %} - # Used as a provider network with external DHCP - - type: ovs_user_bridge - name: br-dpdk0 - members: - - type: ovs_dpdk_bond - name: dpdkbond0 - rx_queue: - get_param: NumDpdkInterfaceRxQueues - members: - - type: ovs_dpdk_port - name: dpdk0 - members: - - type: interface - name: nic{{nics_used[-1] + 1}} - - type: ovs_dpdk_port - name: dpdk1 - members: - - type: interface - name: nic{{nics_used[-1] + 2}} -{%- endif %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/network/config/multiple-nics/README.md b/network/config/multiple-nics/README.md deleted file mode 100644 index c94848dae1..0000000000 --- a/network/config/multiple-nics/README.md +++ /dev/null @@ -1,54 +0,0 @@ -This directory contains Heat templates to help configure -multiple NICs for each Overcloud role, where it is -assumed that each NIC is running a specific network -traffic type and that VLANs are not being used. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/multiple-nics/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/multiple-nics/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/multiple-nics/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/multiple-nics/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/multiple-nics/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-multiple-nics.yaml - -Configuration with IPv6 Networks --------------------------------- - -There is no longer a requirement to use controller-v6.yaml for Controller nodes -when deploying with IPv6. You may now define both an IPv4 network and an IPv6 -network as default routes by adding both networks to the default_route_networks -list for the Controller role in roles_data.yaml. - -Configuration with System Management Network --------------------------------------------- - -The Management network is enabled for backwards-compatibility, but -is not included in any roles by default. To enable the optional System -Management network, create a Heat environment that looks something like -this: - - resource\_registry: - OS::TripleO::Network::Management: ../network/management.yaml - OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::ObjectStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management.yaml - -Or use this Heat environment file: - - environments/network-management.yaml - -Or, add the network to the list of networks used by each role in the role -definition file (e.g. roles_data.yaml). Refer to installation documentation -for procedure to generate a role file for custom roles. - diff --git a/network/config/multiple-nics/compute-dvr.j2.yaml b/network/config/multiple-nics/compute-dvr.j2.yaml deleted file mode 100644 index c924e8af5b..0000000000 --- a/network/config/multiple-nics/compute-dvr.j2.yaml +++ /dev/null @@ -1,180 +0,0 @@ -# FIXME: This legacy template should be converted to a composable role -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure multiple interfaces for the - compute role with external bridge for DVR. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - # Uncomment when including environments/network-management.yaml and setting - # default route on the Management interface. Also comment out the default - # route on the Control Plane and add the Management network to the roles - # default_route_networks in roles data. - # ManagementInterfaceDefaultRoute: - # default: '' - # description: default route for the management network - # type: string - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - - type: interface - name: nic2 - mtu: - get_param: StorageMtu - use_dhcp: false - addresses: - - ip_netmask: - get_param: StorageIpSubnet - routes: - get_param: StorageInterfaceRoutes - - type: interface - name: nic4 - mtu: - get_param: InternalApiMtu - use_dhcp: false - addresses: - - ip_netmask: - get_param: InternalApiIpSubnet - routes: - get_param: InternalApiInterfaceRoutes - - type: ovs_bridge - name: br-tenant - mtu: - get_param: TenantMtu - use_dhcp: false - addresses: - - ip_netmask: - get_param: TenantIpSubnet - routes: - get_param: TenantInterfaceRoutes - members: - - type: interface - name: nic5 - mtu: - get_param: TenantMtu - use_dhcp: false - primary: true - # External bridge for DVR (no IP address required) - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - mtu: - get_param: ExternalMtu - dns_servers: - get_param: DnsServers - use_dhcp: false - members: - - type: interface - name: nic6 - mtu: - get_param: ExternalMtu - primary: true - # Uncomment when including environments/network-management.yaml - # If setting default route on the Management interface, comment - # out the default route on the Control Plane. - #- type: interface - # name: nic7 - # mtu: - # get_param: ManagementMtu - # use_dhcp: false - # addresses: - # - ip_netmask: - # get_param: ManagementIpSubnet - # routes: - # list_concat_unique: - # - get_param: ManagementInterfaceRoutes - # - - default: true - # next_hop: - # get_param: ManagementInterfaceDefaultRoute -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/multiple-nics/role.role.j2.yaml b/network/config/multiple-nics/role.role.j2.yaml deleted file mode 100644 index 3e4b1d4d2f..0000000000 --- a/network/config/multiple-nics/role.role.j2.yaml +++ /dev/null @@ -1,201 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure multiple interfaces for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks if network.enabled|default(true) and network.name in _role_networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string -{%- if network.vlan %} - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number -{%- endif %} - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} -{% for network in networks if network.name == "External" and 'external_bridge' in role.tags and not network.name in _role_networks %} - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{% endfor %} - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list -{%- if 'ovsdpdk' in role.tags %} - NumDpdkInterfaceRxQueues: - description: Number of Rx Queues required for DPDK bond or DPDK ports - default: 1 - type: number -{%- endif %} - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: interface - name: nic1 - mtu: - get_param: ControlPlaneMtu - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes -{%- set nics_used = [1] %} -{%- for network in networks if network.enabled|default(true) and network.name not in role.networks_skip_config|default([]) %} -{%- if network.name not in ["External", "Tenant"] %} -{%- if network.name in _role_networks %} - - type: interface - name: nic{{loop.index + 1}} - mtu: - get_param: {{network.name}}Mtu - use_dhcp: false - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endif %} -{#- We need bridge also for ComputeDVR and Computes with OVN #} -{%- elif network.name in _role_networks or 'external_bridge' in role.tags %} - - type: ovs_bridge -{%- if network.name == "External" %} - name: {get_param: NeutronPhysicalBridge} -{%- else %} - name: br-{{network.name_lower}} -{%- endif %} - mtu: - get_param: {{network.name}}Mtu - dns_servers: - get_param: DnsServers - use_dhcp: false -{%- if network.name in _role_networks %} - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endif %} - members: - - type: interface - name: nic{{loop.index + 1}} - mtu: - get_param: {{network.name}}Mtu - use_dhcp: false - primary: true -{%- endif %} -{#- This hack gets around Jinja scope limitations to update nics_used within loop. #} -{%- set _ = nics_used.append(loop.index) %} -{%- endfor %} -{%- if 'ovsdpdk' in role.tags %} - # Used as a provider network with external DHCP - - type: ovs_user_bridge - name: br-dpdk0 - members: - - type: ovs_dpdk_bond - name: dpdkbond0 - rx_queue: - get_param: NumDpdkInterfaceRxQueues - members: - - type: ovs_dpdk_port - name: dpdk0 - members: - - type: interface - name: nic{{nics_used[-1] + 1}} - - type: ovs_dpdk_port - name: dpdk1 - members: - - type: interface - name: nic{{nics_used[-1] + 2}} -{%- endif %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/network/config/single-nic-linux-bridge-vlans/README.md b/network/config/single-nic-linux-bridge-vlans/README.md deleted file mode 100644 index 88f2a43333..0000000000 --- a/network/config/single-nic-linux-bridge-vlans/README.md +++ /dev/null @@ -1,27 +0,0 @@ -This directory contains Heat templates to help configure -Vlans on a single NICs for each Overcloud role. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/single-nic-linux-bridge-vlans/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/single-nic-linux-bridge-vlans/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/single-nic-linux-bridge-vlans/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-single-nic-linux-bridge-with-vlans.yaml - -Configuration with IPv6 Networks --------------------------------- - -There is no longer a requirement to use controller-v6.yaml for Controller nodes -when deploying with IPv6. You may now define both an IPv4 network and an IPv6 -network as default routes by adding both networks to the default_route_networks -list for the Controller role in roles_data.yaml. diff --git a/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml b/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml deleted file mode 100644 index 9a87e182c0..0000000000 --- a/network/config/single-nic-linux-bridge-vlans/role.role.j2.yaml +++ /dev/null @@ -1,168 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure VLANs for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks if network.enabled|default(true) and network.name in _role_networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPublicInterface: - default: nic1 - description: Which interface to add to the NeutronPhysicalBridge. - type: string - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - - MinViableMtu: - # This resource resolves the minimum viable MTU for interfaces, bonds and - # bridges that carry multiple VLANs. Each VLAN may have different MTU. The - # bridge, bond or interface must have an MTU to allow the VLAN with the - # largest MTU. - type: OS::Heat::Value - properties: - type: number - value: - yaql: - expression: $.data.max() - data: - - {get_param: ControlPlaneMtu} -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks %} - - {get_param: {{network.name}}Mtu} -{%- endfor %} - - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: linux_bridge -{%- if 'ceph' in role.tags or 'storage' in role.tags %} - name: br-storage -{%- else %} - name: {get_param: NeutronPhysicalBridge} -{%- endif %} - mtu: - get_attr: [MinViableMtu, value] - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - members: - - type: interface - name: {get_param: NeutronPublicInterface} - mtu: - get_attr: [MinViableMtu, value] - primary: true -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks -and network.name not in role.networks_skip_config|default([]) %} - - type: vlan - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID -{%- if 'ceph' in role.tags or 'storage' in role.tags %} - device: br-storage -{%- else %} - device: {get_param: NeutronPhysicalBridge} -{%- endif %} - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] diff --git a/network/config/single-nic-vlans/README.md b/network/config/single-nic-vlans/README.md deleted file mode 100644 index 9e846e6e3f..0000000000 --- a/network/config/single-nic-vlans/README.md +++ /dev/null @@ -1,63 +0,0 @@ -This directory contains Heat templates to help configure -VLANs on a single NIC for each Overcloud role. - -There are two versions of the controller role template, one with -an external network interface, and another without. If the -external network interface is not configured, the ctlplane address -ranges will be used for external (public) network traffic. - -Configuration -------------- - -To make use of these templates create a Heat environment that looks -something like this: - - resource\_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/single-nic-vlans/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: network/config/single-nic-vlans/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: network/config/single-nic-vlans/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/single-nic-vlans/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/single-nic-vlans/ceph-storage.yaml - -Or use this Heat environment file: - - environments/net-single-nic-with-vlans.yaml - -Configuration with no External Network --------------------------------------- - -Same as above except set the following value for the controller role: - - OS::TripleO::Controller::Net::SoftwareConfig: network/config/single-nic-vlans/controller-no-external.yaml - -Configuration with IPv6 Networks --------------------------------- - -There is no longer a requirement to use controller-v6.yaml for Controller nodes -when deploying with IPv6. You may now define both an IPv4 network and an IPv6 -network as default routes by adding both networks to the default_route_networks -list for the Controller role in roles_data.yaml. - -Configuration with System Management Network --------------------------------------------- - -The Management network is enabled for backwards-compatibility, but -is not included in any roles by default. To enable the optional System -Management network, create a Heat environment that looks something like -this: - - resource\_registry: - OS::TripleO::Network::Management: ../network/management.yaml - OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::ObjectStorage::Ports::ManagementPort: ../network/ports/management.yaml - OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management.yaml - -Or use this Heat environment file: - - environments/network-management.yaml - -Or, add the network to the list of networks used by each role in the role -definition file (e.g. roles_data.yaml). Refer to installation documentation -for procedure to generate a role file for custom roles. diff --git a/network/config/single-nic-vlans/controller-no-external.j2.yaml b/network/config/single-nic-vlans/controller-no-external.j2.yaml deleted file mode 100644 index c17e74b5fd..0000000000 --- a/network/config/single-nic-vlans/controller-no-external.j2.yaml +++ /dev/null @@ -1,123 +0,0 @@ -# NOTE: This template is now deprecated, and is only included for compatibility -# when upgrading a deployment where this template was originally used. For new -# deployments, remove the External network from the Controller role and set -# default_route_networks to ['ControlPlane']. -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure VLANs for the controller role. No external IP is configured. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - ExternalInterfaceDefaultRoute: - default: '' - description: default route for the external network - type: string - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge - name: {get_param: NeutronPhysicalBridge} - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - - get_param: ControlPlaneStaticRoutes - members: - - type: interface - name: nic1 - # force the MAC address of the bridge to this interface - primary: true -{%- for network in networks if network.enabled|default(true) and network.name != 'External' %} - - type: vlan - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value] - diff --git a/network/config/single-nic-vlans/role.role.j2.yaml b/network/config/single-nic-vlans/role.role.j2.yaml deleted file mode 100644 index 43e5bc51fd..0000000000 --- a/network/config/single-nic-vlans/role.role.j2.yaml +++ /dev/null @@ -1,159 +0,0 @@ -{#- Convert net map or net list to internal list of networks #} -{#- NOTE(hjensas): For backward compatibility support role data with both #} -{#- networks map (new schema) and network list (old schema). #} -{%- if role.networks is mapping %} -{%- set _role_networks = [] %} -{%- for key, val in role.networks.items() %} -{%- set _ = _role_networks.append(key) %} -{%- endfor %} -{%- else %} -{%- set _role_networks = role.networks %} -{%- endif %} -heat_template_version: rocky -description: > - Software Config to drive os-net-config to configure VLANs for the {{role.name}} role. -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ControlPlaneSubnetCidr: - default: '' - description: > - The subnet CIDR of the control plane network. (The parameter is - automatically resolved from the ctlplane subnet's cidr attribute.) - type: string - ControlPlaneDefaultRoute: - default: '' - description: The default route of the control plane network. (The parameter - is automatically resolved from the ctlplane subnet's gateway_ip attribute.) - type: string - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number -{% for network in networks if network.enabled|default(true) and network.name in role.networks %} - {{network.name}}IpSubnet: - default: '' - description: IP address/subnet on the {{network.name_lower}} network - type: string - {{network.name}}NetworkVlanID: - default: {{network.vlan|default(1)}} - description: Vlan ID for the {{network.name_lower}} network traffic. - type: number - {{network.name}}Mtu: - default: {{network.mtu|default('1500')}} - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - {{network.name}} network. - type: number -{%- if network.name in role.default_route_networks %} - {{network.name}}InterfaceDefaultRoute: - default: '' - description: default route for the {{network.name_lower}} network - type: string -{%- endif %} - {{network.name}}InterfaceRoutes: - default: [] - description: > - Routes for the {{network.name_lower}} network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json -{%- endfor %} - DnsServers: # Override this via parameter_defaults - default: [] - description: > - DNS servers to use for the Overcloud (2 max for some implementations). - If not set the nameservers configured in the ctlplane subnet's - dns_nameservers attribute will be used. - type: comma_delimited_list - DnsSearchDomains: # Override this via parameter_defaults - default: [] - description: A list of DNS search domains to be added (in order) to resolv.conf. - type: comma_delimited_list - NeutronPhysicalBridge: - default: 'br-ex' - description: An OVS bridge to create for accessing external networks. - type: string - -resources: - - MinViableMtu: - # This resource resolves the minimum viable MTU for interfaces, bonds and - # bridges that carry multiple VLANs. Each VLAN may have different MTU. The - # bridge, bond or interface must have an MTU to allow the VLAN with the - # largest MTU. - type: OS::Heat::Value - properties: - type: number - value: - yaql: - expression: $.data.max() - data: - - {get_param: ControlPlaneMtu} -{%- for network in networks if network.enabled|default(true) and network.name in role.networks %} - - {get_param: {{network.name}}Mtu} -{%- endfor %} - - OsNetConfigImpl: - type: OS::Heat::Value - properties: - value: - network_config: - - type: ovs_bridge -{%- if 'ceph' in role.tags or 'storage' in role.tags %} - name: br-storage -{%- else %} - name: {get_param: NeutronPhysicalBridge} -{%- endif %} - mtu: - get_attr: [MinViableMtu, value] - use_dhcp: false - dns_servers: - get_param: DnsServers - domain: - get_param: DnsSearchDomains - addresses: - - ip_netmask: - list_join: - - / - - - get_param: ControlPlaneIp - - get_param: ControlPlaneSubnetCidr - routes: - get_param: ControlPlaneStaticRoutes - members: - - type: interface - name: nic1 - mtu: - get_attr: [MinViableMtu, value] - # force the MAC address of the bridge to this interface - primary: true -{%- for network in networks if network.enabled|default(true) and network.name in _role_networks %} - - type: vlan - mtu: - get_param: {{network.name}}Mtu - vlan_id: - get_param: {{network.name}}NetworkVlanID - addresses: - - ip_netmask: - get_param: {{network.name}}IpSubnet - routes: - get_param: {{network.name}}InterfaceRoutes -{%- endfor %} -outputs: - config: - description: The OsNetConfigImpl resource. - value: - get_attr: [OsNetConfigImpl, value]