2018-03-05 19:28:35 +01:00
heat_template_version : rocky
2016-12-11 14:54:16 -05: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-28 17:00:59 -08:00
Software Config to drive os-net-config for a simple bridge configured with a
static IP address for the ctlplane network.
2016-12-11 14:54:16 -05: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-28 17:00:59 -08:00
{%- for network in networks %}
{{network.name}}IpSubnet :
2016-12-11 14:54:16 -05: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-28 17:00:59 -08:00
description : IP address/subnet on the {{network.name_lower}} network
2016-12-11 14:54:16 -05:00
type : string
2018-06-07 03:36:18 -07:00
{{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
2018-09-04 01:08:28 +02:00
{{network.name}}Mtu :
2019-01-07 22:09:27 +01:00
default : {{network.mtu|default('1500')}}
2018-09-04 01:08:28 +02:00
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
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-28 17:00:59 -08:00
{%- endfor %}
2018-05-18 18:11:38 +02:00
ControlPlaneSubnetCidr :
default : ''
description : >
The subnet CIDR of the control plane network. (The parameter is
automatically resolved from the ctlplane subnet's cidr attribute.)
2016-12-11 14:54:16 -05:00
type : string
2018-06-30 17:48:25 +02:00
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
2018-02-14 21:03:18 +01:00
ControlPlaneStaticRoutes :
default : [ ]
2018-09-25 01:06:48 +02:00
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.
2018-02-14 21:03:18 +01:00
type : json
2018-09-04 01:08:28 +02:00
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
2016-12-11 14:54:16 -05:00
DnsServers : # Override this via parameter_defaults
default : [ ]
2018-07-01 01:13:49 +02:00
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.
2016-12-11 14:54:16 -05:00
type : comma_delimited_list
2018-02-20 11:19:16 -05:00
UndercloudLocalMtu : # Override this via parameter_defaults
default : 1500
description : MTU to use for the Undercloud local_interface.
type : number
2018-02-14 22:04:17 +01:00
constraints :
- range : { min: 1000, max : 65536 }
2018-04-25 10:03:54 -04:00
UndercloudNetConfigOverride :
default : {}
description : Custom JSON data to be used to override the os-net-config data in this template. This is meant to be used by net_config_override parameter in tripleoclient to provide an easy means to pass in custom net configs for the Undercloud.
type : json
2018-06-30 21:07:55 +02:00
EC2MetadataIp : # Here for compatability, not used.
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
2018-04-25 10:03:54 -04:00
conditions :
undercloud_net_config_override :
not :
equals : [ {get_param : UndercloudNetConfigOverride}, {}]
2016-12-11 14:54:16 -05:00
resources :
OsNetConfigImpl :
type : OS::Heat::SoftwareConfig
properties :
group : script
inputs :
- name : disable_configure_safe_defaults
default : true
config :
str_replace :
template :
get_file : network/scripts/run-os-net-config.sh
params :
$network_config :
2018-04-25 10:03:54 -04:00
if :
- undercloud_net_config_override
- {get_param : UndercloudNetConfigOverride}
- network_config :
- type : ovs_bridge
name : br-ctlplane
use_dhcp : false
dns_servers :
get_param : DnsServers
ovs_extra :
- "br-set-external-id br-ctlplane bridge-id br-ctlplane"
addresses :
- ip_netmask :
list_join :
- /
- - get_param : ControlPlaneIp
- get_param : ControlPlaneSubnetCidr
routes : {get_param : ControlPlaneStaticRoutes}
members :
- type : interface
name : interface_name
# force the MAC address of the bridge to this interface
primary : true
mtu : {get_param : UndercloudLocalMtu}
2016-12-11 14:54:16 -05:00
outputs :
OS::stack_id :
description : The OsNetConfigImpl resource.
value :
get_resource : OsNetConfigImpl