Browse Source

Create NetworkConfig per-role in overcloud.yaml

For each role create a network config resource
{role.name}}NetworkConfig. Remove per node
NetworkConfig resource from puppet/role.role.j2.yaml.

NOTE: CI nic config templates was updated with using
      tools/merge-new-params-nic-config-script.py

Depends-On: https://review.opendev.org/753930
Change-Id: Iff4bf742947a5a8170938372a8075519850b6f63
changes/41/753941/12
Harald Jensås 9 months ago
parent
commit
ff30e794d1
19 changed files with 694 additions and 783 deletions
  1. +42
    -40
      ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml
  2. +39
    -42
      ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml
  3. +54
    -54
      ci/environments/network/multiple-nics-ipv6/nic-configs/compute-dvr.yaml
  4. +49
    -50
      ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml
  5. +68
    -69
      ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml
  6. +39
    -42
      ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml
  7. +42
    -40
      ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml
  8. +54
    -35
      ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml
  9. +54
    -53
      ci/environments/network/multiple-nics/nic-configs/compute-dvr.yaml
  10. +49
    -50
      ci/environments/network/multiple-nics/nic-configs/compute.yaml
  11. +66
    -68
      ci/environments/network/multiple-nics/nic-configs/controller.yaml
  12. +39
    -42
      ci/environments/network/multiple-nics/nic-configs/swift-storage.yaml
  13. +1
    -1
      environments/standalone/standalone-tripleo.yaml
  14. +4
    -0
      net-config-standalone.j2.yaml
  15. +4
    -0
      net-config-undercloud.j2.yaml
  16. +67
    -27
      overcloud.j2.yaml
  17. +14
    -164
      puppet/role.role.j2.yaml
  18. +7
    -6
      sample-env-generator/standalone.yaml
  19. +2
    -0
      sample-env-generator/undercloud-minion.yaml

