2018-03-05 18:28:35 +00:00
|
|
|
heat_template_version: rocky
|
2015-09-11 20:55:24 +00:00
|
|
|
description: >
|
Render NIC config templates with jinja2
This change converts the existing NIC templates to jinja2 in
order to dynamically render the ports and networks according
to the network_data.yaml. If networks are added to the
network_data.yaml file, parameters will be added to all
NIC templates. The YAML files (as output from jinja with
the default network_data.yaml) are present as an example.
The roles in roles_data.yaml are used to produce NIC configs
for the standard and custom composable roles. In order to
keep the ordering of NICs the same in the multiple-nics
templates, the order of networks was changed in the
network_data.yaml file. This is reflected in the network
templates, and in some of the files that is the only
change.
The roles and roles_data.yaml were modified to include
a legacy name for the NIC config templates for the
built-in roles Controller, Compute, Object Storage,
Block Storage, Ceph Storage, Compute-DPDK, and
Networker roles. There will now be a file produced
with the legacy name, but also one produced with the
<role>-role.j2.yaml format (along with environment
files to help use the new filenames).
Note this change also fixes some typos as well as
a number of templates that had VLANs with device:
entries which were ignored.
Closes-Bug: 1737041
Depends-On: I49c0245c36de3103671080fd1c8cfb3432856f35
Change-Id: I3bdb7d00dab5a023dd8b9c94c0f89f84357ae7a4
2017-11-29 01:00:59 +00:00
|
|
|
Software Config to drive os-net-config for a simple bridge configured with
|
|
|
|
external DHCP and a static IP address for the ctlplane network.
|
2015-09-11 20:55:24 +00:00
|
|
|
parameters:
|
|
|
|
ControlPlaneIp:
|
|
|
|
default: ''
|
|
|
|
description: IP address/subnet on the ctlplane network
|
|
|
|
type: string
|
Render NIC config templates with jinja2
This change converts the existing NIC templates to jinja2 in
order to dynamically render the ports and networks according
to the network_data.yaml. If networks are added to the
network_data.yaml file, parameters will be added to all
NIC templates. The YAML files (as output from jinja with
the default network_data.yaml) are present as an example.
The roles in roles_data.yaml are used to produce NIC configs
for the standard and custom composable roles. In order to
keep the ordering of NICs the same in the multiple-nics
templates, the order of networks was changed in the
network_data.yaml file. This is reflected in the network
templates, and in some of the files that is the only
change.
The roles and roles_data.yaml were modified to include
a legacy name for the NIC config templates for the
built-in roles Controller, Compute, Object Storage,
Block Storage, Ceph Storage, Compute-DPDK, and
Networker roles. There will now be a file produced
with the legacy name, but also one produced with the
<role>-role.j2.yaml format (along with environment
files to help use the new filenames).
Note this change also fixes some typos as well as
a number of templates that had VLANs with device:
entries which were ignored.
Closes-Bug: 1737041
Depends-On: I49c0245c36de3103671080fd1c8cfb3432856f35
Change-Id: I3bdb7d00dab5a023dd8b9c94c0f89f84357ae7a4
2017-11-29 01:00:59 +00:00
|
|
|
{%- for network in networks %}
|
|
|
|
{{network.name}}IpSubnet:
|
2015-09-11 20:55:24 +00:00
|
|
|
default: ''
|
Render NIC config templates with jinja2
This change converts the existing NIC templates to jinja2 in
order to dynamically render the ports and networks according
to the network_data.yaml. If networks are added to the
network_data.yaml file, parameters will be added to all
NIC templates. The YAML files (as output from jinja with
the default network_data.yaml) are present as an example.
The roles in roles_data.yaml are used to produce NIC configs
for the standard and custom composable roles. In order to
keep the ordering of NICs the same in the multiple-nics
templates, the order of networks was changed in the
network_data.yaml file. This is reflected in the network
templates, and in some of the files that is the only
change.
The roles and roles_data.yaml were modified to include
a legacy name for the NIC config templates for the
built-in roles Controller, Compute, Object Storage,
Block Storage, Ceph Storage, Compute-DPDK, and
Networker roles. There will now be a file produced
with the legacy name, but also one produced with the
<role>-role.j2.yaml format (along with environment
files to help use the new filenames).
Note this change also fixes some typos as well as
a number of templates that had VLANs with device:
entries which were ignored.
Closes-Bug: 1737041
Depends-On: I49c0245c36de3103671080fd1c8cfb3432856f35
Change-Id: I3bdb7d00dab5a023dd8b9c94c0f89f84357ae7a4
2017-11-29 01:00:59 +00:00
|
|
|
description: IP address/subnet on the {{network.name_lower}} network
|
2015-09-11 20:55:24 +00:00
|
|
|
type: string
|
Render NIC config templates with jinja2
This change converts the existing NIC templates to jinja2 in
order to dynamically render the ports and networks according
to the network_data.yaml. If networks are added to the
network_data.yaml file, parameters will be added to all
NIC templates. The YAML files (as output from jinja with
the default network_data.yaml) are present as an example.
The roles in roles_data.yaml are used to produce NIC configs
for the standard and custom composable roles. In order to
keep the ordering of NICs the same in the multiple-nics
templates, the order of networks was changed in the
network_data.yaml file. This is reflected in the network
templates, and in some of the files that is the only
change.
The roles and roles_data.yaml were modified to include
a legacy name for the NIC config templates for the
built-in roles Controller, Compute, Object Storage,
Block Storage, Ceph Storage, Compute-DPDK, and
Networker roles. There will now be a file produced
with the legacy name, but also one produced with the
<role>-role.j2.yaml format (along with environment
files to help use the new filenames).
Note this change also fixes some typos as well as
a number of templates that had VLANs with device:
entries which were ignored.
Closes-Bug: 1737041
Depends-On: I49c0245c36de3103671080fd1c8cfb3432856f35
Change-Id: I3bdb7d00dab5a023dd8b9c94c0f89f84357ae7a4
2017-11-29 01:00:59 +00:00
|
|
|
{%- endfor %}
|
2015-09-11 20:55:24 +00:00
|
|
|
ControlPlaneSubnetCidr: # Override this via parameter_defaults
|
|
|
|
default: '24'
|
|
|
|
description: The subnet CIDR of the control plane network.
|
|
|
|
type: string
|
|
|
|
ControlPlaneDefaultRoute: # Override this via parameter_defaults
|
|
|
|
description: The default route of the control plane network.
|
|
|
|
type: string
|
|
|
|
DnsServers: # Override this via parameter_defaults
|
|
|
|
default: []
|
|
|
|
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
|
|
|
|
type: comma_delimited_list
|
|
|
|
EC2MetadataIp: # Override this via parameter_defaults
|
|
|
|
description: The IP address of the EC2 metadata server.
|
|
|
|
type: string
|
|
|
|
resources:
|
|
|
|
OsNetConfigImpl:
|
2016-11-23 15:39:11 +00:00
|
|
|
type: OS::Heat::SoftwareConfig
|
2015-09-11 20:55:24 +00:00
|
|
|
properties:
|
2016-11-23 15:39:11 +00:00
|
|
|
group: script
|
2015-09-11 20:55:24 +00:00
|
|
|
config:
|
2016-11-23 15:39:11 +00:00
|
|
|
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
|
2015-09-11 20:55:24 +00:00
|
|
|
# force the MAC address of the bridge to this interface
|
|
|
|
primary: true
|
2016-11-23 15:39:11 +00:00
|
|
|
- type: interface
|
|
|
|
name: br-ex:0
|
|
|
|
addresses:
|
|
|
|
- ip_netmask:
|
2015-09-11 20:55:24 +00:00
|
|
|
list_join:
|
2016-11-23 15:39:11 +00:00
|
|
|
- /
|
|
|
|
- - 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
|
2015-09-11 20:55:24 +00:00
|
|
|
outputs:
|
|
|
|
OS::stack_id:
|
|
|
|
description: The OsNetConfigImpl resource.
|
2016-11-23 15:39:11 +00:00
|
|
|
value:
|
|
|
|
get_resource: OsNetConfigImpl
|