heat_template_version: rocky
description: >
Software Config to drive os-net-config to configure VLANs for the
compute 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
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
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
defroute: false
- type: interface
name: nic2
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
- default: true
next_hop:
get_param: ControlPlaneDefaultRoute
- type: linux_bond
name: bond_api
bonding_options: mode=active-backup
use_dhcp: false
dns_servers:
get_param: DnsServers
members:
- type: interface
name: nic3
primary: true
- type: interface
name: nic4
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: bond_api
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: bond_api
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: ovs_user_bridge
name: br-link0
use_dhcp: false
ovs_extra:
- str_replace:
template: set port br-link0 tag=_VLAN_TAG_
params:
_VLAN_TAG_:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: ovs_dpdk_bond
name: dpdkbond0
mtu: 9000
rx_queue: 2
members:
- type: ovs_dpdk_port
name: dpdk0
members:
- type: interface
name: nic7
- type: ovs_dpdk_port
name: dpdk1
members:
- type: interface
name: nic8
- type: sriov_pf
name: nic9
mtu: 9000
numvfs: 10
use_dhcp: false
defroute: false
nm_controlled: true
hotplug: true
promisc: false
- type: sriov_pf
name: nic10
mtu: 9000
numvfs: 10
use_dhcp: false
defroute: false
nm_controlled: true
hotplug: true
promisc: false
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
compute 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
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
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:falsedefroute:false-type: interface
name: nic2
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
-default:truenext_hop:get_param: ControlPlaneDefaultRoute
-type: linux_bond
name: bond_api
bonding_options: mode=active-backup
use_dhcp:falsedns_servers:get_param: DnsServers
members:-type: interface
name: nic3
primary:true-type: interface
name: nic4
-type: vlan
vlan_id:get_param: InternalApiNetworkVlanID
device: bond_api
addresses:-ip_netmask:get_param: InternalApiIpSubnet
-type: vlan
vlan_id:get_param: StorageNetworkVlanID
device: bond_api
addresses:-ip_netmask:get_param: StorageIpSubnet
-type: ovs_user_bridge
name: br-link0
use_dhcp:falseovs_extra:-str_replace:template: set port br-link0 tag=_VLAN_TAG_
params:_VLAN_TAG_:get_param: TenantNetworkVlanID
addresses:-ip_netmask:get_param: TenantIpSubnet
members:-type: ovs_dpdk_bond
name: dpdkbond0
mtu:9000rx_queue:2members:-type: ovs_dpdk_port
name: dpdk0
members:-type: interface
name: nic7
-type: ovs_dpdk_port
name: dpdk1
members:-type: interface
name: nic8
-type: sriov_pf
name: nic9
mtu:9000numvfs:10use_dhcp:falsedefroute:falsenm_controlled:truehotplug:truepromisc:false-type: sriov_pf
name: nic10
mtu:9000numvfs:10use_dhcp:falsedefroute:falsenm_controlled:truehotplug:truepromisc:falseoutputs:OS::stack_id:description: The OsNetConfigImpl resource.
value:get_resource: OsNetConfigImpl
Copy to ClipboardCopied!Toggle word wrapToggle overflow