Bump template version for all templates to "ocata"
[apex-tripleo-heat-templates.git] / network / config / multiple-nics / controller-v6.yaml
1 heat_template_version: ocata
2 description: >
3   Software Config to drive os-net-config to configure multiple interfaces for the controller role with IPv6 on the External
4   network. The IPv6 default route is on the External network, and the IPv4 default route is on the Control Plane.
5 parameters:
6   ControlPlaneIp:
7     default: ''
8     description: IP address/subnet on the ctlplane network
9     type: string
10   ExternalIpSubnet:
11     default: ''
12     description: IP address/subnet on the external network
13     type: string
14   InternalApiIpSubnet:
15     default: ''
16     description: IP address/subnet on the internal API network
17     type: string
18   StorageIpSubnet:
19     default: ''
20     description: IP address/subnet on the storage network
21     type: string
22   StorageMgmtIpSubnet:
23     default: ''
24     description: IP address/subnet on the storage mgmt network
25     type: string
26   TenantIpSubnet:
27     default: ''
28     description: IP address/subnet on the tenant network
29     type: string
30   ManagementIpSubnet: # Only populated when including environments/network-management.yaml
31     default: ''
32     description: IP address/subnet on the management network
33     type: string
34   ExternalNetworkVlanID:
35     default: 10
36     description: Vlan ID for the external network traffic.
37     type: number
38   InternalApiNetworkVlanID:
39     default: 20
40     description: Vlan ID for the internal_api network traffic.
41     type: number
42   StorageNetworkVlanID:
43     default: 30
44     description: Vlan ID for the storage network traffic.
45     type: number
46   StorageMgmtNetworkVlanID:
47     default: 40
48     description: Vlan ID for the storage mgmt network traffic.
49     type: number
50   TenantNetworkVlanID:
51     default: 50
52     description: Vlan ID for the tenant network traffic.
53     type: number
54   ManagementNetworkVlanID:
55     default: 60
56     description: Vlan ID for the management network traffic.
57     type: number
58   ControlPlaneSubnetCidr: # Override this via parameter_defaults
59     default: '24'
60     description: The subnet CIDR of the control plane network.
61     type: string
62   ControlPlaneDefaultRoute: # Override this via parameter_defaults
63     description: The default route of the control plane network.
64     type: string
65   ExternalInterfaceDefaultRoute:
66     default: 10.0.0.1
67     description: default route for the external network
68     type: string
69   ManagementInterfaceDefaultRoute: # Commented out by default in this template
70     default: unset
71     description: The default route of the management network.
72     type: string
73   DnsServers: # Override this via parameter_defaults
74     default: []
75     description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
76     type: comma_delimited_list
77   EC2MetadataIp: # Override this via parameter_defaults
78     description: The IP address of the EC2 metadata server.
79     type: string
80 resources:
81   OsNetConfigImpl:
82     type: OS::Heat::SoftwareConfig
83     properties:
84       group: script
85       config:
86         str_replace:
87           template:
88             get_file: ../../scripts/run-os-net-config.sh
89           params:
90             $network_config:
91               network_config:
92               - type: interface
93                 name: nic1
94                 use_dhcp: false
95                 dns_servers:
96                   get_param: DnsServers
97                 addresses:
98                 - ip_netmask:
99                     list_join:
100                     - /
101                     - - get_param: ControlPlaneIp
102                       - get_param: ControlPlaneSubnetCidr
103                 routes:
104                 - ip_netmask: 169.254.169.254/32
105                   next_hop:
106                     get_param: EC2MetadataIp
107                 # IPv4 Default Route
108                 - default: true
109                   next_hop:
110                     get_param: ControlPlaneDefaultRoute
111               - type: interface
112                 name: nic2
113                 use_dhcp: false
114                 addresses:
115                 - ip_netmask:
116                     get_param: StorageIpSubnet
117               - type: interface
118                 name: nic3
119                 use_dhcp: false
120                 addresses:
121                 - ip_netmask:
122                     get_param: StorageMgmtIpSubnet
123               - type: interface
124                 name: nic4
125                 use_dhcp: false
126                 addresses:
127                 - ip_netmask:
128                     get_param: InternalApiIpSubnet
129               - type: ovs_bridge
130                 name: br-tenant
131                 use_dhcp: false
132                 addresses:
133                 - ip_netmask:
134                     get_param: TenantIpSubnet
135                 members:
136                 - type: interface
137                   name: nic5
138                   use_dhcp: false
139                   primary: true
140               - type: ovs_bridge
141                 name: bridge_name
142                 dns_servers:
143                   get_param: DnsServers
144                 use_dhcp: false
145                 addresses:
146                 - ip_netmask:
147                     get_param: ExternalIpSubnet
148                 routes:
149                 - default: true
150                   next_hop:
151                     get_param: ExternalInterfaceDefaultRoute
152                 members:
153                 - type: interface
154                   name: nic6
155                   primary: true
156             # Uncomment when including environments/network-management.yaml
157             # If setting default route on the Management interface, comment
158             # out the default route on the External interface. This will
159             # make the External API unreachable from remote subnets.
160             #-
161             #  type: interface
162             #  name: nic7
163             #  use_dhcp: false
164             #  addresses:
165             #    -
166             #      ip_netmask: {get_param: ManagementIpSubnet}
167             #  routes:
168             #    -
169             #      default: true
170             #      next_hop: {get_param: ManagementInterfaceDefaultRoute}
171 outputs:
172   OS::stack_id:
173     description: The OsNetConfigImpl resource.
174     value:
175       get_resource: OsNetConfigImpl
176