56a51647c3
With the default network_data.yaml and default roles_data.yaml all composable networks are included. When deploying plain defaults without any network-isolation, i.e ctlplane network only the jinja2 rendered templates still include all the nets. With change: https://review.openstack.org/645159 the vlan parameter is passed to NIC configs for all networks enabled for the role in roles data if networks data define a vlan id. Because of this we need to add the parameter to the nic config template unless networks data and roles data are customized. (i.e networks that are'nt actually used are removed from the roles data and networks data.) Closes-Bug: #1823997 Change-Id: Ic5fe9c8097de814ce3ad7032f42b31859051f70a
115 lines
4.2 KiB
YAML
115 lines
4.2 KiB
YAML
heat_template_version: rocky
|
|
description: >
|
|
Software Config to drive os-net-config for a simple bridge configured with
|
|
external DHCP and a static IP address for the ctlplane network.
|
|
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
|
|
{{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
|
|
{{network.name}}Mtu:
|
|
default: {{network.mtu|default('1500')}}
|
|
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
guaranteed to pass through the data path of the segments in the
|
|
{{network.name}} network.
|
|
type: number
|
|
{{network.name}}InterfaceDefaultRoute:
|
|
default: ''
|
|
description: default route for the {{network.name_lower}} network
|
|
type: string
|
|
{{network.name}}NetworkVlanID:
|
|
default: {{network.vlan|default(1)}}
|
|
description: Vlan ID for the {{network.name_lower}} network traffic.
|
|
type: number
|
|
{%- endfor %}
|
|
ControlPlaneSubnetCidr:
|
|
default: ''
|
|
description: >
|
|
The subnet CIDR of the control plane network. (The parameter is
|
|
automatically resolved from the ctlplane subnet's cidr attribute.)
|
|
type: string
|
|
ControlPlaneDefaultRoute:
|
|
default: ''
|
|
description: The default route of the control plane network. (The parameter
|
|
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
|
type: string
|
|
ControlPlaneStaticRoutes:
|
|
default: []
|
|
description: >
|
|
Routes for the ctlplane network traffic.
|
|
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
Unless the default is changed, the parameter is automatically resolved
|
|
from the subnet host_routes attribute.
|
|
type: json
|
|
ControlPlaneMtu:
|
|
default: 1500
|
|
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
guaranteed to pass through the data path of the segments in the network.
|
|
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
|
type: number
|
|
DnsServers: # Override this via parameter_defaults
|
|
default: []
|
|
description: >
|
|
DNS servers to use for the Overcloud (2 max for some implementations).
|
|
If not set the nameservers configured in the ctlplane subnet's
|
|
dns_nameservers attribute will be used.
|
|
type: comma_delimited_list
|
|
EC2MetadataIp:
|
|
default: ''
|
|
description: The IP address of the EC2 metadata server. (The parameter
|
|
is automatically resolved from the ctlplane subnet's host_routes attribute.)
|
|
type: string
|
|
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: ovs_bridge
|
|
name: bridge_name
|
|
use_dhcp: true
|
|
members:
|
|
- type: interface
|
|
name: interface_name
|
|
# force the MAC address of the bridge to this interface
|
|
primary: true
|
|
- type: interface
|
|
name: br-ex:0
|
|
addresses:
|
|
- ip_netmask:
|
|
list_join:
|
|
- /
|
|
- - get_param: ControlPlaneIp
|
|
- get_param: ControlPlaneSubnetCidr
|
|
routes:
|
|
- ip_netmask: 169.254.169.254/32
|
|
next_hop:
|
|
get_param: EC2MetadataIp
|
|
- default: true
|
|
next_hop:
|
|
get_param: ControlPlaneDefaultRoute
|
|
outputs:
|
|
OS::stack_id:
|
|
description: The OsNetConfigImpl resource.
|
|
value:
|
|
get_resource: OsNetConfigImpl
|