Create NetworkConfig per-role in overcloud.yaml
For each role create a network config resource {role.name}}NetworkConfig. Remove per node NetworkConfig resource from puppet/role.role.j2.yaml. NOTE: CI nic config templates was updated with using tools/merge-new-params-nic-config-script.py Depends-On: https://review.opendev.org/753930 Change-Id: Iff4bf742947a5a8170938372a8075519850b6f63
This commit is contained in:
parent
f7e35f9fca
commit
ff30e794d1
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -30,21 +27,19 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
@ -57,36 +52,37 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -101,26 +97,32 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: interface
|
||||
name: nic5
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||
|
||||
- ip_netmask:
|
||||
get_param: StorageMgmtIpSubnet
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,44 +72,48 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
value:
|
||||
network_config: []
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,45 +72,41 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
default: 10.0.0.1
|
||||
description: default route for the external network
|
||||
type: string
|
||||
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -132,31 +121,37 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: interface
|
||||
name: nic3
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
@ -164,18 +159,23 @@ resources:
|
||||
primary: true
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
use_dhcp: false
|
||||
routes:
|
||||
- ip_netmask: ::/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ExternalInterfaceDefaultRoute
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,40 +72,37 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -127,38 +117,47 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: interface
|
||||
name: nic3
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,10 +11,8 @@ parameters:
|
||||
ExternalInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the external network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the external network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
@ -24,16 +21,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -42,16 +37,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -60,16 +53,14 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -78,21 +69,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
ExternalNetworkVlanID:
|
||||
default: 10
|
||||
@ -115,52 +104,49 @@ parameters:
|
||||
description: Vlan ID for the tenant network traffic.
|
||||
type: number
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
default: 10.0.0.1
|
||||
description: default route for the external network
|
||||
type: string
|
||||
ExternalMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
External network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the External network.
|
||||
type: number
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -175,23 +161,28 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: ExternalIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: ExternalIpSubnet
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: ::/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ExternalInterfaceDefaultRoute
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
@ -202,32 +193,40 @@ resources:
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: interface
|
||||
name: nic5
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageMgmtIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,44 +72,48 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
value:
|
||||
network_config: []
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -30,21 +27,19 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
@ -57,36 +52,37 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -101,25 +97,31 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: interface
|
||||
name: nic5
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||
|
||||
- ip_netmask:
|
||||
get_param: StorageMgmtIpSubnet
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,10 +1,25 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
description: IP address/subnet on the ctlplane network
|
||||
type: string
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the internal_api network
|
||||
type: string
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the storage network
|
||||
@ -12,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -30,22 +43,24 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
description: Vlan ID for the internal_api network traffic.
|
||||
type: number
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
description: Vlan ID for the storage network traffic.
|
||||
@ -57,44 +72,48 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
value:
|
||||
network_config: []
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,44 +72,41 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
default: 10.0.0.1
|
||||
description: default route for the external network
|
||||
type: string
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -131,19 +121,23 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
routes:
|
||||
- ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ExternalInterfaceDefaultRoute
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
@ -154,26 +148,33 @@ resources:
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,40 +72,37 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -127,37 +117,46 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes:
|
||||
- default: true
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ControlPlaneDefaultRoute
|
||||
- type: interface
|
||||
name: nic3
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
ExternalInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the external network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the external network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ExternalMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
External network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the External network.
|
||||
type: number
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -48,16 +43,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -66,16 +59,14 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
@ -84,21 +75,19 @@ parameters:
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the tenant network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
ExternalNetworkVlanID:
|
||||
default: 10
|
||||
@ -121,46 +110,43 @@ parameters:
|
||||
description: Vlan ID for the tenant network traffic.
|
||||
type: number
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
default: 10.0.0.1
|
||||
description: default route for the external network
|
||||
type: string
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
@ -175,18 +161,22 @@ resources:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
domain: {get_param: DnsSearchDomains}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
domain:
|
||||
get_param: DnsSearchDomains
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: ExternalIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: ExternalIpSubnet
|
||||
routes:
|
||||
- ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
next_hop:
|
||||
get_param: ExternalInterfaceDefaultRoute
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
@ -197,32 +187,40 @@ resources:
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: InternalApiIpSubnet
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageIpSubnet
|
||||
- type: interface
|
||||
name: nic5
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: StorageMgmtIpSubnet
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
- ip_netmask:
|
||||
get_param: TenantIpSubnet
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
@ -12,16 +11,14 @@ parameters:
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the internal_api network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
@ -30,16 +27,14 @@ parameters:
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the Storage network.
|
||||
type: number
|
||||
StorageMgmtIpSubnet:
|
||||
default: ''
|
||||
@ -48,21 +43,19 @@ parameters:
|
||||
StorageMgmtInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage_mgmt network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the storage_mgmt network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMgmtMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
StorageMgmt network.
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the StorageMgmt network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
default: bond_mode=active-backup
|
||||
description: >-
|
||||
The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
@ -79,44 +72,48 @@ parameters:
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
The subnet CIDR of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's cidr
|
||||
attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
description: >-
|
||||
The default route of the control plane network. (The parameter is automatically resolved from the ctlplane subnet's
|
||||
gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
Routes for the ctlplane network traffic. JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] Unless
|
||||
the default is changed, the parameter is automatically resolved from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
description: >-
|
||||
The maximum transmission unit (MTU) size(in bytes) that is guaranteed to pass through the data path of the segments
|
||||
in the network. (The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
DNS servers to use for the Overcloud (2 max for some implementations). If not set the nameservers configured in the
|
||||
ctlplane subnet's dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
DnsSearchDomains:
|
||||
default: []
|
||||
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
value:
|
||||
network_config: []
|
||||
|
||||
outputs:
|
||||
config:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_attr: [OsNetConfigImpl, value]}
|
||||
value:
|
||||
get_attr:
|
||||
- OsNetConfigImpl
|
||||
- value
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
# openstack overcloud roles generate -o ~/roles_data.yaml Standalone
|
||||
parameter_defaults:
|
||||
# Set to true to append per network Vips to /etc/hosts on each node.
|
||||
# Type: string
|
||||
# Type: boolean
|
||||
AddVipsToEtcHosts: False
|
||||
|
||||
# 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.
|
||||
|
@ -31,6 +31,10 @@ parameters:
|
||||
default: ''
|
||||
description: default route for the {{network.name_lower}} network
|
||||
type: string
|
||||
{{network.name}}NetworkVlanID:
|
||||
default: {{network.vlan|default(1)}}
|
||||
description: Vlan ID for the {{network.name_lower}} network traffic.
|
||||
type: number
|
||||
{%- endfor %}
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
|
@ -31,6 +31,10 @@ parameters:
|
||||
default: ''
|
||||
description: default route for the {{network.name_lower}} network
|
||||
type: string
|
||||
{{network.name}}NetworkVlanID:
|
||||
default: {{network.vlan|default(1)}}
|
||||
description: Vlan ID for the {{network.name_lower}} network traffic.
|
||||
type: number
|
||||
{%- endfor %}
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
|
@ -372,6 +372,14 @@ parameters:
|
||||
local device or a DMI String matches the specified id being written as a
|
||||
mapping file for os-net-config. (/etc/os-net-config/mapping.yaml)
|
||||
|
||||
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
|
||||
|
||||
{% for role in roles %}
|
||||
{%- if role.deprecated_param_scheduler_hints is defined or role.deprecated_param_extraconfig is defined %}
|
||||
{%- if not parameter_groups_defined|default(false) %}
|
||||
@ -461,6 +469,9 @@ conditions:
|
||||
- equals:
|
||||
- get_param: [EndpointMapOverride, NovaMetadataCellInternal]
|
||||
- ''
|
||||
dnsservers_set:
|
||||
not:
|
||||
equals: [{get_param: DnsServers}, []]
|
||||
|
||||
resources:
|
||||
|
||||
@ -952,42 +963,39 @@ resources:
|
||||
value:
|
||||
ctlplane_mtu: {get_attr: [Networks, net_attributes_map, ctlplane, network, mtu]}
|
||||
ctlplane_gateway_ip: {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, gateway_ip]}
|
||||
ctlplane_dns_nameservers: {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, dns_nameservers]}
|
||||
ctlplane_dns_nameservers:
|
||||
if:
|
||||
- dnsservers_set
|
||||
- {get_param: DnsServers}
|
||||
- {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, dns_nameservers]}
|
||||
ctlplane_subnet_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, cidr]}, 1]}
|
||||
ctlplane_host_routes: {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, host_routes]}
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{network.name_lower}}_mtu: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, network, mtu]}
|
||||
{%- if role.networks is mapping %}
|
||||
{{network.name_lower}}_gateway_ip: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{role.networks[network.name]['subnet']}}, gateway_ip]}
|
||||
{{network.name_lower}}_host_routes: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{role.networks[network.name]['subnet']}}, host_routes]}
|
||||
{{network.name_lower}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{role.networks[network.name]['subnet']}}, cidr]}, 1]}
|
||||
{{network.name_lower}}_vlan_id:
|
||||
yaql:
|
||||
expression: >
|
||||
switch(not isList($.data) => 1,
|
||||
not $.data.where($.startsWith('tripleo_vlan_id')).len() => 1,
|
||||
true => int($.data.where($.startsWith('tripleo_vlan_id')).first().split('=').last()))
|
||||
data: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{role.networks[network.name]['subnet']}}, tags]}
|
||||
{%- set _role_net_subnet = role.networks[network.name]['subnet'] %}
|
||||
{%- else %}
|
||||
{{network.name_lower}}_gateway_ip: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{network.name_lower}}_subnet, gateway_ip]}
|
||||
{{network.name_lower}}_host_routes: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{network.name_lower}}_subnet, host_routes]}
|
||||
{{network.name_lower}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{network.name_lower}}_subnet, cidr]}, 1]}
|
||||
{%- set _role_net_subnet = network.name_lower + '_subnet' %}
|
||||
{%- endif %}
|
||||
{{network.name_lower}}_mtu: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, network, mtu]}
|
||||
{{network.name_lower}}_gateway_ip: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, gateway_ip]}
|
||||
{{network.name_lower}}_host_routes: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, host_routes]}
|
||||
{{network.name_lower}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, cidr]}, 1]}
|
||||
{{network.name_lower}}_vlan_id:
|
||||
yaql:
|
||||
expression: >
|
||||
switch(not isList($.data) => 1,
|
||||
not $.data.where($.startsWith('tripleo_vlan_id')).len() => 1,
|
||||
true => int($.data.where($.startsWith('tripleo_vlan_id')).first().split('=').last()))
|
||||
data: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{network.name_lower}}_subnet, tags]}
|
||||
{%- endif %}
|
||||
data: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, tags]}
|
||||
{%- endfor %}
|
||||
network_cidrs:
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{%- if role.networks is mapping %}
|
||||
{{network.name}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{role.networks[network.name]['subnet']}}, cidr]}, 1]}
|
||||
{%- else %}
|
||||
{{network.name}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{network.name_lower}}_subnet, cidr]}, 1]}
|
||||
{%- endif %}
|
||||
{%- if role.networks is mapping %}
|
||||
{%- set _role_net_subnet = role.networks[network.name]['subnet'] %}
|
||||
{%- else %}
|
||||
{%- set _role_net_subnet = network.name_lower + '_subnet' %}
|
||||
{%- endif %}
|
||||
{{network.name}}_cidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, cidr]}, 1]}
|
||||
{%- endfor %}
|
||||
dns_search_domains: {get_param: DnsSearchDomains}
|
||||
local_mtu: {get_param: {{role.name}}LocalMtu}
|
||||
@ -1005,6 +1013,40 @@ resources:
|
||||
default_route_networks: {{role.default_route_networks}}
|
||||
networks_skip_config: {{role.networks_skip_config }}
|
||||
role_tags: {{role.tags}}
|
||||
|
||||
{{role.name}}NetworkConfig:
|
||||
type: OS::TripleO::{{role.name}}::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: "{{ '{{' }} ctlplane_ip {{ '}}' }}"
|
||||
ControlPlaneSubnetCidr: {str_split: ['/', {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, cidr]}, 1]}
|
||||
ControlPlaneDefaultRoute: {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, gateway_ip]}
|
||||
ControlPlaneStaticRoutes: {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, host_routes]}
|
||||
ControlPlaneMtu: {get_attr: [Networks, net_attributes_map, ctlplane, network, mtu]}
|
||||
DnsServers:
|
||||
if:
|
||||
- dnsservers_set
|
||||
- {get_param: DnsServers}
|
||||
- {get_attr: [Networks, net_attributes_map, ctlplane, subnets, {get_param: {{role.name}}ControlPlaneSubnet}, dns_nameservers]}
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{%- if role.networks is mapping %}
|
||||
{%- set _role_net_subnet = role.networks[network.name]['subnet'] %}
|
||||
{%- else %}
|
||||
{%- set _role_net_subnet = network.name_lower + '_subnet' %}
|
||||
{%- endif %}
|
||||
{{network.name}}IpSubnet: "{{ '{{' }} {{network.name_lower}}_ip ~ '/' ~ {{network.name_lower}}_cidr {{ '}}' }}"
|
||||
{{network.name}}InterfaceRoutes: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, host_routes]}
|
||||
{{network.name}}Mtu: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, network, mtu]}
|
||||
{{network.name}}NetworkVlanID:
|
||||
yaql:
|
||||
expression: >
|
||||
switch(not isList($.data) => 1,
|
||||
not $.data.where($.startsWith('tripleo_vlan_id')).len() => 1,
|
||||
true => int($.data.where($.startsWith('tripleo_vlan_id')).first().split('=').last()))
|
||||
data: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, tags]}
|
||||
{%- if network.name in role.default_route_networks %}
|
||||
{{network.name}}InterfaceDefaultRoute: {get_attr: [Networks, net_attributes_map, {{network.name_lower}}, subnets, {{_role_net_subnet}}, gateway_ip]}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
|
||||
ControlVirtualIP:
|
||||
@ -1329,13 +1371,11 @@ outputs:
|
||||
GlobalConfig:
|
||||
description: The global_config (hieradata).
|
||||
value: {get_attr: [GlobalConfig, value]}
|
||||
HostnameNetworkConfigMap:
|
||||
description: Mapping of hostname to NetworkConfig resource
|
||||
RoleNetworkConfigMap:
|
||||
description: Mapping of roles to network config
|
||||
value:
|
||||
map_merge:
|
||||
list_concat:
|
||||
{%- for role in roles %}
|
||||
- {get_attr: [{{role.name}}, hostname_network_config_map]}
|
||||
{{role.name}}: {get_attr: [{{role.name}}NetworkConfig, config]}
|
||||
{%- endfor %}
|
||||
AnsibleHostVarsMap:
|
||||
description: Map of Ansible Host variables per role
|
||||
|
@ -169,59 +169,6 @@ parameters:
|
||||
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
|
||||
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
|
||||
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
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{network.name}}InterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the {{network.name_lower}} 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
|
||||
{%- if role.networks is mapping %}
|
||||
{%- set _subnets = network.get('subnets') %}
|
||||
{%- set _role_net_subnet = role.networks[network.name].get('subnet') %}
|
||||
{%- if _subnets and _role_net_subnet and _role_net_subnet in _subnets %}
|
||||
{{network.name}}NetworkVlanID_{{_role_net_subnet}}:
|
||||
default: {{network.subnets[_role_net_subnet].vlan|default(1)}}
|
||||
description: >
|
||||
Vlan ID for the {{network.name_lower}} network traffic for subnet
|
||||
{{_role_net_subnet}}.
|
||||
type: number
|
||||
{%- elif network.vlan|default(false) %}
|
||||
{{network.name}}NetworkVlanID:
|
||||
default: {{network.vlan|default(1)}}
|
||||
description: Vlan ID for the {{network.name_lower}} network traffic.
|
||||
type: number
|
||||
{%- endif %}
|
||||
{%- elif network.vlan|default(false) %}
|
||||
{{network.name}}NetworkVlanID:
|
||||
default: {{network.vlan|default(1)}}
|
||||
description: Vlan ID for the {{network.name_lower}} network traffic.
|
||||
type: number
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
ServerDeletionPolicy:
|
||||
description: Whether to retain or delete servers on deletion of the stack
|
||||
type: string
|
||||
@ -281,32 +228,13 @@ conditions:
|
||||
- ""
|
||||
{%- endif %}
|
||||
- false # NOTE(hjensas): Make sure 'or' get's 2 conditions or more
|
||||
{%- for network in networks %}
|
||||
{%- if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{role.name}}_{{network.name}}_fixed_ip_set:
|
||||
not:
|
||||
equals:
|
||||
- {get_param: [{{role.name}}IPs, '{{network.name_lower}}', {get_param: NodeIndex}]}
|
||||
- ''
|
||||
{{network.name_lower}}_interface_routes_set:
|
||||
not:
|
||||
equals:
|
||||
- {get_param: {{network.name}}InterfaceRoutes}
|
||||
- []
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
ctlplane_subnet_cidr_set:
|
||||
not:
|
||||
equals: [{get_param: ControlPlaneSubnetCidr}, '']
|
||||
ctlplane_default_route_set:
|
||||
not:
|
||||
equals: [{get_param: ControlPlaneDefaultRoute}, '']
|
||||
ctlplane_static_routes_set:
|
||||
not:
|
||||
equals: [{get_param: ControlPlaneStaticRoutes}, []]
|
||||
dnsservers_set:
|
||||
not:
|
||||
equals: [{get_param: DnsServers}, []]
|
||||
|
||||
resources:
|
||||
{{server_resource_name}}:
|
||||
@ -378,6 +306,8 @@ resources:
|
||||
- - {get_attr: [{{server_resource_name}}, name]}
|
||||
- {{network.name}}
|
||||
DnsName: {get_attr: [{{server_resource_name}}, name]}
|
||||
# TODO(hjensas): Make network isolation the default, so that we can drop
|
||||
# using network/ports/noop.yaml as the default and remove this.
|
||||
ControlPlaneIP: {get_attr: [{{server_resource_name}}, networks, ctlplane, 0]}
|
||||
FixedIPs:
|
||||
if:
|
||||
@ -393,15 +323,14 @@ resources:
|
||||
{%- else %}
|
||||
- [{subnet: {{network.name_lower}}_subnet}]
|
||||
{%- endif %}
|
||||
# TODO(hjensas): Make network isolation the default, so that we can drop
|
||||
# using network/ports/noop.yaml as the default and remove this.
|
||||
ControlPlaneSubnetCidr:
|
||||
if:
|
||||
- ctlplane_subnet_cidr_set
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
# DeployedServer docs specify 'cidr: 24' in DeployedServerPortMap.
|
||||
# Support both that, and 'cidr: 192.168.24.0/24'.
|
||||
- yaql:
|
||||
expression: str("{0}".format($.data).split("/")[-1])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, cidr]}
|
||||
# DeployedServer docs specify 'cidr: 24' in DeployedServerPortMap.
|
||||
# Support both that, and 'cidr: 192.168.24.0/24'.
|
||||
yaql:
|
||||
expression: str("{0}".format($.data).split("/")[-1])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, cidr]}
|
||||
IPPool:
|
||||
map_merge:
|
||||
{%- if role.deprecated_param_ips is defined %}
|
||||
@ -412,77 +341,14 @@ resources:
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
NetworkConfig:
|
||||
type: OS::TripleO::{{role.name}}::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: "{{ '{{' }} ctlplane_ip {{ '}}' }}"
|
||||
ControlPlaneSubnetCidr:
|
||||
if:
|
||||
- ctlplane_subnet_cidr_set
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- yaql:
|
||||
expression: str("{0}".format($.data).split("/")[-1])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, cidr]}
|
||||
|
||||
ControlPlaneDefaultRoute:
|
||||
if:
|
||||
- ctlplane_default_route_set
|
||||
- {get_param: ControlPlaneDefaultRoute}
|
||||
- {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, gateway_ip]}
|
||||
ControlPlaneStaticRoutes:
|
||||
if:
|
||||
- ctlplane_static_routes_set
|
||||
- {get_param: ControlPlaneStaticRoutes}
|
||||
- yaql:
|
||||
expression: switch(isList($.data) => $.data, true => [])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, host_routes]}
|
||||
ControlPlaneMtu:
|
||||
yaql:
|
||||
expression: switch(isInteger($.data) => $.data, true => 1500)
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, network, mtu]}
|
||||
DnsServers:
|
||||
if:
|
||||
- dnsservers_set
|
||||
- {get_param: DnsServers}
|
||||
- {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, dns_nameservers]}
|
||||
|
||||
{%- for network in networks %}
|
||||
{%- if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{network.name}}IpSubnet: "{{ '{{' }} {{network.name_lower}}_ip ~ '/' ~ {{network.name_lower}}_cidr {{ '}}' }}"
|
||||
{{network.name}}InterfaceRoutes:
|
||||
if:
|
||||
- {{network.name_lower}}_interface_routes_set
|
||||
- {get_param: {{network.name}}InterfaceRoutes}
|
||||
- {get_attr: [{{network.name}}Port, host_routes]}
|
||||
{{network.name}}Mtu: {get_attr: [{{network.name}}Port, mtu]}
|
||||
{%- if network.name in role.default_route_networks %}
|
||||
{{network.name}}InterfaceDefaultRoute: {get_attr: [{{network.name}}Port, gateway_ip]}
|
||||
{%- endif %}
|
||||
{%- if role.networks is mapping %}
|
||||
{%- set _subnets = network.get('subnets') %}
|
||||
{%- set _role_net_subnet = role.networks[network.name].get('subnet') %}
|
||||
{%- if _subnets and _role_net_subnet and _role_net_subnet in _subnets %}
|
||||
{{network.name}}NetworkVlanID: {get_param: {{network.name}}NetworkVlanID_{{_role_net_subnet}}}
|
||||
{%- elif network.vlan|default(false) %}
|
||||
{{network.name}}NetworkVlanID: {get_param: {{network.name}}NetworkVlanID}
|
||||
{%- endif %}
|
||||
{%- elif network.vlan|default(false) %}
|
||||
{{network.name}}NetworkVlanID: {get_param: {{network.name}}NetworkVlanID}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
NetIpMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [{{server_resource_name}}, networks, ctlplane, 0]}
|
||||
ControlPlaneSubnetCidr:
|
||||
if:
|
||||
- ctlplane_subnet_cidr_set
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
- yaql:
|
||||
expression: str("{0}".format($.data).split("/")[-1])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, cidr]}
|
||||
yaql:
|
||||
expression: str("{0}".format($.data).split("/")[-1])
|
||||
data: {get_attr: [{{server_resource_name}}, addresses, ctlplane, 0, subnets, 0, cidr]}
|
||||
|
||||
|
||||
{%- for network in networks %}
|
||||
@ -577,17 +443,8 @@ resources:
|
||||
properties:
|
||||
type: json
|
||||
value:
|
||||
{%- for network in networks %}
|
||||
{%- if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{network.name_lower}}_cidr: {get_attr: [{{network.name}}Port, cidr]}
|
||||
{%- for network in networks if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
fqdn_{{network.name_lower}}: {get_attr: [NetHostMap, value, {{network.name_lower}}, fqdn]}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
network_cidrs:
|
||||
{%- for network in networks %}
|
||||
{%- if network.enabled|default(true) and network.name in role.networks|default([]) %}
|
||||
{{network.name}}_cidr: {get_attr: [{{network.name}}Port, cidr]}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
fqdn_ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]}
|
||||
fqdn_canonical: {get_attr: [NetHostMap, value, canonical, fqdn]}
|
||||
@ -665,13 +522,6 @@ outputs:
|
||||
{%- endfor %}
|
||||
ctlplane: {get_attr: [NetHostMap, value, ctlplane, fqdn]}
|
||||
canonical: {get_attr: [NetHostMap, value, canonical, fqdn]}
|
||||
hostname_network_config_map:
|
||||
description: Mapping of hostname to NetworkConfig resource
|
||||
value:
|
||||
map_replace:
|
||||
- HOSTNAME: {get_attr: [NetworkConfig, config]}
|
||||
- keys:
|
||||
HOSTNAME: {get_attr:[{{server_resource_name}}, name]}
|
||||
hosts_entry:
|
||||
value:
|
||||
- str_replace:
|
||||
|
@ -42,16 +42,17 @@ environments:
|
||||
puppet/controller-role.yaml:
|
||||
parameters:
|
||||
- SoftwareConfigTransport
|
||||
- DnsServers
|
||||
sample-env-generator/standalone.yaml:
|
||||
parameters:
|
||||
- AddVipsToEtcHosts
|
||||
- NetworkSafeDefaults
|
||||
- StandaloneNetworkConfigWithAnsible
|
||||
- StandaloneNetworkConfigTemplate
|
||||
|
||||
|
||||
overcloud.yaml:
|
||||
parameters:
|
||||
- DnsServers
|
||||
sample_values:
|
||||
AddVipsToEtcHosts: false
|
||||
StackAction: CREATE
|
||||
SoftwareConfigTransport: POLL_SERVER_HEAT
|
||||
EnablePackageInstall: true
|
||||
@ -180,14 +181,14 @@ environments:
|
||||
- NtpServer
|
||||
# TODO(aschultz): hack to pull in this config transport, not sure it is
|
||||
# still needed.
|
||||
puppet/controller-role.yaml:
|
||||
parameters:
|
||||
- DnsServers
|
||||
sample-env-generator/standalone.yaml:
|
||||
parameters:
|
||||
- StandaloneHostnameFormat
|
||||
- StandaloneCount
|
||||
- OvercloudStandaloneFlavor
|
||||
overcloud.yaml:
|
||||
parameters:
|
||||
- DnsServers
|
||||
sample_values:
|
||||
StandaloneCount: 1
|
||||
OvercloudStandaloneFlavor: standalone
|
||||
|
@ -23,6 +23,8 @@ environments:
|
||||
puppet/controller-role.yaml:
|
||||
parameters:
|
||||
- SoftwareConfigTransport
|
||||
overcloud.yaml:
|
||||
parameters:
|
||||
- DnsServers
|
||||
sample_values:
|
||||
# Normal bits for standalone
|
||||
|
Loading…
Reference in New Issue
Block a user