Merge "Add IP to HAProxy kind=Optional constraint"
[apex-tripleo-heat-templates.git] / network / config / bond-with-vlans / compute.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 VLANs attached for the compute 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   TenantNetworkVlanID:
42     default: 50
43     description: Vlan ID for the tenant 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-bond
57               members:
58                 -
59                   type: ovs_bond
60                   name: bond1
61                   ovs_options: {get_param: BondInterfaceOvsOptions}
62                   members:
63                     -
64                       type: interface
65                       name: nic2
66                       primary: true
67                     -
68                       type: interface
69                       name: nic3
70                 -
71                   type: vlan
72                   device: bond1
73                   vlan_id: {get_param: InternalApiNetworkVlanID}
74                   addresses:
75                   -
76                     ip_netmask: {get_param: InternalApiIpSubnet}
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: TenantNetworkVlanID}
88                   addresses:
89                   -
90                     ip_netmask: {get_param: TenantIpSubnet}
91
92 outputs:
93   OS::stack_id:
94     description: The OsNetConfigImpl resource.
95     value: {get_resource: OsNetConfigImpl}