Add MTU to neutron networks and nic-config templates

Neutron has support[1] to set the guaranteed MTU for
networks and network segments so that this is exposed
to plug-ins. In interest of supporting the use of
plug-ins to configure network devices in the future
this change adds MTU property on neutron networks.

The new (optional) property 'mtu' in the network
defenitions in 'network_data.yaml' is used to control
the MTU settings. By default the mtu is '1500'.

We already configure the MTU on the ctlplane neutron
networks, this adds the MTU to composable networks.

Also update the nic-config sample templates to include
mtu settings. A heat value resource is added to
nic-config templates to get the required minimum
viable MTU value for bridges, bonds and member
interfaces to ensure the MTU is large enough to allow
the largest configured MTU to traverse the path.

Closes-Bug: #1790537
Change-Id: I11e38f82eb9040f77412fe8ad200fcc48031e2f8
This commit is contained in:
Harald Jensås 2018-09-04 01:08:28 +02:00
parent 62b4dedb71
commit e644e3dda9
48 changed files with 1461 additions and 46 deletions

View File

@ -28,6 +28,12 @@ parameters:
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
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
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.
type: number
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
@ -52,6 +64,12 @@ parameters:
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
@ -64,6 +82,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -76,6 +100,12 @@ parameters:
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.
type: number
StorageNFSIpSubnet:
default: ''
description: IP address/subnet on the storage_nfs network
@ -100,6 +130,12 @@ parameters:
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.
type: number
ManagementIpSubnet:
default: ''
description: IP address/subnet on the management network
@ -112,6 +148,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
OvSBridgeMtu:
default: 1300
description: The mtu of the OvS bridge

View File

@ -28,6 +28,12 @@ parameters:
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
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
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.
type: number
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
@ -52,6 +64,12 @@ parameters:
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
@ -64,6 +82,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -76,6 +100,12 @@ parameters:
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.
type: number
StorageNFSIpSubnet:
default: ''
description: IP address/subnet on the storage_nfs network
@ -92,6 +122,12 @@ parameters:
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.
type: number
ManagementIpSubnet:
default: ''
description: IP address/subnet on the management network
@ -104,6 +140,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
DnsServers: # Override this via parameter_defaults
default: []
description: >

View File

@ -25,6 +25,12 @@ parameters:
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
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@ -37,6 +43,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
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.
type: number
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
@ -49,6 +61,12 @@ parameters:
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
@ -61,6 +79,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -73,6 +97,12 @@ parameters:
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.
type: number
StorageNFSIpSubnet:
default: ''
description: IP address/subnet on the storage_nfs network
@ -89,6 +119,12 @@ parameters:
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.
type: number
ManagementIpSubnet:
default: ''
description: IP address/subnet on the management network
@ -101,6 +137,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
DnsServers: # Override this via parameter_defaults
default: []
description: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -17,6 +17,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
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.
type: number
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
@ -29,6 +35,12 @@ parameters:
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
@ -41,6 +53,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +71,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +89,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +107,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -17,6 +17,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
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.
type: number
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
@ -29,6 +35,12 @@ parameters:
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
@ -41,6 +53,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +71,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +89,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +107,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -29,6 +29,12 @@ parameters:
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
@ -41,6 +47,12 @@ parameters:
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.
type: number
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
@ -53,6 +65,12 @@ parameters:
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.
type: number
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
@ -65,6 +83,12 @@ parameters:
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.
type: number
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
@ -77,6 +101,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
ManagementMtu:
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
Management network.
type: number
BondInterfaceOvsOptions:
default: 'bond_mode=active-backup'
description: The ovs_options string for the bond interface. Set things like
@ -110,6 +140,12 @@ parameters:
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.
type: number
ControlPlaneSubnetCidr:
default: ''
description: >
@ -129,6 +165,12 @@ parameters:
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: >

View File

@ -35,6 +35,12 @@ parameters:
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: >
@ -52,6 +58,12 @@ parameters:
default: ''
description: IP address/subnet on the {{network.name_lower}} network
type: string
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
resources:
OsNetConfigImpl:

View File

@ -25,6 +25,12 @@ parameters:
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: >
@ -50,6 +56,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
resources:
OsNetConfigImpl:

View File

@ -19,6 +19,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneDefaultRoute:
description: The default route of the control plane network. (The parameter
@ -39,6 +45,12 @@ parameters:
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: >

View File

@ -28,6 +28,12 @@ parameters:
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: >
@ -53,6 +59,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
resources:

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneSubnetCidr:
default: ''
@ -40,6 +46,12 @@ parameters:
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: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneSubnetCidr:
default: ''
@ -40,6 +46,12 @@ parameters:
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: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneSubnetCidr:
default: ''
@ -40,6 +46,12 @@ parameters:
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: >

View File

@ -19,6 +19,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneSubnetCidr:
default: ''
@ -39,6 +45,12 @@ parameters:
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: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{{network.name}}Mtu:
default: {{network.mtu}}
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 %}
ControlPlaneSubnetCidr:
default: ''
@ -40,6 +46,12 @@ parameters:
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: >

View File

@ -26,7 +26,13 @@ parameters:
Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute.
type: json
{%- for network in networks %}
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: ''
@ -36,6 +42,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -84,6 +96,41 @@ parameters:
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::SoftwareConfig
properties:
@ -97,6 +144,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -117,6 +166,8 @@ resources:
{%- endif %}
- type: linux_bond
name: bond_api
mtu:
get_attr: [MinViableMtuBondApi, value]
use_dhcp: false
bonding_options:
get_param: BondInterfaceOvsOptions
@ -125,12 +176,18 @@ resources:
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:
@ -153,17 +210,25 @@ resources:
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:

View File

@ -29,6 +29,12 @@ parameters:
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: ''
@ -38,6 +44,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'

View File

@ -27,6 +27,12 @@ parameters:
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: ''
@ -36,6 +42,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -75,6 +87,24 @@ parameters:
for OVS bonds or like mode=4 for Linux bonds using this option.'
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) %}
- {get_param: {{network.name}}Mtu}
{%- endfor %}
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
@ -88,6 +118,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -106,20 +138,30 @@ resources:
get_param: ControlPlaneDefaultRoute
- type: ovs_bridge
name: bridge_name
mtu:
get_attr: [MinViableMtu, value]
dns_servers:
get_param: DnsServers
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]
- type: vlan
mtu:
get_attr: [ExternalMtu, value]
vlan_id:
get_param: ExternalNetworkVlanID
addresses:
@ -132,6 +174,8 @@ resources:
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
mtu:
get_attr: [InternalApiMtu, value]
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
@ -140,6 +184,8 @@ resources:
routes:
get_param: InternalApiInterfaceRoutes
- type: vlan
mtu:
get_attr: [StorageMtu, value]
vlan_id:
get_param: StorageNetworkVlanID
addresses:
@ -148,6 +194,8 @@ resources:
routes:
get_param: StorageInterfaceRoutes
- type: vlan
mtu:
get_attr: [StorageMgmtMtu, value]
vlan_id:
get_param: StorageMgmtNetworkVlanID
addresses:
@ -156,6 +204,8 @@ resources:
routes:
get_param: StorageMgmtInterfaceRoutes
- type: vlan
mtu:
get_attr: [TenantMtu, value]
vlan_id:
get_param: TenantNetworkVlanID
addresses:
@ -168,6 +218,8 @@ resources:
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#- type: vlan
# mtu:
# get_attr: [ManagementMtu, value]
# vlan_id:
# get_param: ManagementNetworkVlanID
# addresses:

View File

@ -25,6 +25,12 @@ parameters:
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: ''
@ -34,17 +40,23 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endif %}
{{network.name}}InterfaceRoutes:
default: []
description: >
@ -79,6 +91,24 @@ parameters:
type: number
{%- endif %}
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::SoftwareConfig
properties:
@ -92,6 +122,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -112,26 +144,34 @@ resources:
{%- endif %}
{%- if not role.name.startswith('ComputeOvsDpdk') %}
- type: ovs_bridge
{%- if role.name.startswith('CephStorage') or role.name.startswith('ObjectStorage') or role.name.startswith('BlockStorage') %}
{%- if role.name.startswith('CephStorage') or role.name.startswith('ObjectStorage') or role.name.startswith('BlockStorage') %}
name: br-bond
{%- else %}
{%- else %}
name: bridge_name
{%- endif %}
{%- endif %}
dns_servers:
get_param: DnsServers
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
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
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:
@ -140,16 +180,18 @@ resources:
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
{%- endif %}
{%- 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
@ -158,12 +200,18 @@ resources:
members:
- type: interface
name: nic2
mtu:
get_attr: [MinViableMtu, value]
primary: true
- type: interface
name: nic3
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
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:
@ -172,12 +220,12 @@ resources:
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
{%- endif %}
{%- endfor %}
# Used as a provider network with external DHCP
- type: ovs_user_bridge
name: br-dpdk0

View File

@ -27,6 +27,12 @@ parameters:
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: ''
@ -36,6 +42,12 @@ parameters:
default: {{network.vlan|default("")}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -82,6 +94,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -102,6 +116,8 @@ resources:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic2
mtu:
get_param: StorageMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -110,6 +126,8 @@ resources:
get_param: StorageInterfaceRoutes
- type: interface
name: nic4
mtu:
get_param: InternalApiMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -118,6 +136,8 @@ resources:
get_param: InternalApiInterfaceRoutes
- type: ovs_bridge
name: br-tenant
mtu:
get_param: TenantMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -127,23 +147,31 @@ resources:
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: bridge_name
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:

View File

@ -26,6 +26,12 @@ parameters:
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: ''
@ -35,6 +41,12 @@ parameters:
default: {{network.vlan|default("")}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -81,6 +93,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -102,6 +116,8 @@ resources:
get_param: ControlPlaneDefaultRoute
- type: interface
name: nic2
mtu:
get_param: StorageMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -110,6 +126,8 @@ resources:
get_param: StorageInterfaceRoutes
- type: interface
name: nic3
mtu:
get_param: StorageMgmtMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -118,6 +136,8 @@ resources:
get_param: StorageMgmtInterfaceRoutes
- type: interface
name: nic4
mtu:
get_param: InternalApiMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -126,6 +146,8 @@ resources:
get_param: InternalApiInterfaceRoutes
- type: ovs_bridge
name: br-tenant
mtu:
get_param: TenantMtu
use_dhcp: false
addresses:
- ip_netmask:
@ -135,10 +157,14 @@ resources:
members:
- type: interface
name: nic5
mtu:
get_param: TenantMtu
use_dhcp: false
primary: true
- type: ovs_bridge
name: bridge_name
mtu:
get_param: ExternalMtu
dns_servers:
get_param: DnsServers
use_dhcp: false
@ -153,6 +179,8 @@ resources:
get_param: ExternalInterfaceDefaultRoute
members:
- type: interface
mtu:
get_param: ExternalMtu
name: nic6
primary: true
# Uncomment when including environments/network-management.yaml
@ -161,6 +189,8 @@ resources:
# make the External API unreachable from remote subnets.
#- type: interface
# name: nic7
# mtu:
# get_param: ManagementMtu
# use_dhcp: false
# addresses:
# - ip_netmask:

View File

@ -25,6 +25,12 @@ parameters:
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: ''
@ -34,17 +40,23 @@ parameters:
default: {{network.vlan|default("")}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endif %}
{{network.name}}InterfaceRoutes:
default: []
description: >
@ -86,6 +98,8 @@ resources:
network_config:
- type: interface
name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -108,10 +122,12 @@ resources:
{%- endif %}
{%- 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 %}
{%- 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:
@ -119,39 +135,45 @@ resources:
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endif %}
{%- elif network.name in role.networks or role.name == 'Networker' or role.name == 'ComputeDVR' %}
{%- endif %}
{%- endif %}
{%- elif network.name in role.networks or role.name == 'Networker' or role.name == 'ComputeDVR' %}
- type: ovs_bridge
{%- if network.name == "External" %}
{%- if network.name == "External" %}
name: bridge_name
{%- else %}
{%- else %}
name: br-{{network.name_lower}}
{%- endif %}
{%- endif %}
mtu:
get_param: {{network.name}}Mtu
dns_servers:
get_param: DnsServers
use_dhcp: false
{%- if network.name in role.networks %}
{%- if network.name in role.networks %}
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endif %}
{%- endif %}
{%- endif %}
members:
- type: interface
name: nic{{loop.index + 1}}
mtu:
get_param: {{network.name}}Mtu
use_dhcp: false
primary: true
{%- endif %}
{%- endif %}
{#- This hack gets around Jinja scope limitations to update nics_used within loop. #}
{%- set _ = nics_used.append(loop.index) %}
{%- endfor %}

View File

@ -26,6 +26,12 @@ parameters:
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: ''
@ -35,6 +41,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -68,6 +80,24 @@ parameters:
is automatically resolved from the ctlplane subnet's host_routes attribute.)
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) %}
- {get_param: {{network.name}}Mtu}
{%- endfor %}
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
@ -81,6 +111,8 @@ resources:
network_config:
- type: linux_bridge
name: bridge_name
mtu:
get_attr: [MinViableMtu, value]
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -102,8 +134,12 @@ resources:
members:
- type: interface
name: interface_name
mtu:
get_attr: [MinViableMtu, value]
primary: true
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: ExternalNetworkVlanID
device: bridge_name
@ -117,6 +153,8 @@ resources:
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: InternalApiNetworkVlanID
device: bridge_name
@ -126,6 +164,8 @@ resources:
routes:
get_param: InternalApiInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: StorageNetworkVlanID
device: bridge_name
@ -135,6 +175,8 @@ resources:
routes:
get_param: StorageInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: bridge_name
@ -144,6 +186,8 @@ resources:
routes:
get_param: StorageMgmtInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: TenantNetworkVlanID
device: bridge_name
@ -157,6 +201,8 @@ resources:
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#- type: vlan
# mtu:
# get_attr: [MinViableMtu, value]
# vlan_id:
# get_param: ManagementNetworkVlanID
# device: bridge_name

View File

@ -25,6 +25,12 @@ parameters:
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: ''
@ -34,17 +40,23 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endif %}
{{network.name}}InterfaceRoutes:
default: []
description: >
@ -67,6 +79,24 @@ parameters:
is automatically resolved from the ctlplane subnet's host_routes attribute.)
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::SoftwareConfig
properties:
@ -84,6 +114,8 @@ resources:
{%- else %}
name: bridge_name
{%- endif %}
mtu:
get_attr: [MinViableMtu, value]
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -107,28 +139,32 @@ resources:
members:
- type: interface
name: interface_name
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 role.name.startswith('CephStorage') or role.name.startswith('ObjectStorage') or role.name.startswith('BlockStorage') %}
{%- if role.name.startswith('CephStorage') or role.name.startswith('ObjectStorage') or role.name.startswith('BlockStorage') %}
device: br-storage
{%- else %}
{%- else %}
device: bridge_name
{%- endif %}
{%- endif %}
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endif %}
{%- endfor %}
outputs:
OS::stack_id:

View File

@ -29,6 +29,12 @@ parameters:
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: ''
@ -38,6 +44,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'

View File

@ -26,6 +26,12 @@ parameters:
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: ''
@ -35,6 +41,12 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
@ -68,6 +80,24 @@ parameters:
is automatically resolved from the ctlplane subnet's host_routes attribute.)
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) %}
- {get_param: {{network.name}}Mtu}
{%- endfor %}
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
@ -81,6 +111,8 @@ resources:
network_config:
- type: ovs_bridge
name: bridge_name
mtu:
get_attr: [MinViableMtu, value]
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -102,8 +134,12 @@ resources:
members:
- type: interface
name: nic1
mtu:
get_attr: [MinViableMtu, value]
primary: true
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: ExternalNetworkVlanID
addresses:
@ -116,6 +152,8 @@ resources:
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
@ -124,6 +162,8 @@ resources:
routes:
get_param: InternalApiInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: StorageNetworkVlanID
addresses:
@ -132,6 +172,8 @@ resources:
routes:
get_param: StorageInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: StorageMgmtNetworkVlanID
addresses:
@ -140,6 +182,8 @@ resources:
routes:
get_param: StorageMgmtInterfaceRoutes
- type: vlan
mtu:
get_attr: [MinViableMtu, value]
vlan_id:
get_param: TenantNetworkVlanID
addresses:
@ -152,6 +196,8 @@ resources:
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#- type: vlan
# mtu:
# get_attr: [MinViableMtu, value]
# vlan_id:
# get_param: ManagementNetworkVlanID
# addresses:

View File

@ -25,6 +25,12 @@ parameters:
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: ''
@ -34,17 +40,23 @@ parameters:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}Mtu:
default: {{network.mtu}}
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.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endif %}
{{network.name}}InterfaceRoutes:
default: []
description: >
@ -67,6 +79,24 @@ parameters:
is automatically resolved from the ctlplane subnet's host_routes attribute.)
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::SoftwareConfig
properties:
@ -84,6 +114,8 @@ resources:
{%- else %}
name: bridge_name
{%- endif %}
mtu:
get_attr: [MinViableMtu, value]
use_dhcp: false
dns_servers:
get_param: DnsServers
@ -107,10 +139,14 @@ resources:
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:
@ -119,11 +155,11 @@ resources:
routes:
list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %}
{%- if network.name in role.default_route_networks %}
- - default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endif %}
{%- endfor %}
outputs:
OS::stack_id:

View File

@ -79,6 +79,12 @@ parameters:
Routes are added to the host_routes property on the subnet in neutron
when the network and subnet is created.
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
resources:
{{network.name}}Network:
@ -87,7 +93,10 @@ resources:
admin_state_up: {get_param: {{network.name}}NetAdminStateUp}
name: {get_param: {{network.name}}NetName}
shared: {get_param: {{network.name}}NetShared}
value_specs: {get_param: {{network.name}}NetValueSpecs}
value_specs:
map_merge:
- {get_param: {{network.name}}NetValueSpecs}
- {'mtu': {get_param: {{network.name}}Mtu}}
{{network.name}}Subnet:
type: OS::Neutron::Subnet

View File

@ -19,6 +19,12 @@ parameters:
description: The name of the undercloud Neutron control plane subnet
default: ctlplane-subnet
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
PortName:
description: Name of the port
default: ''
@ -66,3 +72,7 @@ outputs:
host_routes: # Here for compatibility
description: Host routes of the ports subnet
value: []
mtu:
description: The maximum transmission unit (MTU)
value:
get_param: ControlPlaneMtu

View File

@ -101,3 +101,7 @@ outputs:
description: Host routes of the ports subnet
value:
get_attr: [{{network.name}}Port, subnets, 0, host_routes]
mtu:
description: The maximum transmission unit (MTU)
value:
get_attr: [{{network.name}}Port, network, mtu]

View File

@ -81,4 +81,7 @@ outputs:
host_routes:
description: Host routes of the ports subnet
value: {{network.routes|default([])}}
mtu:
description: The maximum transmission unit (MTU)
value: {{network.mtu|default('1500')}}

View File

@ -29,6 +29,9 @@
# set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default
# transformation for the resource's name.
# mtu: Set the maximum transmission unit (MTU) that is guaranteed to pass
# through the data path of the segments in the network.
# (optional, defaults to 1500)
#
# Example:
# - name Example
@ -62,6 +65,7 @@
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageMgmt
name_lower: storage_mgmt
vip: true
@ -70,6 +74,7 @@
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: InternalApi
name_lower: internal_api
vip: true
@ -78,6 +83,7 @@
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: Tenant
vip: false # Tenant network does not use VIPs
name_lower: tenant
@ -87,6 +93,7 @@
# Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: External
vip: true
name_lower: external
@ -97,6 +104,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management
# Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use.
@ -110,3 +118,4 @@
gateway_ipv6: 'fd00:fd00:fd00:6000::1'
ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
mtu: 1500

View File

@ -26,6 +26,9 @@
# set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default
# transformation for the resource's name.
# mtu: Set the maximum transmission unit (MTU) that is guaranteed to pass
# through the data path of the segments in the network.
# (optional, defaults to 1500)
#
# Example:
# - name Example
@ -59,6 +62,7 @@
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageMgmt
name_lower: storage_mgmt
vip: true
@ -67,6 +71,7 @@
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: InternalApi
name_lower: internal_api
vip: true
@ -75,6 +80,7 @@
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: Tenant
vip: false # Tenant network does not use VIPs
name_lower: tenant
@ -84,6 +90,7 @@
# Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: External
vip: true
name_lower: external
@ -94,6 +101,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management
# Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use.
@ -107,6 +115,7 @@
gateway_ipv6: 'fd00:fd00:fd00:6000::1'
ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageNFS
enabled: true
vip: true
@ -116,3 +125,4 @@
allocation_pools: [{'start': '172.16.4.4', 'end': '172.16.4.250'}]
ipv6_subnet: 'fd00:fd00:fd00:7000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:7000::10', 'end': 'fd00:fd00:fd00:7000:ffff:ffff:ffff:fffe'}]
mtu: 1500

View File

@ -40,6 +40,9 @@
# set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default
# transformation for the resource's name.
# mtu: Set the maximum transmission unit (MTU) that is guaranteed to pass
# through the data path of the segments in the network.
# (optional, defaults to 1500)
#
# Example: # A single 10.0.0.0/16 route works for up to 255 /24 networks
# - name Example1
@ -83,6 +86,7 @@
ipv6_subnet: 'fd00:fd00:fd00:3000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:3004::/64', 'nexthop':'fd00:fd00:fd00:3000::1'}]
mtu: 1500
- name: StorageLeaf2
vip: false
vlan: 31
@ -94,6 +98,7 @@
ipv6_subnet: 'fd00:fd00:fd00:3004::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3004::10', 'end': 'fd00:fd00:fd00:3004:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:3000::/64', 'nexthop':'fd00:fd00:fd00:3004::1'}]
mtu: 1500
- name: StorageMgmt
name_lower: storage_mgmt
vip: true
@ -105,6 +110,7 @@
ipv6_subnet: 'fd00:fd00:fd00:4000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:4004::/64', 'nexthop':'fd00:fd00:fd00:4000::1'}]
mtu: 1500
- name: StorageMgmtLeaf2
name_lower: storage_mgmt2
vip: false
@ -116,6 +122,7 @@
ipv6_subnet: 'fd00:fd00:fd00:4004::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4004::10', 'end': 'fd00:fd00:fd00:4004:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:4000::/64', 'nexthop':'fd00:fd00:fd00:4004::1'}]
mtu: 1500
- name: InternalApi
name_lower: internal_api
vip: true
@ -127,6 +134,7 @@
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:2004::/64', 'nexthop':'fd00:fd00:fd00:2000::1'}]
mtu: 1500
- name: InternalApiLeaf2
name_lower: internal_api2
vip: false
@ -138,6 +146,7 @@
ipv6_subnet: 'fd00:fd00:fd00:2004::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2004::10', 'end': 'fd00:fd00:fd00:2004:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:2000::/64', 'nexthop':'fd00:fd00:fd00:2004::1'}]
mtu: 1500
- name: Tenant
vip: false # Tenant networks do not use VIPs
name_lower: tenant
@ -150,6 +159,7 @@
ipv6_subnet: 'fd00:fd00:fd00:5000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:5004::/64', 'nexthop':'fd00:fd00:fd00:5000::1'}]
mtu: 1500
- name: TenantLeaf2
vip: false # Tenant networks do not use VIPs
name_lower: tenant2
@ -162,6 +172,7 @@
ipv6_subnet: 'fd00:fd00:fd00:5004::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5004::10', 'end': 'fd00:fd00:fd00:5004:ffff:ffff:ffff:fffe'}]
routes_ipv6: [{'destination':'fd00:fd00:fd00:5000::/64', 'nexthop':'fd00:fd00:fd00:5004::1'}]
mtu: 1500
- name: External
vip: true
name_lower: external
@ -172,6 +183,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management
# Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use.
@ -185,3 +197,4 @@
ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: 'fd00:fd00:fd00:6000::1'
mtu: 1500

View File

@ -509,6 +509,7 @@ resources:
- ctlplane_static_routes_set
- {get_param: ControlPlaneStaticRoutes}
- {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, host_routes]}
ControlPlaneMtu: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, network, mtu]}
EC2MetadataIp:
if:
- ec2metadaip_set
@ -532,6 +533,7 @@ resources:
- {{network.name_lower}}_interface_routes_set
- {get_param: {{network.name}}InterfaceRoutes}
- {get_attr: [{{network.name}}Port, host_routes]}
{{network.name}}Mtu: {get_attr: [{{network.name}}Port, mtu]}
{%- endif %}
{%- endfor %}

View File

@ -0,0 +1,58 @@
---
features:
- |
The network data for composible networks have been extended to enable
configuration of the maximum transmission unit (MTU) that is guaranteed to
pass through the data path of the segments in the network. The MTU property
is set on the neutron networks in the undercloud. The MTU information
is used in the nic-config templates so that overcloud node networking is
configured with the correct MTU settings.
upgrade:
- |
Prior to upgrading any custom nic-config templates must have the MTU
associated parameters introduced in this release added. As an example the
following must be added to all nic-config templates when network isolation
is used::
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
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.
type: number
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.
type: number
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
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.
type: number
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.
type: numbe
ManagementMtu:
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
Management network.
type: number