+ 42
- 40
ci/environments/network/multiple-nics-ipv6/nic-configs/ceph-storage.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -30,21 +27,19 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
StorageNetworkVlanID:
default: 30
@ -57,36 +52,37 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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:
default: []
description: A list of DNS search domains to be added (in order) to resolv.conf.
type: comma_delimited_list
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -101,26 +97,32 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
ip_netmask: 0.0.0.0/0
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic4
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageIpSubnet}
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic5
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageMgmtIpSubnet}
- ip_netmask:
get_param: StorageMgmtIpSubnet
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 39
- 42
ci/environments/network/multiple-nics-ipv6/nic-configs/cinder-storage.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -30,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -48,21 +43,19 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
@ -79,44 +72,48 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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:
default: []
description: A list of DNS search domains to be added (in order) to resolv.conf.
type: comma_delimited_list
resources:
OsNetConfigImpl:
type: OS::Heat::Value
properties:
value:
network_config: []
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 54
- 54
ci/environments/network/multiple-nics-ipv6/nic-configs/compute-dvr.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -30,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
TenantIpSubnet:
default: ''
@ -48,21 +43,19 @@ parameters:
TenantInterfaceRoutes:
default: []
description: >
Routes for the tenant 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.
Routes for the tenant 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
TenantMtu:
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
Tenant network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Tenant network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
@ -79,45 +72,41 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
default: 10.0.0.1
description: default route for the external network
type: string
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -132,31 +121,37 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
ip_netmask: 0.0.0.0/0
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic3
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: InternalApiIpSubnet}
- ip_netmask:
get_param: InternalApiIpSubnet
- type: interface
name: nic4
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageIpSubnet}
- ip_netmask:
get_param: StorageIpSubnet
- type: ovs_bridge
name: br-tenant
dns_servers: {get_param: DnsServers}
domain: {get_param: DnsSearchDomains}
dns_servers:
get_param: DnsServers
domain:
get_param: DnsSearchDomains
use_dhcp: false
addresses:
- ip_netmask: {get_param: TenantIpSubnet}
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic6
@ -164,18 +159,23 @@ resources:
primary: true
- type: ovs_bridge
name: br-ex
dns_servers: {get_param: DnsServers}
dns_servers:
get_param: DnsServers
use_dhcp: false
routes:
- ip_netmask: ::/0
next_hop: {get_param: ExternalInterfaceDefaultRoute}
next_hop:
get_param: ExternalInterfaceDefaultRoute
members:
- type: interface
name: nic2
mtu: 1350
primary: true
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 49
- 50
ci/environments/network/multiple-nics-ipv6/nic-configs/compute.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -30,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
TenantIpSubnet:
default: ''
@ -48,21 +43,19 @@ parameters:
TenantInterfaceRoutes:
default: []
description: >
Routes for the tenant 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.
Routes for the tenant 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
TenantMtu:
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
Tenant network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Tenant network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
@ -79,40 +72,37 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -127,38 +117,47 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
ip_netmask: 0.0.0.0/0
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic3
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: InternalApiIpSubnet}
- ip_netmask:
get_param: InternalApiIpSubnet
- type: interface
name: nic4
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageIpSubnet}
- ip_netmask:
get_param: StorageIpSubnet
- type: ovs_bridge
name: br-tenant
dns_servers: {get_param: DnsServers}
domain: {get_param: DnsSearchDomains}
dns_servers:
get_param: DnsServers
domain:
get_param: DnsSearchDomains
use_dhcp: false
addresses:
- ip_netmask: {get_param: TenantIpSubnet}
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic6
mtu: 1350
primary: true
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 68
- 69
ci/environments/network/multiple-nics-ipv6/nic-configs/controller.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,10 +11,8 @@ parameters:
ExternalInterfaceRoutes:
default: []
description: >
Routes for the external 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.
Routes for the external 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
InternalApiIpSubnet:
default: ''
@ -24,16 +21,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -42,16 +37,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -60,16 +53,14 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
TenantIpSubnet:
default: ''
@ -78,21 +69,19 @@ parameters:
TenantInterfaceRoutes:
default: []
description: >
Routes for the tenant 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.
Routes for the tenant 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
TenantMtu:
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
Tenant network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Tenant network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
ExternalNetworkVlanID:
default: 10
@ -115,52 +104,49 @@ parameters:
description: Vlan ID for the tenant network traffic.
type: number
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
default: 10.0.0.1
description: default route for the external network
type: string
ExternalMtu:
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
External network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the External network.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -175,23 +161,28 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
ip_netmask: 0.0.0.0/0
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: ovs_bridge
name: br-ex
dns_servers: {get_param: DnsServers}
domain: {get_param: DnsSearchDomains}
dns_servers:
get_param: DnsServers
domain:
get_param: DnsSearchDomains
use_dhcp: false
addresses:
- ip_netmask: {get_param: ExternalIpSubnet}
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
ip_netmask: ::/0
next_hop: {get_param: ExternalInterfaceDefaultRoute}
next_hop:
get_param: ExternalInterfaceDefaultRoute
members:
- type: interface
name: nic2
@ -202,32 +193,40 @@ resources:
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: InternalApiIpSubnet}
- ip_netmask:
get_param: InternalApiIpSubnet
- type: interface
name: nic4
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageIpSubnet}
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic5
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageMgmtIpSubnet}
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: ovs_bridge
name: br-tenant
dns_servers: {get_param: DnsServers}
dns_servers:
get_param: DnsServers
use_dhcp: false
addresses:
- ip_netmask: {get_param: TenantIpSubnet}
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic6
mtu: 1350
primary: true
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 39
- 42
ci/environments/network/multiple-nics-ipv6/nic-configs/swift-storage.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -30,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -48,21 +43,19 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
@ -79,44 +72,48 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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:
default: []
description: A list of DNS search domains to be added (in order) to resolv.conf.
type: comma_delimited_list
resources:
OsNetConfigImpl:
type: OS::Heat::Value
properties:
value:
network_config: []
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 42
- 40
ci/environments/network/multiple-nics/nic-configs/ceph-storage.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -30,21 +27,19 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
StorageNetworkVlanID:
default: 30
@ -57,36 +52,37 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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:
default: []
description: A list of DNS search domains to be added (in order) to resolv.conf.
type: comma_delimited_list
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -101,25 +97,31 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic4
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageIpSubnet}
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic5
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: StorageMgmtIpSubnet}
- ip_netmask:
get_param: StorageMgmtIpSubnet
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 54
- 35
ci/environments/network/multiple-nics/nic-configs/cinder-storage.yaml View File

