heat_template_version: rocky
description: >
Software Config to drive os-net-config to configure VLANs for the controller role.
parameters:
ControlPlaneIp:
default: ''
description: IP address/subnet on the ctlplane network
type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
type: string
ExternalInterfaceRoutes:
default: []
description: >
Routes for the external network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
InternalApiIpSubnet:
default: ''
description: IP address/subnet on the internal_api network
type: string
InternalApiInterfaceRoutes:
default: []
description: >
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
StorageIpSubnet:
default: ''
description: IP address/subnet on the storage network
type: string
StorageInterfaceRoutes:
default: []
description: >
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
StorageMgmtIpSubnet:
default: ''
description: IP address/subnet on the storage_mgmt network
type: string
StorageMgmtInterfaceRoutes:
default: []
description: >
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
TenantIpSubnet:
default: ''
description: IP address/subnet on the tenant network
type: string
TenantInterfaceRoutes:
default: []
description: >
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
ManagementIpSubnet: # Only populated when including environments/network-management.yaml
default: ''
description: IP address/subnet on the management network
type: string
ManagementInterfaceRoutes:
default: []
description: >
Routes for the management network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
BondInterfaceOvsOptions:
default: bond_mode=active-backup
description: >-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
type: number
StorageNetworkVlanID:
default: 30
description: Vlan ID for the storage network traffic.
type: number
StorageMgmtNetworkVlanID:
default: 40
description: Vlan ID for the storage_mgmt network traffic.
type: number
TenantNetworkVlanID:
default: 50
description: Vlan ID for the tenant network traffic.
type: number
ManagementNetworkVlanID:
default: 60
description: Vlan ID for the management network traffic.
type: number
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for the external network
type: string
ControlPlaneSubnetCidr:
default: ''
description: >
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
attribute.)
type: string
ControlPlaneDefaultRoute:
default: ''
description: >-
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
gateway_ip attribute.)
type: string
DnsServers: # Override this via parameter_defaults
default: []
description: >
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
ctlplane subnet's dns_nameservers attribute will be used.
type: comma_delimited_list
EC2MetadataIp:
default: ''
description: >-
The IP address of the EC2 metadata server. (The parameter is automatically resolved from the ctlplane subnet's host_routes
attribute.)
type: string
ControlPlaneStaticRoutes:
default: []
description: >
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
type: json
ControlPlaneMtu:
default: 1500
description: >-
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
type: number
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: number
resources:
OsNetConfigImpl:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
str_replace:
template:
get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
params:
$network_config:
network_config:
- type: interface
name: nic1
use_dhcp: false
addresses:
- ip_netmask:
list_join:
- /
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- ip_netmask: 169.254.169.254/32
next_hop:
get_param: EC2MetadataIp
- type: ovs_bridge
name: br-link0
use_dhcp: false
mtu: 9000
members:
- type: interface
name: nic2
mtu: 9000
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
mtu: 9000
addresses:
- ip_netmask:
get_param: TenantIpSubnet
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: ovs_bridge
name: br-access
use_dhcp: false
mtu: 9000
members:
- type: interface
name: nic3
mtu: 9000
- type: vlan
vlan_id:
get_param: ExternalNetworkVlanID
mtu: 9000
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
next_hop:
get_param: ExternalInterfaceDefaultRoute
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl
heat_template_version: rocky
description:>
Software Config to drive os-net-config to configure VLANs for the controller role.parameters:ControlPlaneIp:default:''description: IP address/subnet on the ctlplane network
type: string
ExternalIpSubnet:default:''description: IP address/subnet on the external network
type: string
ExternalInterfaceRoutes:default:[]description:>
Routes for the external network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
InternalApiIpSubnet:default:''description: IP address/subnet on the internal_api network
type: string
InternalApiInterfaceRoutes:default:[]description:>
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
StorageIpSubnet:default:''description: IP address/subnet on the storage network
type: string
StorageInterfaceRoutes:default:[]description:>
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
StorageMgmtIpSubnet:default:''description: IP address/subnet on the storage_mgmt network
type: string
StorageMgmtInterfaceRoutes:default:[]description:>
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
TenantIpSubnet:default:''description: IP address/subnet on the tenant network
type: string
TenantInterfaceRoutes:default:[]description:>
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
ManagementIpSubnet:# Only populated when including environments/network-management.yamldefault:''description: IP address/subnet on the management network
type: string
ManagementInterfaceRoutes:default:[]description:>
Routes for the management network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
BondInterfaceOvsOptions:default: bond_mode=active-backup
description:>-
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
type: string
ExternalNetworkVlanID:default:10description: Vlan ID for the external network traffic.
type: number
InternalApiNetworkVlanID:default:20description: Vlan ID for the internal_api network traffic.
type: number
StorageNetworkVlanID:default:30description: Vlan ID for the storage network traffic.
type: number
StorageMgmtNetworkVlanID:default:40description: Vlan ID for the storage_mgmt network traffic.
type: number
TenantNetworkVlanID:default:50description: Vlan ID for the tenant network traffic.
type: number
ManagementNetworkVlanID:default:60description: Vlan ID for the management network traffic.
type: number
ExternalInterfaceDefaultRoute:default: 10.0.0.1
description: default route for the external network
type: string
ControlPlaneSubnetCidr:default:''description:>
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
attribute.)type: string
ControlPlaneDefaultRoute:default:''description:>-
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
gateway_ip attribute.)
type: string
DnsServers:# Override this via parameter_defaultsdefault:[]description:>
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
ctlplane subnet's dns_nameservers attribute will be used.type: comma_delimited_list
EC2MetadataIp:default:''description:>-
The IP address of the EC2 metadata server. (The parameter is automatically resolved from the ctlplane subnet's host_routes
attribute.)
type: string
ControlPlaneStaticRoutes:default:[]description:>
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.type: json
ControlPlaneMtu:default:1500description:>-
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:1500description:>-
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:1500description:>-
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:1500description:>-
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:1500description:>-
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:1500description:>-
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
resources:OsNetConfigImpl:type: OS::Heat::SoftwareConfig
properties:group: script
config:str_replace:template:get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh
params:$network_config:network_config:-type: interface
name: nic1
use_dhcp:falseaddresses:-ip_netmask:list_join:- /
--get_param: ControlPlaneIp
-get_param: ControlPlaneSubnetCidr
routes:-ip_netmask: 169.254.169.254/32
next_hop:get_param: EC2MetadataIp
-type: ovs_bridge
name: br-link0
use_dhcp:falsemtu:9000members:-type: interface
name: nic2
mtu:9000-type: vlan
vlan_id:get_param: TenantNetworkVlanID
mtu:9000addresses:-ip_netmask:get_param: TenantIpSubnet
-type: vlan
vlan_id:get_param: InternalApiNetworkVlanID
addresses:-ip_netmask:get_param: InternalApiIpSubnet
-type: vlan
vlan_id:get_param: StorageNetworkVlanID
addresses:-ip_netmask:get_param: StorageIpSubnet
-type: vlan
vlan_id:get_param: StorageMgmtNetworkVlanID
addresses:-ip_netmask:get_param: StorageMgmtIpSubnet
-type: ovs_bridge
name: br-access
use_dhcp:falsemtu:9000members:-type: interface
name: nic3
mtu:9000-type: vlan
vlan_id:get_param: ExternalNetworkVlanID
mtu:9000addresses:-ip_netmask:get_param: ExternalIpSubnet
routes:-default:truenext_hop:get_param: ExternalInterfaceDefaultRoute
outputs:OS::stack_id:description: The OsNetConfigImpl resource.
value:get_resource: OsNetConfigImpl
Copy to ClipboardCopied!Toggle word wrapToggle overflow