Merge "Remove NO_SIGNAL from ControllerClusterConfig"
[apex-tripleo-heat-templates.git] / network / config / bond-with-vlans / cinder-storage.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   Software Config to drive os-net-config with 2 bonded nics on a bridge
5   with a VLANs attached for the cinder storage 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   BondInterfaceOvsOptions:
29     default: ''
30     description: The ovs_options string for the bond interface. Set things like
31                  lacp=active and/or bond_mode=balance-slb using this option.
32     type: string
33   InternalApiNetworkVlanID:
34     default: 20
35     description: Vlan ID for the internal_api network traffic.
36     type: number
37   StorageNetworkVlanID:
38     default: 30
39     description: Vlan ID for the storage network traffic.
40     type: number
41   StorageMgmtNetworkVlanID:
42     default: 40
43     description: Vlan ID for the storage mgmt network traffic.
44     type: number
45
46 resources:
47   OsNetConfigImpl:
48     type: OS::Heat::StructuredConfig
49     properties:
50       group: os-apply-config
51       config:
52         os_net_config:
53           network_config:
54             -
55               type: ovs_bridge
56               name: br-storage
57               use_dhcp: true
58               members:
59                 -
60                   type: interface
61                   name: nic1
62                   # force the MAC address of the bridge to this interface
63                   primary: true
64             -
65               type: ovs_bridge
66               name: br-bond
67               members:
68                 -
69                   type: ovs_bond
70                   name: bond1
71                   ovs_options: {get_param: BondInterfaceOvsOptions}
72                   members:
73                     -
74                       type: interface
75                       name: nic2
76                       primary: true
77                     -
78                       type: interface
79                       name: nic3
80                 -
81                   type: vlan
82                   device: bond1
83                   vlan_id: {get_param: InternalApiNetworkVlanID}
84                   addresses:
85                   -
86                     ip_netmask: {get_param: InternalApiIpSubnet}
87                 -
88                   type: vlan
89                   device: bond1
90                   vlan_id: {get_param: StorageNetworkVlanID}
91                   addresses:
92                   -
93                     ip_netmask: {get_param: StorageIpSubnet}
94                 -
95                   type: vlan
96                   device: bond1
97                   vlan_id: {get_param: StorageMgmtNetworkVlanID}
98                   addresses:
99                   -
100                     ip_netmask: {get_param: StorageMgmtIpSubnet}
101
102 outputs:
103   OS::stack_id:
104     description: The OsNetConfigImpl resource.
105     value: {get_resource: OsNetConfigImpl}