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
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 %}
2016-12-11 14:54:16 -05:00
ControlPlaneSubnetCidr : # Override this via parameter_defaults
default : '24'
description : The subnet CIDR of the control plane network.
type : string
2018-02-14 21:03:18 +01:00
ControlPlaneStaticRoutes :
default : [ ]
description : A list of static routes
type : json
2016-12-11 14:54:16 -05:00
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
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
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