1 heat_template_version: 2015-04-30
4 Software Config to drive os-net-config to configure multiple interfaces
5 for the controller role.
10 description: IP address/subnet on the ctlplane network
14 description: IP address/subnet on the external network
18 description: IP address/subnet on the internal API network
22 description: IP address/subnet on the storage network
26 description: IP address/subnet on the storage mgmt network
30 description: IP address/subnet on the tenant network
32 ManagementIpSubnet: # Only populated when including environments/network-management.yaml
34 description: IP address/subnet on the management network
36 ExternalNetworkVlanID:
38 description: Vlan ID for the external network traffic.
40 InternalApiNetworkVlanID:
42 description: Vlan ID for the internal_api network traffic.
46 description: Vlan ID for the storage network traffic.
48 StorageMgmtNetworkVlanID:
50 description: Vlan ID for the storage mgmt network traffic.
54 description: Vlan ID for the tenant network traffic.
56 ExternalInterfaceDefaultRoute:
58 description: default route for the external network
60 ControlPlaneSubnetCidr: # Override this via parameter_defaults
62 description: The subnet CIDR of the control plane network.
64 ControlPlaneDefaultRoute: # Override this via parameter_defaults
65 description: The subnet CIDR of the control plane network.
67 DnsServers: # Override this via parameter_defaults
69 description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
70 type: comma_delimited_list
71 EC2MetadataIp: # Override this via parameter_defaults
72 description: The IP address of the EC2 metadata server.
77 type: OS::Heat::StructuredConfig
79 group: os-apply-config
87 dns_servers: {get_param: DnsServers}
93 - - {get_param: ControlPlaneIp}
94 - {get_param: ControlPlaneSubnetCidr}
97 ip_netmask: 169.254.169.254/32
98 next_hop: {get_param: EC2MetadataIp}
99 {%- if external_net_af == 6 %}
102 next_hop: {get_param: ControlPlaneDefaultRoute}
104 {%- set nic_index = 2 %}
105 {%- if 'private_network' in enabled_networks %}
107 # Create a bridge which can also be used for VLAN-mode bridge mapping
113 ip_netmask: {get_param: TenantIpSubnet}
117 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
119 # force the MAC address of the bridge to this interface
124 name: {get_input: bridge_name}
125 dns_servers: {get_param: DnsServers}
129 ip_netmask: {get_param: ExternalIpSubnet}
133 next_hop: {get_param: ExternalInterfaceDefaultRoute}
137 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
138 # force the MAC address of the bridge to this interface
140 {%- if 'storage_network' in enabled_networks %}
143 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
147 ip_netmask: {get_param: StorageIpSubnet}
149 {%- if 'api_network' in enabled_networks %}
152 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
156 ip_netmask: {get_param: InternalApiIpSubnet}
161 description: The OsNetConfigImpl resource.
162 value: {get_resource: OsNetConfigImpl}