45ff90d13fee6fc89fd36d43cc78531a165a6e66
[sdc.git] /
1 heat_template_version: 2013-05-23\r
2 \r
3 description: >\r
4   Version 2.0 02-09-2016 (Authors: John Doe, user PROD)\r
5 \r
6 parameters:\r
7   aap_address_mode:\r
8     description: "Address mode for the vDBE cluster IP"\r
9     type: string\r
10   control_int_net_forwarding_mode:\r
11     description: "forwarding mode of the control virtual network"\r
12     type: string\r
13   control_int_net_rpf:\r
14     description: "Reverse Path Filtering enable or disable for the control virtual network"\r
15     type: string\r
16   control_int_net_shared:\r
17     description: "control virtual network shared"\r
18     type: boolean\r
19   control_int_net_flood_unknown_unicast:\r
20     description: "forwarding mode of the control virtual network"\r
21     type: boolean\r
22   oam_net_name:\r
23     description: "Name of NSDNet network from which the management IP addresses will be allocated"\r
24     type: string\r
25   untrusted_net_name:\r
26     description: "Name of public untrusted network into which this vDBE HA cluster is deployed"\r
27     type: string\r
28   untrusted_num_vn:\r
29     constraints:\r
30       -\r
31         range:\r
32           max: 77\r
33           min: 1\r
34     description: "Number of vDBE subinterface virtual Networks"\r
35     type: number\r
36   untrusted_vlan_tags:\r
37     description: "List of subinterface vlan tags"\r
38     type: comma_delimited_list\r
39   untrusted_vn_networks:\r
40     description: "List of subinterface virtual networks"\r
41     type: comma_delimited_list\r
42   vdbe_aap_sec_untrusted_ip_prefix:\r
43     description: "ip prefix for secondary vDBE VM aap on the VAN untrusted network"\r
44     type: string\r
45   vdbe_aap_sec_untrusted_ip_prefix_len:\r
46     description: "ip prefix length for the secondary DBE VM aap on the VAN untrusted network"\r
47     type: string\r
48   vdbe_aap_untrusted_ip_prefix:\r
49     description: "ip prefix for primary vDBE VM on the VAN untrusted network"\r
50     type: string\r
51   vdbe_aap_untrusted_ip_prefix_len:\r
52     description: "ip prefix length for the primary vDBE VM on the VAN untrusted network"\r
53     type: string\r
54   vdbe_aap_untrusted_v6_ip_prefix:\r
55     description: "ipv6 prefix for the primary vDBE VM on the VAN untrusted network"\r
56     type: string\r
57   vdbe_aap_untrusted_v6_ip_prefix_len:\r
58     description: "ipv6 prefix length for the primary vDBE VM on the VAN untrusted network"\r
59     type: string\r
60   vdbe_device_name:\r
61     description: "VDBE device Name for this vdbe VNF"\r
62     type: string\r
63   vdbe_hw_untr_mac_1:\r
64     description: "Secondary MAC address of the secondary vDBE VM on the VAN untrusted network"\r
65     type: string\r
66   vdbe_name_1:\r
67     description: "VM Name for this vdbe node 1"\r
68     type: string\r
69   vdbe_untrusted_ip_1:\r
70     description: "IPV4 address of the secondary vDBE VM on the VAN untrusted network"\r
71     type: string\r
72   vdbe_untrusted_v6_ip_1:\r
73     description: "IPV6 address of the secondary vDBE VM on the VAN untrusted network"\r
74     type: string\r
75   vdbe_untrusted_vmac_address:\r
76     description: "Virtual MAC of the primary vDBE VM on the VAN untrusted network"\r
77     type: string\r
78   vdbe_flavor_name:\r
79     description: "Flavor to use for vDBE"\r
80     type: string\r
81   vdbe_image_name:\r
82     description: "Image to use for vDBE"\r
83     type: string\r
84   vnf_id:\r
85     description: "Unique ID for this VF inst"\r
86     type: string\r
87   vnf_name:\r
88     description: "Unique name for this VF instance"\r
89     type: string\r
90   vf_module_id:\r
91     description: "Unique ID for this VF module inst"\r
92     type: string\r
93   availability_zone_1:\r
94     description: "The availability zone of secondary node1 vDBE vm in the local HA pair."\r
95     type: string\r
96 resources:\r
97   vdbe_node_1:\r
98     type: OS::Nova::Server\r
99     properties:\r
100       availability_zone:\r
101         get_param: availability_zone_1\r
102       flavor:\r
103         get_param: vdbe_flavor_name\r
104       image:\r
105         get_param: vdbe_image_name\r
106       metadata:\r
107         vf_module_id:\r
108           get_param: vf_module_id\r
109         vnf_id:\r
110           get_param: vnf_id\r
111         vnf_name:\r
112           get_param: vnf_name\r
113       name:\r
114         get_param: vdbe_name_1\r
115       networks:\r
116         - port: {get_resource: vdbe_untr_1_port}\r
117   vdbe_untr_1_subports:\r
118     type: OS::Heat::ResourceGroup\r
119     depends_on: control_int_net\r
120     properties:\r
121       count:\r
122         get_param: untrusted_num_vn\r
123       resource_def:\r
124         type: nested.yml\r
125         properties:\r
126           attr_test: { get_attr: [ vdbe_untr_1_port, name ] }\r
127           aap_address_mode:\r
128             get_param: aap_address_mode\r
129           aap_sec_untrusted_ip_prefix:\r
130             get_param: vdbe_aap_sec_untrusted_ip_prefix\r
131           aap_sec_untrusted_ip_prefix_len:\r
132             get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
133           aap_untrusted_ip_prefix:\r
134             get_param: vdbe_aap_untrusted_ip_prefix\r
135           aap_untrusted_ip_prefix_len:\r
136             get_param: vdbe_aap_untrusted_ip_prefix_len\r
137           aap_untrusted_v6_ip_prefix:\r
138             get_param: vdbe_aap_untrusted_v6_ip_prefix\r
139           aap_untrusted_v6_ip_prefix_len:\r
140             get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
141           counter:\r
142             get_param: vnf_id\r
143           ip_address:\r
144             get_param: vdbe_untrusted_ip_1\r
145           ip_v6_address:\r
146             get_param: vdbe_untrusted_v6_ip_1\r
147           mac_address:\r
148             get_param: vdbe_hw_untr_mac_1\r
149           parent_interface:\r
150             get_resource: vdbe_untr_1_port\r
151           subinterfaces_name_prefix:\r
152             str_replace:\r
153               params:\r
154                 DBE:\r
155                   get_param: vdbe_device_name\r
156                 VM_NAME:\r
157                   get_param: vdbe_name_1\r
158               template: VM_NAMEDBE001p1n004\r
159           vlan_tag_list:\r
160             get_param: untrusted_vlan_tags\r
161           vmac_address:\r
162             get_param: vdbe_untrusted_vmac_address\r
163           vdbe_subport_network:\r
164             get_resource: control_int_net\r
165   vdbe_untr_1_port:\r
166     properties:\r
167       name:\r
168         str_replace:\r
169           params:\r
170             DBE:\r
171               get_param: vdbe_device_name\r
172             VM_NAME:\r
173               get_param: vdbe_name_1\r
174           template: VM_NAMEDBE001p1n004\r
175       virtual_machine_interface_allowed_address_pairs:\r
176         virtual_machine_interface_allowed_address_pairs_allowed_address_pair:\r
177           -\r
178             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
179               get_param: aap_address_mode\r
180             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
181               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
182                 get_param: vdbe_aap_untrusted_ip_prefix\r
183               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
184                 get_param: vdbe_aap_untrusted_ip_prefix_len\r
185             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
186               get_param: vdbe_untrusted_vmac_address\r
187           -\r
188             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
189               get_param: aap_address_mode\r
190             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
191               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
192                 get_param: vdbe_aap_sec_untrusted_ip_prefix\r
193               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
194                 get_param: vdbe_aap_sec_untrusted_ip_prefix_len\r
195             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
196               get_param: vdbe_hw_untr_mac_1\r
197           -\r
198             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode:\r
199               get_param: aap_address_mode\r
200             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:\r
201               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix:\r
202                 get_param: vdbe_aap_untrusted_v6_ip_prefix\r
203               virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len:\r
204                 get_param: vdbe_aap_untrusted_v6_ip_prefix_len\r
205             virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac:\r
206               get_param: vdbe_untrusted_vmac_address\r
207       virtual_machine_interface_mac_addresses:\r
208         virtual_machine_interface_mac_addresses_mac_address:\r
209           -\r
210             get_param: vdbe_hw_untr_mac_1\r
211       virtual_network_refs:\r
212         -\r
213           get_param: untrusted_net_name\r
214     type: OS::ContrailV2::VirtualMachineInterface\r
215   control_int_net:\r
216     type: OS::ContrailV2::VirtualNetwork\r
217     depends_on: vdbe_untr_1_subports\r
218     properties:\r
219       network_ipam_refs: { get_attr: [ vdbe_untr_1_subports, count ] }\r
220       flood_unknown_unicast:\r
221         get_param: control_int_net_flood_unknown_unicast\r
222       is_shared:\r
223         get_param: control_int_net_shared\r
224       name:\r
225         str_replace:\r
226           params:\r
227             VNF_NAME:\r
228               get_param: vnf_name\r
229           template: VNF_NAME_control_net\r
230       virtual_network_properties:\r
231         virtual_network_properties_forwarding_mode:\r
232           get_param: control_int_net_forwarding_mode\r
233         virtual_network_properties_rpf:\r
234           get_param: control_int_net_rpf\r
235 outputs:\r
236   out1:\r
237       description: output_test\r
238       value: {get_attr: [vdbe_untr_1_subports, name]}\r