Merge "Remove DefaultSignalTransport from top-level template"
[apex-tripleo-heat-templates.git] / network / config / bond-with-vlans / ceph-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 ceph 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   StorageNetworkVlanID:
34     default: 30
35     description: Vlan ID for the storage network traffic.
36     type: number
37   StorageMgmtNetworkVlanID:
38     default: 40
39     description: Vlan ID for the storage mgmt network traffic.
40     type: number
41
42
43 resources:
44   OsNetConfigImpl:
45     type: OS::Heat::StructuredConfig
46     properties:
47       group: os-apply-config
48       config:
49         os_net_config:
50           network_config:
51             -
52               type: ovs_bridge
53               name: br-storage
54               use_dhcp: true
55               members:
56                 -
57                   type: interface
58                   name: nic1
59                   # force the MAC address of the bridge to this interface
60                   primary: true
61             -
62               type: ovs_bridge
63               name: br-bond
64               members:
65                 -
66                   type: ovs_bond
67                   name: bond1
68                   ovs_options: {get_param: BondInterfaceOvsOptions}
69                   members:
70                     -
71                       type: interface
72                       name: nic2
73                       primary: true
74                     -
75                       type: interface
76                       name: nic3
77                 -
78                   type: vlan
79                   device: bond1
80                   vlan_id: {get_param: StorageNetworkVlanID}
81                   addresses:
82                   -
83                     ip_netmask: {get_param: StorageIpSubnet}
84                 -
85                   type: vlan
86                   device: bond1
87                   vlan_id: {get_param: StorageMgmtNetworkVlanID}
88                   addresses:
89                   -
90                     ip_netmask: {get_param: StorageMgmtIpSubnet}
91
92 outputs:
93   OS::stack_id:
94     description: The OsNetConfigImpl resource.
95     value: {get_resource: OsNetConfigImpl}