c649cf0545
Use get_attr on the server resource to resolve attribute value from the subnet(s) and pass it to the parameter 'ControlPlaneDefaultRoute' used in the THT/network/config/* templates. Changes the default for 'ControlPlaneDefaultRoute' to '' as well as the comment that the value should be overriden in parameters_defaults. It also removes the parameter from network-environment templates. A conditinal is used in puppet/role.role.j2.yaml so that the parameter value is used whenever it is not '' (the default) to provide backwards compatibility in case the user set a different value (different from the one used in undercloud.conf) for this parameter in network-environment.yaml. When deploying a routed control plane the network config templates would previously need to be updated to carry 'ControlPlaneXDefaultRoute' parameters for each leaf. With 8 Leafs in addition to the network local to the undercloud that is 8 parameters less to place in the configuration. By getting the value to pass from the server resource this change reduces the required nic-config template customisation (reduces the risk of user error). Partial: blueprint tripleo-routed-networks-templates Change-Id: I5139249d55e9ac01761c270b8c0f31ef35595940
67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
heat_template_version: rocky
|
|
description: >
|
|
Software Config to drive os-net-config for a simple linux bridge.
|
|
parameters:
|
|
ControlPlaneIp:
|
|
default: ''
|
|
description: IP address/subnet on the ctlplane network
|
|
type: string
|
|
{%- for network in networks %}
|
|
{{network.name}}IpSubnet:
|
|
default: ''
|
|
description: IP address/subnet on the {{network.name_lower}} network
|
|
type: string
|
|
{%- endfor %}
|
|
ControlPlaneDefaultRoute:
|
|
description: The default route of the control plane network. (The parameter
|
|
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
|
type: string
|
|
default: 192.168.24.1
|
|
ControlPlaneSubnetCidr:
|
|
default: ''
|
|
description: >
|
|
The subnet CIDR of the control plane network. (The parameter is
|
|
automatically resolved from the ctlplane subnet's cidr attribute.)
|
|
type: string
|
|
EC2MetadataIp: # Override this via parameter_defaults
|
|
description: The IP address of the EC2 metadata server.
|
|
type: string
|
|
default: 169.254.169.254/32
|
|
resources:
|
|
OsNetConfigImpl:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config:
|
|
str_replace:
|
|
template:
|
|
get_file: network/scripts/run-os-net-config.sh
|
|
params:
|
|
$network_config:
|
|
network_config:
|
|
- type: linux_bridge
|
|
name: bridge_name
|
|
addresses:
|
|
- ip_netmask:
|
|
get_param: ControlPlaneIp
|
|
members:
|
|
- type: interface
|
|
name: interface_name
|
|
# force the MAC address of the bridge to this interface
|
|
primary: true
|
|
routes:
|
|
- ip_netmask: 0.0.0.0/0
|
|
next_hop:
|
|
get_param: ControlPlaneDefaultRoute
|
|
default: true
|
|
- ip_netmask:
|
|
get_param: EC2MetadataIp
|
|
next_hop:
|
|
get_param: ControlPlaneDefaultRoute
|
|
outputs:
|
|
OS::stack_id:
|
|
description: The OsNetConfigImpl resource.
|
|
value:
|
|
get_resource: OsNetConfigImpl
|
|
|