@ -1,10 +1,25 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
description: IP address/subnet on the ctlplane network
type: string
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
type: string
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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
InternalApiMtu:
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 InternalApi network.
type: number
StorageIpSubnet:
default: ''
description: IP address/subnet on the storage network
@ -12,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
StorageMgmtIpSubnet:
default: ''
@ -30,22 +43,24 @@ parameters:
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt 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.
Routes for the storage_mgmt 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
StorageMgmtMtu:
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
StorageMgmt network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the StorageMgmt network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
type: number
StorageNetworkVlanID:
default: 30
description: Vlan ID for the storage network traffic.
@ -57,44 +72,48 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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:
default: []
description: A list of DNS search domains to be added (in order) to resolv.conf.
type: comma_delimited_list
resources:
OsNetConfigImpl:
type: OS::Heat::Value
properties:
value:
network_config: []
outputs:
config:
description: The OsNetConfigImpl resource.
value: {get_attr: [OsNetConfigImpl, value]}
value:
get_attr:
- OsNetConfigImpl
- value

+ 54
- 53
ci/environments/network/multiple-nics/nic-configs/compute-dvr.yaml View File

@ -1,5 +1,4 @@
heat_template_version: rocky
parameters:
ControlPlaneIp:
default: ''
@ -12,16 +11,14 @@ parameters:
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api 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.
Routes for the internal_api 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
InternalApiMtu:
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
InternalApi network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the InternalApi network.
type: number
StorageIpSubnet:
default: ''
@ -30,16 +27,14 @@ parameters:
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage 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.
Routes for the storage 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
StorageMtu:
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
Storage network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Storage network.
type: number
TenantIpSubnet:
default: ''
@ -48,21 +43,19 @@ parameters:
TenantInterfaceRoutes:
default: []
description: >
Routes for the tenant 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.
Routes for the tenant 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
TenantMtu:
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
Tenant network.
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the Tenant network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
InternalApiNetworkVlanID:
default: 20
@ -79,44 +72,41 @@ parameters:
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
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.)
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.
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.)
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.
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
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
default: 10.0.0.1
description: default route for the external network
type: string
resources:
OsNetConfigImpl:
type: OS::Heat::Value
@ -131,19 +121,23 @@ resources:
- ip_netmask:
list_join:
- /
- - {get_param: ControlPlaneIp}
- {get_param: ControlPlaneSubnetCidr}
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
next_hop:
get_param: ControlPlaneDefaultRoute
- type: ovs_bridge
name: br-ex
dns_servers: {get_param: DnsServers}
domain: {get_param: DnsSearchDomains}
dns_servers:
get_param: DnsServers
domain:
get_param: DnsSearchDomains
use_dhcp: false
routes:
- ip_netmask: 0.0.0.0/0
next_hop: {get_param: ExternalInterfaceDefaultRoute}
next_hop:
get_param: ExternalInterfaceDefaultRoute
members:
- type: interface
name: nic2
@ -154,26 +148,33 @@ resources:
mtu: 1350
use_dhcp: false
addresses:
- ip_netmask: {get_param: InternalApiIpSubnet}
- ip_netmask:
get_param: InternalApiIpSubnet
- type: interface
name: nic4
mtu: 1350
use_dhcp: