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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -35,6 +35,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >
@ -52,6 +58,12 @@ parameters:
default: '' default: ''
description: IP address/subnet on the {{network.name_lower}} network description: IP address/subnet on the {{network.name_lower}} network
type: string 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 %} {%- endfor %}
resources: resources:
OsNetConfigImpl: OsNetConfigImpl:

View File

@ -25,6 +25,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >
@ -50,6 +56,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
resources: resources:
OsNetConfigImpl: OsNetConfigImpl:

View File

@ -19,6 +19,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneDefaultRoute: ControlPlaneDefaultRoute:
description: The default route of the control plane network. (The parameter 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 The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.) automatically resolved from the ctlplane subnet's cidr attribute.)
type: string 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

@ -28,6 +28,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >
@ -53,6 +59,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
resources: resources:

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneSubnetCidr: ControlPlaneSubnetCidr:
default: '' default: ''
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneSubnetCidr: ControlPlaneSubnetCidr:
default: '' default: ''
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneSubnetCidr: ControlPlaneSubnetCidr:
default: '' default: ''
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

@ -19,6 +19,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneSubnetCidr: ControlPlaneSubnetCidr:
default: '' default: ''
@ -39,6 +45,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

@ -20,6 +20,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {%- endfor %}
ControlPlaneSubnetCidr: ControlPlaneSubnetCidr:
default: '' default: ''
@ -40,6 +46,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 DnsServers: # Override this via parameter_defaults
default: [] default: []
description: > description: >

View File

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

View File

@ -29,6 +29,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {% for network in networks %}
{{network.name}}IpSubnet: {{network.name}}IpSubnet:
default: '' default: ''
@ -38,6 +44,12 @@ parameters:
default: {{network.vlan}} default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic. description: Vlan ID for the {{network.name_lower}} network traffic.
type: number 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) %} {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute: {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}' default: '{{network.gateway_ipv6}}'

View File

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

View File

@ -25,6 +25,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {% for network in networks if network.enabled|default(true) and network.name in role.networks %}
{{network.name}}IpSubnet: {{network.name}}IpSubnet:
default: '' default: ''
@ -34,17 +40,23 @@ parameters:
default: {{network.vlan}} default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic. description: Vlan ID for the {{network.name_lower}} network traffic.
type: number 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: {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}' default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network description: default route for the {{network.name_lower}} network
type: string type: string
{%- elif network.gateway_ip|default(false) %} {%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute: {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}' default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %} {%- endif %}
{{network.name}}InterfaceRoutes: {{network.name}}InterfaceRoutes:
default: [] default: []
description: > description: >
@ -79,6 +91,24 @@ parameters:
type: number type: number
{%- endif %} {%- endif %}
resources: 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: OsNetConfigImpl:
type: OS::Heat::SoftwareConfig type: OS::Heat::SoftwareConfig
properties: properties:
@ -92,6 +122,8 @@ resources:
network_config: network_config:
- type: interface - type: interface
name: nic1 name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false use_dhcp: false
addresses: addresses:
- ip_netmask: - ip_netmask:
@ -112,26 +144,34 @@ resources:
{%- endif %} {%- endif %}
{%- if not role.name.startswith('ComputeOvsDpdk') %} {%- if not role.name.startswith('ComputeOvsDpdk') %}
- type: ovs_bridge - 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 name: br-bond
{%- else %} {%- else %}
name: bridge_name name: bridge_name
{%- endif %} {%- endif %}
dns_servers: dns_servers:
get_param: DnsServers get_param: DnsServers
members: members:
- type: ovs_bond - type: ovs_bond
name: bond1 name: bond1
mtu:
get_attr: [MinViableMtu, value]
ovs_options: ovs_options:
get_param: BondInterfaceOvsOptions get_param: BondInterfaceOvsOptions
members: members:
- type: interface - type: interface
name: nic2 name: nic2
mtu:
get_attr: [MinViableMtu, value]
primary: true primary: true
- type: interface - type: interface
name: nic3 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 - type: vlan
mtu:
get_param: {{network.name}}Mtu
vlan_id: vlan_id:
get_param: {{network.name}}NetworkVlanID get_param: {{network.name}}NetworkVlanID
addresses: addresses:
@ -140,16 +180,18 @@ resources:
routes: routes:
list_concat_unique: list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes - get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %} {%- if network.name in role.default_route_networks %}
- - default: true - - default: true
next_hop: next_hop:
get_param: {{network.name}}InterfaceDefaultRoute get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
{%- else %} {%- else %}
# Linux bond for non-DPDK traffic required when using DPDK # Linux bond for non-DPDK traffic required when using DPDK
- type: linux_bond - type: linux_bond
name: bond_api name: bond_api
mtu:
get_attr: [MinViableMtu, value]
bonding_options: bonding_options:
get_param: BondInterfaceOvsOptions get_param: BondInterfaceOvsOptions
use_dhcp: false use_dhcp: false
@ -158,12 +200,18 @@ resources:
members: members:
- type: interface - type: interface
name: nic2 name: nic2
mtu:
get_attr: [MinViableMtu, value]
primary: true primary: true
- type: interface - type: interface
name: nic3 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 - type: vlan
device: bond_api device: bond_api
mtu:
get_param: {{network.name}}Mtu
vlan_id: vlan_id:
get_param: {{network.name}}NetworkVlanID get_param: {{network.name}}NetworkVlanID
addresses: addresses:
@ -172,12 +220,12 @@ resources:
routes: routes:
list_concat_unique: list_concat_unique:
- get_param: {{network.name}}InterfaceRoutes - get_param: {{network.name}}InterfaceRoutes
{%- if network.name in role.default_route_networks %} {%- if network.name in role.default_route_networks %}
- - default: true - - default: true
next_hop: next_hop:
get_param: {{network.name}}InterfaceDefaultRoute get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
# Used as a provider network with external DHCP # Used as a provider network with external DHCP
- type: ovs_user_bridge - type: ovs_user_bridge
name: br-dpdk0 name: br-dpdk0

View File

@ -27,6 +27,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {% for network in networks %}
{{network.name}}IpSubnet: {{network.name}}IpSubnet:
default: '' default: ''
@ -36,6 +42,12 @@ parameters:
default: {{network.vlan|default("")}} default: {{network.vlan|default("")}}
description: Vlan ID for the {{network.name_lower}} network traffic. description: Vlan ID for the {{network.name_lower}} network traffic.
type: number 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) %} {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute: {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}' default: '{{network.gateway_ipv6}}'
@ -82,6 +94,8 @@ resources:
network_config: network_config:
- type: interface - type: interface
name: nic1 name: nic1
mtu:
get_param: ControlPlaneMtu
use_dhcp: false use_dhcp: false
dns_servers: dns_servers:
get_param: DnsServers get_param: DnsServers
@ -102,6 +116,8 @@ resources:
get_param: ControlPlaneDefaultRoute get_param: ControlPlaneDefaultRoute
- type: interface - type: interface
name: nic2 name: nic2
mtu:
get_param: StorageMtu
use_dhcp: false use_dhcp: false
addresses: addresses:
- ip_netmask: - ip_netmask:
@ -110,6 +126,8 @@ resources:
get_param: StorageInterfaceRoutes get_param: StorageInterfaceRoutes
- type: interface - type: interface
name: nic4 name: nic4
mtu:
get_param: InternalApiMtu
use_dhcp: false use_dhcp: false
addresses: addresses:
- ip_netmask: - ip_netmask:
@ -118,6 +136,8 @@ resources:
get_param: InternalApiInterfaceRoutes get_param: InternalApiInterfaceRoutes
- type: ovs_bridge - type: ovs_bridge
name: br-tenant name: br-tenant
mtu:
get_param: TenantMtu
use_dhcp: false use_dhcp: false
addresses: addresses:
- ip_netmask: - ip_netmask:
@ -127,23 +147,31 @@ resources:
members: members:
- type: interface - type: interface
name: nic5 name: nic5
mtu:
get_param: TenantMtu
use_dhcp: false use_dhcp: false
primary: true primary: true
# External bridge for DVR (no IP address required) # External bridge for DVR (no IP address required)
- type: ovs_bridge - type: ovs_bridge
name: bridge_name name: bridge_name
mtu:
get_param: ExternalMtu
dns_servers: dns_servers:
get_param: DnsServers get_param: DnsServers
use_dhcp: false use_dhcp: false
members: members:
- type: interface - type: interface
name: nic6 name: nic6
mtu:
get_param: ExternalMtu
primary: true primary: true
# Uncomment when including environments/network-management.yaml # Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment # If setting default route on the Management interface, comment
# out the default route on the Control Plane. # out the default route on the Control Plane.
#- type: interface #- type: interface
# name: nic7 # name: nic7
# mtu:
# get_param: ManagementMtu
# use_dhcp: false # use_dhcp: false
# addresses: # addresses:
# - ip_netmask: # - ip_netmask:

View File

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

View File

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

View File

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

View File

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

View File

@ -29,6 +29,12 @@ parameters:
Unless the default is changed, the parameter is automatically resolved Unless the default is changed, the parameter is automatically resolved
from the subnet host_routes attribute. from the subnet host_routes attribute.
type: json 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 %} {% for network in networks %}
{{network.name}}IpSubnet: {{network.name}}IpSubnet:
default: '' default: ''
@ -38,6 +44,12 @@ parameters:
default: {{network.vlan}} default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic. description: Vlan ID for the {{network.name_lower}} network traffic.
type: number 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) %} {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute: {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}' default: '{{network.gateway_ipv6}}'

View File

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

View File

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

View File

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

View File

@ -19,6 +19,12 @@ parameters:
description: The name of the undercloud Neutron control plane subnet description: The name of the undercloud Neutron control plane subnet
default: ctlplane-subnet default: ctlplane-subnet
type: string 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: PortName:
description: Name of the port description: Name of the port
default: '' default: ''
@ -66,3 +72,7 @@ outputs:
host_routes: # Here for compatibility host_routes: # Here for compatibility
description: Host routes of the ports subnet description: Host routes of the ports subnet
value: [] 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 description: Host routes of the ports subnet
value: value:
get_attr: [{{network.name}}Port, subnets, 0, host_routes] 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: host_routes:
description: Host routes of the ports subnet description: Host routes of the ports subnet
value: {{network.routes|default([])}} 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. # set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default # compat_name: for existing stack you may need to override the default
# transformation for the resource's name. # 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: # Example:
# - name Example # - name Example
@ -62,6 +65,7 @@
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageMgmt - name: StorageMgmt
name_lower: storage_mgmt name_lower: storage_mgmt
vip: true vip: true
@ -70,6 +74,7 @@
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: InternalApi - name: InternalApi
name_lower: internal_api name_lower: internal_api
vip: true vip: true
@ -78,6 +83,7 @@
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: Tenant - name: Tenant
vip: false # Tenant network does not use VIPs vip: false # Tenant network does not use VIPs
name_lower: tenant name_lower: tenant
@ -87,6 +93,7 @@
# Note that tenant tunneling is only compatible with IPv4 addressing at this time. # Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: External - name: External
vip: true vip: true
name_lower: external name_lower: external
@ -97,6 +104,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64' 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'}] 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' gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management - name: Management
# Management network is enabled by default for backwards-compatibility, but # Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use. # 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' gateway_ipv6: 'fd00:fd00:fd00:6000::1'
ipv6_subnet: 'fd00:fd00:fd00:6000::/64' 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'}] 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. # set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default # compat_name: for existing stack you may need to override the default
# transformation for the resource's name. # 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: # Example:
# - name Example # - name Example
@ -59,6 +62,7 @@
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageMgmt - name: StorageMgmt
name_lower: storage_mgmt name_lower: storage_mgmt
vip: true vip: true
@ -67,6 +71,7 @@
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: InternalApi - name: InternalApi
name_lower: internal_api name_lower: internal_api
vip: true vip: true
@ -75,6 +80,7 @@
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: Tenant - name: Tenant
vip: false # Tenant network does not use VIPs vip: false # Tenant network does not use VIPs
name_lower: tenant name_lower: tenant
@ -84,6 +90,7 @@
# Note that tenant tunneling is only compatible with IPv4 addressing at this time. # Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: External - name: External
vip: true vip: true
name_lower: external name_lower: external
@ -94,6 +101,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64' 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'}] 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' gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management - name: Management
# Management network is enabled by default for backwards-compatibility, but # Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use. # 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' gateway_ipv6: 'fd00:fd00:fd00:6000::1'
ipv6_subnet: 'fd00:fd00:fd00:6000::/64' 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'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
mtu: 1500
- name: StorageNFS - name: StorageNFS
enabled: true enabled: true
vip: true vip: true
@ -116,3 +125,4 @@
allocation_pools: [{'start': '172.16.4.4', 'end': '172.16.4.250'}] allocation_pools: [{'start': '172.16.4.4', 'end': '172.16.4.250'}]
ipv6_subnet: 'fd00:fd00:fd00:7000::/64' 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'}] 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. # set some default IPv6 addresses.
# compat_name: for existing stack you may need to override the default # compat_name: for existing stack you may need to override the default
# transformation for the resource's name. # 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 # Example: # A single 10.0.0.0/16 route works for up to 255 /24 networks
# - name Example1 # - name Example1
@ -83,6 +86,7 @@
ipv6_subnet: 'fd00:fd00:fd00:3000::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:3004::/64', 'nexthop':'fd00:fd00:fd00:3000::1'}]
mtu: 1500
- name: StorageLeaf2 - name: StorageLeaf2
vip: false vip: false
vlan: 31 vlan: 31
@ -94,6 +98,7 @@
ipv6_subnet: 'fd00:fd00:fd00:3004::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:3000::/64', 'nexthop':'fd00:fd00:fd00:3004::1'}]
mtu: 1500
- name: StorageMgmt - name: StorageMgmt
name_lower: storage_mgmt name_lower: storage_mgmt
vip: true vip: true
@ -105,6 +110,7 @@
ipv6_subnet: 'fd00:fd00:fd00:4000::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:4004::/64', 'nexthop':'fd00:fd00:fd00:4000::1'}]
mtu: 1500
- name: StorageMgmtLeaf2 - name: StorageMgmtLeaf2
name_lower: storage_mgmt2 name_lower: storage_mgmt2
vip: false vip: false
@ -116,6 +122,7 @@
ipv6_subnet: 'fd00:fd00:fd00:4004::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:4000::/64', 'nexthop':'fd00:fd00:fd00:4004::1'}]
mtu: 1500
- name: InternalApi - name: InternalApi
name_lower: internal_api name_lower: internal_api
vip: true vip: true
@ -127,6 +134,7 @@
ipv6_subnet: 'fd00:fd00:fd00:2000::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:2004::/64', 'nexthop':'fd00:fd00:fd00:2000::1'}]
mtu: 1500
- name: InternalApiLeaf2 - name: InternalApiLeaf2
name_lower: internal_api2 name_lower: internal_api2
vip: false vip: false
@ -138,6 +146,7 @@
ipv6_subnet: 'fd00:fd00:fd00:2004::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:2000::/64', 'nexthop':'fd00:fd00:fd00:2004::1'}]
mtu: 1500
- name: Tenant - name: Tenant
vip: false # Tenant networks do not use VIPs vip: false # Tenant networks do not use VIPs
name_lower: tenant name_lower: tenant
@ -150,6 +159,7 @@
ipv6_subnet: 'fd00:fd00:fd00:5000::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:5004::/64', 'nexthop':'fd00:fd00:fd00:5000::1'}]
mtu: 1500
- name: TenantLeaf2 - name: TenantLeaf2
vip: false # Tenant networks do not use VIPs vip: false # Tenant networks do not use VIPs
name_lower: tenant2 name_lower: tenant2
@ -162,6 +172,7 @@
ipv6_subnet: 'fd00:fd00:fd00:5004::/64' 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'}] 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'}] routes_ipv6: [{'destination':'fd00:fd00:fd00:5000::/64', 'nexthop':'fd00:fd00:fd00:5004::1'}]
mtu: 1500
- name: External - name: External
vip: true vip: true
name_lower: external name_lower: external
@ -172,6 +183,7 @@
ipv6_subnet: '2001:db8:fd00:1000::/64' 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'}] 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' gateway_ipv6: '2001:db8:fd00:1000::1'
mtu: 1500
- name: Management - name: Management
# Management network is enabled by default for backwards-compatibility, but # Management network is enabled by default for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use. # 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_subnet: 'fd00:fd00:fd00:6000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] 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' gateway_ipv6: 'fd00:fd00:fd00:6000::1'
mtu: 1500

View File

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