[SDC-29] rebase continue work to align source
[sdc.git] / test-apis-ci / src / test / resources / CI / tests / heatEnv / artifact_2.yaml
1 heat_template_version: 2013-05-23
2 #################################
3 #
4 #  Changes in v0.2:
5 #  - Unique availability zone for each VM
6 #  - LAN8 and SLAN networks removed according to latest Prod/Type I diagram
7 #  - 2 DB VMs added
8 #  - Images corrected
9 #  - VM start-up order: SMP->DB->BE->FE (no error handling yet)
10 #  - Provisioning scripts placeholders
11 #
12 #################################
13
14 description: ASC Template
15
16 parameters:
17 parameters:
18   city_name:
19     type: string
20     description: city name
21     default: Hulon
22   address:
23     type: string
24     description: address
25     default: Narkis
26   home_number:
27     type: number
28     description: home_number
29     default: 14
30   private_building:
31     type: boolean
32     description: home_number
33     default: true
34 resources:
35   be0_port_3:
36     type: OS::Neutron::Port
37     properties:
38       network_id: { get_resource: Clustering_Network }
39
40   be0_port_4:
41     type: OS::Neutron::Port
42     properties:
43       network_id: { get_resource: DB_Network }
44
45   be0_port_5:
46     type: OS::Neutron::Port
47     properties:
48       network: { get_param: Cricket_OCS_protected_net_id }
49       fixed_ips: [{"ip_address": {get_param: be0_Cricket_OCS_protected_ips}}]
50
51   be0_port_7:
52     type: OS::Neutron::Port
53     properties:
54       network: { get_param: OAM_direct_net_id }
55       fixed_ips: [{"ip_address": {get_param: be0_OAM_direct_ips}}]
56
57   server_scp_be1:
58     type: OS::Nova::Server
59 #    depends on: db_wait_condition
60     properties:
61       name: { get_param: vm_scp_be1_name }
62       image: { get_param: image_scp_be_id }
63 #      availability_zone: { get_param: availability_zone_be1 }
64       flavor: { get_param: flavor_scp_be_id }
65       scheduler_hints: { group: { get_resource: BE_Affinity } }
66       networks:
67       - port: { get_resource: be1_port_3 }
68       - port: { get_resource: be1_port_4 }
69       - port: { get_resource: be1_port_5 }
70       - port: { get_resource: be1_port_7 }
71       metadata:
72         vnf_id: { get_param: vnf_id }
73       user_data:
74         str_replace:
75           template: |
76             #!/bin/bash
77             #todo: provision $vm_name
78             wc_notify --data-binary '{"status": "SUCCESS"}'
79           params:
80             $vm_name: {get_param: vm_scp_be1_name}
81 #            wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }
82
83   be1_port_3:
84     type: OS::Neutron::Port
85     properties:
86       network_id: { get_resource: Clustering_Network }
87
88   be1_port_4:
89     type: OS::Neutron::Port
90     properties:
91       network_id: { get_resource: DB_Network }
92
93   be1_port_5:
94     type: OS::Neutron::Port
95     properties:
96       network: { get_param: Cricket_OCS_protected_net_id }
97       fixed_ips: [{"ip_address": {get_param: be1_Cricket_OCS_protected_ips}}]
98
99   be1_port_7:
100     type: OS::Neutron::Port
101     properties:
102       network: { get_param: OAM_direct_net_id }
103       fixed_ips: [{"ip_address": {get_param: be1_OAM_direct_ips}}]
104
105   server_scp_be2:
106     type: OS::Nova::Server
107 #    depends on: db_wait_condition
108     properties:
109       name: { get_param: vm_scp_be2_name }
110       image: { get_param: image_scp_be_id }
111 #      availability_zone: { get_param: availability_zone_be2 }
112       flavor: { get_param: flavor_scp_be_id }
113       scheduler_hints: { group: { get_resource: BE_Affinity } }
114       networks:
115       - port: { get_resource: be2_port_3 }
116       - port: { get_resource: be2_port_4 }
117       - port: { get_resource: be2_port_5 }
118       - port: { get_resource: be2_port_7 }
119       metadata:
120         vnf_id: { get_param: vnf_id }
121       user_data:
122         str_replace:
123           template: |
124             #!/bin/bash
125             #todo: provision $vm_name
126             wc_notify --data-binary '{"status": "SUCCESS"}'
127           params:
128             $vm_name: {get_param: vm_scp_be2_name}
129 #            wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }
130
131   be2_port_3:
132     type: OS::Neutron::Port
133     properties:
134       network_id: { get_resource: Clustering_Network }
135
136   be2_port_4:
137     type: OS::Neutron::Port
138     properties:
139       network_id: { get_resource: DB_Network }
140
141   be2_port_5:
142     type: OS::Neutron::Port
143     properties:
144       network: { get_param: Cricket_OCS_protected_net_id }
145       fixed_ips: [{"ip_address": {get_param: be2_Cricket_OCS_protected_ips}}]
146
147   be2_port_7:
148     type: OS::Neutron::Port
149     properties:
150       network: { get_param: OAM_direct_net_id }
151       fixed_ips: [{"ip_address": {get_param: be2_OAM_direct_ips}}]
152
153   server_scp_be3:
154     type: OS::Nova::Server
155 #    depends on: db_wait_condition
156     properties:
157       name: { get_param: vm_scp_be3_name }
158       image: { get_param: image_scp_be_id }
159 #      availability_zone: { get_param: availability_zone_be3 }
160       flavor: { get_param: flavor_scp_be_id }
161       scheduler_hints: { group: { get_resource: BE_Affinity } }
162       networks:
163       - port: { get_resource: be3_port_3 }
164       - port: { get_resource: be3_port_4 }
165       - port: { get_resource: be3_port_5 }
166       - port: { get_resource: be3_port_7 }
167       metadata:
168         vnf_id: { get_param: vnf_id }
169       user_data:
170         str_replace:
171           template: |
172             #!/bin/bash
173             #todo: provision $vm_name
174             wc_notify --data-binary '{"status": "SUCCESS"}'
175           params:
176             $vm_name: {get_param: vm_scp_be3_name}
177 #            wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }
178
179   be3_port_3:
180     type: OS::Neutron::Port
181     properties:
182       network_id: { get_resource: Clustering_Network }
183
184   be3_port_4:
185     type: OS::Neutron::Port
186     properties:
187       network_id: { get_resource: DB_Network }
188
189   be3_port_5:
190     type: OS::Neutron::Port
191     properties:
192       network: { get_param: Cricket_OCS_protected_net_id }
193       fixed_ips: [{"ip_address": {get_param: be3_Cricket_OCS_protected_ips}}]
194
195   be3_port_7:
196     type: OS::Neutron::Port
197     properties:
198       network: { get_param: OAM_direct_net_id }
199       fixed_ips: [{"ip_address": {get_param: be3_OAM_direct_ips}}]
200
201   server_scp_be4:
202     type: OS::Nova::Server
203 #    depends on: db_wait_condition
204     properties:
205       name: { get_param: vm_scp_be4_name }
206       image: { get_param: image_scp_be_id }
207 #      availability_zone: { get_param: availability_zone_be4 }
208       flavor: { get_param: flavor_scp_be_id }
209       scheduler_hints: { group: { get_resource: BE_Affinity } }
210       networks:
211       - port: { get_resource: be4_port_3 }
212       - port: { get_resource: be4_port_4 }
213       - port: { get_resource: be4_port_5 }
214       - port: { get_resource: be4_port_7 }
215       metadata:
216         vnf_id: { get_param: vnf_id }
217       user_data:
218         str_replace:
219           template: |
220             #!/bin/bash
221             #todo: provision $vm_name
222             wc_notify --data-binary '{"status": "SUCCESS"}'
223           params:
224             $vm_name: {get_param: vm_scp_be4_name}
225 #            wc_notify: { get_attr: ['scp_be_wait_handle', 'curl_cli'] }
226
227   be4_port_3:
228     type: OS::Neutron::Port
229     properties:
230       network_id: { get_resource: Clustering_Network }
231
232   be4_port_4:
233     type: OS::Neutron::Port
234     properties:
235       network_id: { get_resource: DB_Network }
236
237   be4_port_5:
238     type: OS::Neutron::Port
239     properties:
240       network: { get_param: Cricket_OCS_protected_net_id }
241       fixed_ips: [{"ip_address": {get_param: be4_Cricket_OCS_protected_ips}}]
242
243   be4_port_7:
244     type: OS::Neutron::Port
245     properties:
246       network: { get_param: OAM_direct_net_id }
247       fixed_ips: [{"ip_address": {get_param: be4_OAM_direct_ips}}]
248
249   server_scp_fe0:
250     type: OS::Nova::Server
251 #    depends on: scp_be_wait_condition
252     properties:
253       name: { get_param: vm_scp_fe0_name }
254       image: { get_param: image_scp_fe_id }
255 #      availability_zone: { get_param: availability_zone_fe0 }
256       flavor: { get_param: flavor_scp_fe_id }
257       scheduler_hints: { group: { get_resource: FE_Affinity } }
258       networks:
259       - port: { get_resource: fe0_port_0 }
260       - port: { get_resource: fe0_port_2 }
261       - port: { get_resource: fe0_port_3 }
262       - port: { get_resource: fe0_port_7 }
263       metadata:
264         vnf_id: { get_param: vnf_id }
265       user_data:
266         str_replace:
267           template: |
268             #!/bin/bash
269             #todo: provision $vm_name
270             wc_notify --data-binary '{"status": "SUCCESS"}'
271           params:
272             $vm_name: {get_param: vm_scp_fe0_name}
273 #            wc_notify: { get_attr: ['scp_fe_wait_handle', 'curl_cli'] }
274
275   fe0_port_0:
276     type: OS::Neutron::Port
277     properties:
278       network: { get_param: SIGNET_vrf_A1_direct_net_id }
279       fixed_ips: [{"ip_address": {get_param: fe0_SIGNET_vrf_A1_direct_ips}}]
280
281   fe0_port_2:
282     type: OS::Neutron::Port
283     properties:
284       network_id: { get_resource: FE_Clustering_KA }
285
286   fe0_port_3:
287     type: OS::Neutron::Port
288     properties:
289       network_id: { get_resource: Clustering_Network }
290
291   fe0_port_7:
292     type: OS::Neutron::Port
293     properties:
294       network: { get_param: OAM_direct_net_id }
295       fixed_ips: [{"ip_address": {get_param: fe0_OAM_direct_ips}}]
296
297   server_scp_fe1:
298     type: OS::Nova::Server
299 #    depends on: scp_be_wait_condition
300     properties:
301       name: { get_param: vm_scp_fe1_name }
302       image: { get_param: image_scp_fe_id }
303 #      availability_zone: { get_param: availability_zone_fe1 }
304       flavor: { get_param: flavor_scp_fe_id }
305       scheduler_hints: { group: { get_resource: FE_Affinity } }
306       networks:
307       - port: { get_resource: fe1_port_1 }
308       - port: { get_resource: fe1_port_2 }
309       - port: { get_resource: fe1_port_3 }
310       - port: { get_resource: fe1_port_7 }
311       metadata:
312         vnf_id: { get_param: vnf_id }
313       user_data:
314         str_replace:
315           template: |
316             #!/bin/bash
317             #todo: provision $vm_name
318             wc_notify --data-binary '{"status": "SUCCESS"}'
319           params:
320             $vm_name: {get_param: vm_scp_fe1_name}
321 #            wc_notify: { get_attr: ['scp_fe_wait_handle', 'curl_cli'] }
322
323   fe1_port_1:
324     type: OS::Neutron::Port
325     properties:
326       network: { get_param: SIGNET_vrf_B1_direct_net_id }
327       fixed_ips: [{"ip_address": {get_param: fe1_SIGNET_vrf_B1_direct_ips}}]
328
329   fe1_port_2:
330     type: OS::Neutron::Port
331     properties:
332       network_id: { get_resource: FE_Clustering_KA }
333
334   fe1_port_3:
335     type: OS::Neutron::Port
336     properties:
337       network_id: { get_resource: Clustering_Network }
338
339   fe1_port_7:
340     type: OS::Neutron::Port
341     properties:
342       network: { get_param: OAM_direct_net_id }
343       fixed_ips: [{"ip_address": {get_param: fe1_OAM_direct_ips}}]
344
345   server_smp0:
346     type: OS::Nova::Server
347     properties:
348       name: { get_param: vm_smp0_name }
349       image: { get_param: image_smp_id }
350 #      availability_zone: { get_param: availability_zone_smp0 }
351       flavor: { get_param: flavor_smp_id }
352       scheduler_hints: { group: { get_resource: SMP_Affinity } }
353       networks:
354       - port: { get_resource: smp0_port_7 }
355       metadata:
356         vnf_id: { get_param: vnf_id }
357       user_data:
358         str_replace:
359           template: |
360             #!/bin/bash
361             #todo: provision $vm_name
362             wc_notify --data-binary '{"status": "SUCCESS"}'
363           params:
364             $vm_name: {get_param: vm_smp0_name}
365 #            wc_notify: { get_attr: ['smp_wait_handle', 'curl_cli'] }
366
367   smp0_port_7:
368     type: OS::Neutron::Port
369     properties:
370       network: { get_param: OAM_direct_net_id }
371       fixed_ips: [{"ip_address": {get_param: smp0_OAM_direct_ips}}]
372
373   server_smp1:
374     type: OS::Nova::Server
375     properties:
376       name: { get_param: vm_smp1_name }
377       image: { get_param: image_smp_id }
378 #      availability_zone: { get_param: availability_zone_smp1 }
379       flavor: { get_param: flavor_smp_id }
380       scheduler_hints: { group: { get_resource: SMP_Affinity } }
381       networks:
382       - port: { get_resource: smp1_port_7 }
383       metadata:
384         vnf_id: { get_param: vnf_id }
385       user_data:
386         str_replace:
387           template: |
388             #!/bin/bash
389             #todo: provision $vm_name
390             wc_notify --data-binary '{"status": "SUCCESS"}'
391           params:
392             $vm_name: {get_param: vm_smp1_name}
393 #            wc_notify: { get_attr: ['smp_wait_handle', 'curl_cli'] }
394
395   smp1_port_7:
396     type: OS::Neutron::Port
397     properties:
398       network: { get_param: OAM_direct_net_id }
399       fixed_ips: [{"ip_address": {get_param: smp1_OAM_direct_ips}}]
400
401   server_db0:
402     type: OS::Nova::Server
403 #    depends_on: smp_wait_condition
404     properties:
405       name: { get_param: vm_db0_name }
406       image: { get_param: image_db_id }
407 #      availability_zone: { get_param: availability_zone_db0 }
408       flavor: { get_param: flavor_db_id }
409       scheduler_hints: { group: { get_resource: DB_Affinity } }
410       networks:
411       - port: { get_resource: db0_port_4 }
412       - port: { get_resource: db0_port_7 }
413       metadata:
414         vnf_id: { get_param: vnf_id }
415       user_data:
416         str_replace:
417           template: |
418             #!/bin/bash
419             #todo: provision $vm_name
420             wc_notify --data-binary '{"status": "SUCCESS"}'
421           params:
422             $vm_name: {get_param: vm_db0_name}
423 #            wc_notify: { get_attr: ['db_wait_handle', 'curl_cli'] }
424
425   db0_port_4:
426     type: OS::Neutron::Port
427     properties:
428       network_id: { get_resource: DB_Network }
429
430   db0_port_7:
431     type: OS::Neutron::Port
432     properties:
433       network: { get_param: OAM_direct_net_id }
434       fixed_ips: [{"ip_address": {get_param: db0_OAM_direct_ips}}]
435
436   server_db1:
437     type: OS::Nova::Server
438 #    depends_on: smp_wait_condition
439     properties:
440       name: { get_param: vm_db1_name }
441       image: { get_param: image_db_id }
442 #      availability_zone: { get_param: availability_zone_db1 }
443       flavor: { get_param: flavor_db_id }
444       scheduler_hints: { group: { get_resource: DB_Affinity } }
445       networks:
446       - port: { get_resource: db1_port_4 }
447       - port: { get_resource: db1_port_7 }
448       metadata:
449         vnf_id: { get_param: vnf_id }
450       user_data:
451         str_replace:
452           template: |
453             #!/bin/bash
454             #todo: provision $vm_name
455             wc_notify --data-binary '{"status": "SUCCESS"}'
456           params:
457             $vm_name: {get_param: vm_db1_name}
458 #            wc_notify: { get_attr: ['db_wait_handle', 'curl_cli'] }
459
460   db1_port_4:
461     type: OS::Neutron::Port
462     properties:
463       network_id: { get_resource: DB_Network }
464
465   db1_port_7:
466     type: OS::Neutron::Port
467     properties:
468       network: { get_param: OAM_direct_net_id }
469       fixed_ips: [{"ip_address": {get_param: db1_OAM_direct_ips}}]