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