Merge "Remove DefaultSignalTransport from top-level template"
[apex-tripleo-heat-templates.git] / network / config / single-nic-vlans / controller.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   Software Config to drive os-net-config to configure VLANs for the
5   controller role.
6
7 parameters:
8   ExternalIpSubnet:
9     default: ''
10     description: IP address/subnet on the external network
11     type: string
12   InternalApiIpSubnet:
13     default: ''
14     description: IP address/subnet on the internal API network
15     type: string
16   StorageIpSubnet:
17     default: ''
18     description: IP address/subnet on the storage network
19     type: string
20   StorageMgmtIpSubnet:
21     default: ''
22     description: IP address/subnet on the storage mgmt network
23     type: string
24   TenantIpSubnet:
25     default: ''
26     description: IP address/subnet on the tenant network
27     type: string
28   ExternalNetworkVlanID:
29     default: 10
30     description: Vlan ID for the external network traffic.
31     type: number
32   InternalApiNetworkVlanID:
33     default: 20
34     description: Vlan ID for the internal_api network traffic.
35     type: number
36   StorageNetworkVlanID:
37     default: 30
38     description: Vlan ID for the storage network traffic.
39     type: number
40   StorageMgmtNetworkVlanID:
41     default: 40
42     description: Vlan ID for the storage mgmt network traffic.
43     type: number
44   TenantNetworkVlanID:
45     default: 50
46     description: Vlan ID for the tenant network traffic.
47     type: number
48
49 resources:
50   OsNetConfigImpl:
51     type: OS::Heat::StructuredConfig
52     properties:
53       group: os-apply-config
54       config:
55         os_net_config:
56           network_config:
57             -
58               type: ovs_bridge
59               name: {get_input: bridge_name}
60               use_dhcp: true
61               members:
62                 -
63                   type: interface
64                   name: nic1
65                   # force the MAC address of the bridge to this interface
66                   primary: true
67                 -
68                   type: vlan
69                   vlan_id: {get_param: ExternalNetworkVlanID}
70                   addresses:
71                   -
72                     ip_netmask: {get_param: ExternalIpSubnet}
73                 -
74                   type: vlan
75                   vlan_id: {get_param: InternalApiNetworkVlanID}
76                   addresses:
77                   -
78                     ip_netmask: {get_param: InternalApiIpSubnet}
79                 -
80                   type: vlan
81                   vlan_id: {get_param: StorageNetworkVlanID}
82                   addresses:
83                   -
84                     ip_netmask: {get_param: StorageIpSubnet}
85                 -
86                   type: vlan
87                   vlan_id: {get_param: StorageMgmtNetworkVlanID}
88                   addresses:
89                   -
90                     ip_netmask: {get_param: StorageMgmtIpSubnet}
91                 -
92                   type: vlan
93                   vlan_id: {get_param: TenantNetworkVlanID}
94                   addresses:
95                   -
96                     ip_netmask: {get_param: TenantIpSubnet}
97
98 outputs:
99   OS::stack_id:
100     description: The OsNetConfigImpl resource.
101     value: {get_resource: OsNetConfigImpl}