1 heat_template_version: 2015-04-30
4 Software Config to drive os-net-config to configure multiple interfaces
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
28 StorageMgmtNetworkVlanID:
30 description: Vlan ID for the storage mgmt network traffic.
34 description: IP address/subnet on the tenant network
36 ManagementIpSubnet: # Only populated when including environments/network-management.yaml
38 description: IP address/subnet on the management network
40 ExternalNetworkVlanID:
42 description: Vlan ID for the external network traffic.
44 InternalApiNetworkVlanID:
46 description: Vlan ID for the internal_api network traffic.
50 description: Vlan ID for the storage network traffic.
54 description: Vlan ID for the tenant network traffic.
56 ManagementNetworkVlanID:
58 description: Vlan ID for the management network traffic.
60 ExternalInterfaceDefaultRoute:
62 description: default route for the external network
64 ControlPlaneSubnetCidr: # Override this via parameter_defaults
66 description: The subnet CIDR of the control plane network.
68 ControlPlaneDefaultRoute: # Override this via parameter_defaults
69 description: The default route of the control plane network.
71 DnsServers: # Override this via parameter_defaults
73 description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
74 type: comma_delimited_list
75 EC2MetadataIp: # Override this via parameter_defaults
76 description: The IP address of the EC2 metadata server.
81 type: OS::Heat::StructuredConfig
83 group: os-apply-config
91 dns_servers: {get_param: DnsServers}
97 - - {get_param: ControlPlaneIp}
98 - {get_param: ControlPlaneSubnetCidr}
101 ip_netmask: 169.254.169.254/32
102 next_hop: {get_param: EC2MetadataIp}
105 next_hop: {get_param: ControlPlaneDefaultRoute}
106 {%- set nic_index = 2 %}
107 {%- if 'private_network' in enabled_networks %}
108 {%- if ovs_dpdk_bridge == 'br-phy' %}
111 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
116 name: {{ ovs_dpdk_bridge }}
120 ip_netmask: {get_param: TenantIpSubnet}
128 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
132 ip_netmask: {get_param: TenantIpSubnet}
135 {%- if external_net_type == "interface" %}
138 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
142 ip_netmask: {get_param: ExternalIpSubnet}
145 ip_netmask: 0.0.0.0/0
146 next_hop: {get_param: ExternalInterfaceDefaultRoute}
150 name: {get_input: bridge_name}
155 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
156 # force the MAC address of the bridge to this interface
159 {%- if 'storage_network' in enabled_networks %}
162 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
166 ip_netmask: {get_param: StorageIpSubnet}
168 {%- if 'api_network' in enabled_networks %}
171 name: nic{{ nic_index }}{% set nic_index = nic_index + 1 %}
175 ip_netmask: {get_param: InternalApiIpSubnet}
180 description: The OsNetConfigImpl resource.
181 value: {get_resource: OsNetConfigImpl}