Initial OpenECOMP MSO commit
[so.git] / asdc-controller / src / test / resources / resource-examples / vnf.yaml
1 heat_template_version: 2013-05-23
2
3 description: >
4   HOT template that creates internal networks, load balancers and servers for vMMSC.
5
6 parameters:
7   oam_net_name:
8     type: string
9     description: UID of OAM network
10   oam_network_netmask:
11     type: string
12     label: oam network netmask
13     description: oam network gateway
14   oam_network_gateway:
15     type: string
16     label: oam network gateway
17     description: oam network gateway
18   oam_network_route_1:
19     type: string
20     label: oam network route 1
21     description: oam network route 1
22   oam_network_route_2:
23     type: string
24     label: oam network route 2
25     description:  oam network route 2
26   external_dns:
27     type: string
28     label: dns server
29     description: dns server for MMSC
30   external_ntp:
31     type: string
32     label: ntp server 
33     description: ntp server for MMSC
34   lb1_oam_net_ip:
35     type: string
36     label: management network ip for mmsc
37     description: the ip of the management network for mmsc
38   lb2_oam_net_ip:
39     type: string
40     label: management network ip for mmsc
41     description: the ip of the management network for mmsc
42   dmz_protected_net:
43     type: string
44     description: UID of dmz_protected network
45   dmz_protected_net_local_ip1:
46     type: string
47     label: mmsc dmz protected network local ip1
48     description: the local ip1 of the mmsc dmz protected network
49   dmz_protected_net_local_ip2:
50     type: string
51     label: mmsc dmz protected network local ip2
52     description: the local ip2 of the mmsc dmz protected network
53   dmz_protected_net_floating_ip:
54     type: string
55     label: mmsc dmz protected floating ip
56     description: mmsc dmz direct floating ip
57   cor_direct_net:
58     type: string
59     label: cor direct net UID
60     description: cor direct net
61   cor_direct_net_local_ip1:
62     type: string  
63     label: mmsc cor direct network local ip1
64     description: the local ip1 of the mmsc cor direct network
65   cor_direct_net_local_ip2:
66     type: string
67     label: mmsc cor direct network local ip2
68     description: the local ip2 of the mmsc cor direct network
69   cor_direct_net_floating_ip:
70     type: string
71     label: mmsc cor direct floating ip
72     description: mmsc cor direct floating ip
73   mms_traffic_net_name:
74     type: string
75     description: Name of MMS traffic network
76   mms_traffic_net_cidr:
77     type: string
78     description: MMS traffic network address (CIDR notation)
79   mms_traffic_netmask:
80     type: string
81     description: MMS traffic network subnet mask  
82   mms_traffic_net_gateway:
83     type: string
84     description: MMS traffic network gateway address
85   mms_traffic_start:
86     type: string
87     label: mmsc traffic start IP
88     description: mmsc traffic start IP
89   mms_traffic_end:
90     type: string
91     label: mmsc traffic end IP
92     description: mmsc traffic end IP
93   mms_traffic_net_cidr:
94     type: string
95     label: mmsc traffic cidr
96     description: mmsc traffic cidr
97   mms_traffic_net_local_ip1:
98     type: string
99     label: mmsc traffic network local ip1
100     description: the local ip1 of the mmsc traffic network
101   mms_traffic_net_local_ip2:
102     type: string
103     label: mmsc traffic network local ip2
104     description: the local ip2 of the mmsc traffic network
105   mms_traffic_net_floating_ip:
106     type: string
107     label: mmsc traffic floating ip
108     description: mmsc traffic floating ip
109   nems_internal_name:
110     type: string
111     label: nems internal network name
112     description: nems internal network name
113   nems_internal_start:
114     type: string
115     label: nems internal start
116     description: nems internal start
117   nems_internal_end:
118     type: string
119     label: nems internal end
120     description: nems internal end
121   nems_internal_cidr:
122     type: string
123     label: nems ineternal cidr
124     description: nems internal cidr
125   nems_internal_netmask:
126     type: string
127     description: NEMS internal network subnet mask
128   nems_internal_gateway:
129     type: string
130     label: nems internal gw
131     description: nems internal gw
132   nems_traffic_name:
133     type: string
134     label: nems traffic name
135     description: nems traffic name
136   nems_traffic_start:
137     type: string
138     label: nems traffic start
139     description: nems traffic start
140   nems_traffic_end:
141     type: string
142     label: nems traffic end
143     description: nems traffic end
144   nems_traffic_cidr:
145     type: string
146     label: nems traffic cidr
147     description: nems traffic cidr
148   nems_traffic_netmask:
149     type: string
150     description: NEMS traffic network subnet mask
151   nems_traffic_gateway:
152     type: string
153     description: NEMS traffic network gateway  
154   nems_traffic_net_local_ip1:
155     type: string
156     label: nems traffic network local ip1
157     description: the local ip1 of the nems traffic network
158   nems_traffic_net_local_ip2:
159     type: string
160     label: nems traffic network local ip2
161     description: the local ip2 of the nems traffic network
162   nems_traffic_net_floating_ip:
163     type: string
164     label: nems traffic floating ip
165     description: nems traffic floating ip
166   nems_user_web_name:
167     type: string
168     label: nems user web name
169     description: nems user web name
170   nems_user_web_start:
171     type: string
172     label: nems user web start
173     description: nems user web end
174   nems_user_web_end:
175     type: string
176     label: nems user web end
177     description: nems user web end
178   nems_user_web_cidr:
179     type: string
180     label: nems user web cidr
181     description: nems user web cidr
182   nems_user_web_netmask:
183     type: string
184     description: NEMS user web network subnet mask
185   nems_user_web_gateway:
186     type: string
187     description: NEMS user web network gateway
188   nems_user_web_net_local_ip1:
189     type: string
190     label: nems user web network local ip1
191     description: the local ip1 of the nems user web network
192   nems_user_web_net_local_ip2:
193     type: string
194     label: nems user web network local ip2
195     description: the local ip2 of the nems user web network
196   nems_user_web_net_floating_ip:
197     type: string
198     label: nems user web floating ip
199     description: nems user web floating ip 
200   nems_imap_name:
201     type: string
202     label: nems imap name
203     description: nems imap name
204   nems_imap_netmask:
205     type: string
206     label: nems imap subnet mask
207     description: nems imap subnet mask  
208   nems_imap_start:
209     type: string
210     label: nems imap start
211     description: nems imap start
212   nems_imap_end:
213     type: string
214     label: nems imap end
215     description: nems imap end
216   nems_imap_cidr:
217     type: string
218     label: nems imap cidr
219     description: nems imap cidr
220   nems_imap_gateway:
221     type: string
222     label: nems imap gateway
223     description: nems imap gateway  
224   eca_traffic_name:
225     type: string
226     label: eca traffic name
227     description: eca traffic name
228   eca_traffic_start:
229     type: string
230     label: eca traffic start
231     description: eca traffic start
232   eca_traffic_end:
233     type: string
234     label: eca traffic end
235     description: eca traffic end
236   eca_traffic_cidr:
237     type: string
238     label: eca traffic cidr
239     description: eca traffic cidr
240   eca_traffic_netmask:
241     type: string
242     description: ECA traffic network subnet mask
243   eca_traffic_net_local_ip1:
244     type: string
245     label: eca traffic network local ip1
246     description: the local ip1 of the eca traffic network
247   eca_traffic_net_local_ip2:
248     type: string
249     label: eca traffic network local ip2
250     description: the local ip2 of the eca traffic network
251   eca_traffic_net_floating_ip:
252     type: string
253     label: eca traffic floating ip
254     description: eca traffic floating ip
255   eca_mgmt_name:
256     type: string
257     label: eca management name
258     description: eca management name
259   eca_mgmt_start:
260     type: string
261     label: eca management start
262     description: eca management start
263   eca_mgmt_end:
264     type: string
265     label: eca management end
266     description: eca management end
267   eca_mgmt_cidr:
268     type: string
269     label: eca management cidr
270     description: eca management cidr
271   eca_mgmt_netmask:
272     type: string
273     description: ECA mgmt network subnet mask
274   ha_net_name:
275     type: string
276     label: ha_failover network name
277     description: ha_failover network name
278   ha_net_start:
279     type: string
280     label: ha net start
281     description: ha net start
282   ha_net_end:
283     type: string
284     label: ha net end
285     description: ha net end
286   ha_net_cidr:
287     type: string
288     label: ha net cidr
289     description: ha net cidr
290   ha_net_local_ip1:
291     type: string
292     label: ha net network local ip1
293     description: the local ip1 of the ha network
294   ha_net_local_ip2:
295     type: string
296     label: ha net network local ip2
297     description: the local ip2 of the ha network
298   lb1_name:
299     type: string
300     label: MMSC load balancer instance name
301     description: MMSC load balancer instance name
302   lb_image_name:
303     type: string
304     label: MMSC load balancer image name
305     description: MMSC load balancer image name
306   lb_flavor_name:
307     type: string
308     label: Load balancer flavor name
309     description: the flavor name of MMSC load balancer instance
310   lb1_name:
311     type: string
312     label: MMSC load balancer1 instance name
313     description: MMSC load balancer1 instance name
314   lb2_name:
315     type: string
316     label: MMSC load balancer2 instance name
317     description: MMSC load balancer2 instance name
318   availabilityzone_name:
319     type: string
320     label: MMSC availabilityzone name
321     description: MMSC availabilityzone name
322   security_group_name:
323     type: string
324     label: MMSC security group name
325     description: MMSC security group name
326   mmsc_image:
327     type: string
328     description: Image for MMSC server
329   mmsc_flavor:
330     type: string
331     description: Flavor for MMSC server
332 #  mmsc_cinder_volume_size:
333 #    type: number
334 #    label: MMSC Cinder volume size
335 #    description: the size of the MMSC Cinder volume
336   nems_fe_image:
337     type: string
338     description: Image for NEMS FE server
339   nems_fe_flavor:
340     type: string
341     description: Flavor for NEMS FE server
342   nems_be_image:
343     type: string
344     description: Image for NEMS BE server
345   nems_be_flavor:
346     type: string
347     description: Flavor for NEMS BE server
348   eca_trx_image:
349     type: string
350     description: Image for ECA TRX server
351   eca_trx_flavor:
352     type: string
353     description: Flavor for ECA TRX server
354   eca_oam_image:
355     type: string
356     description: Image for ECA OAM server
357   eca_oam_flavor:
358     type: string
359     description: Flavor for ECA OAM server
360   cmaui_name:
361     type: string
362     description: CMAUI server name
363   cmaui_image:
364     type: string
365     description: Image for CMAUI server
366   cmaui_flavor:
367     type: string
368     description: Flavor for CMAUI server  
369 #  cmaui_cinder_volume_size:
370 #    type: number
371 #    label: CMAUI Cinder volume size
372 #    description: the size of the CMAUI Cinder volume
373   mmsc1_name:
374     type: string
375     description: MMSC1 server name
376   mmsc1_oam_net_ip:
377     type: string
378     description: OAM_net IP for MMSC1
379   mmsc1_mms_traffic_net_ip:
380     type: string
381     description: mms_traffic_net IP for MMSC1
382   mmsc2_name:
383     type: string
384     description: MMSC2 server name
385   mmsc2_oam_net_ip:
386     type: string
387     description: OAM_net IP for MMSC2
388   mmsc2_mms_traffic_net_ip:
389     type: string
390     description: mms_traffic_net IP for MMSC2
391   mmsc3_name:
392     type: string
393     description: MMSC3 server name
394   mmsc3_oam_net_ip:
395     type: string
396     description: OAM_net IP for MMSC3
397   mmsc3_mms_traffic_net_ip:
398     type: string
399     description: mms_traffic_net IP for MMSC3
400   mmsc4_name:
401     type: string
402     description: MMSC4 server name
403   mmsc4_oam_net_ip:
404     type: string
405     description: OAM_net IP for MMSC4
406   mmsc4_mms_traffic_net_ip:
407     type: string
408     description: mms_traffic_net IP for MMSC4
409   mmsc5_name:
410     type: string
411     description: MMSC5 server name
412   mmsc5_oam_net_ip:
413     type: string
414     description: OAM_net IP for MMSC5
415   mmsc5_mms_traffic_net_ip:
416     type: string
417     description: mms_traffic_net IP for MMSC5
418   nems_fe1_name:
419     type: string
420     description: NEMS_FE1 server name
421   nems_fe1_node_role:
422     type: string
423     label: nems node role
424     description: nems node role
425   nems_fe1_oam_net_ip:
426     type: string
427     description: OAM_net IP for NEMS_FE1
428   nems_fe1_nems_traffic_net_ip:
429     type: string
430     description: nems_traffic_net IP for NEMS_FE1
431   nems_fe1_nems_user_web_net_ip:
432     type: string
433     description: nems_web_user_net IP for NEMS_FE1
434   nems_fe1_nems_internal_net_ip:
435     type: string
436     description: nems_internal_net IP for NEMS_FE1
437   nems_fe1_nems_imap_net_ip:
438     type: string
439     description: nems_imap_net IP for NEMS_FE1  
440   nems_fe2_name:
441     type: string
442     description: NEMS_FE2 server name
443   nems_fe2_node_role:
444     type: string
445     label: nems node role
446     description: nems node role
447   nems_fe2_oam_net_ip:
448     type: string
449     description: OAM_net IP for NEMS_FE2
450   nems_fe2_nems_traffic_net_ip:
451     type: string
452     description: nems_traffic_net IP for NEMS_FE2
453   nems_fe2_nems_user_web_net_ip:
454     type: string
455     description: nems_web_user_net IP for NEMS_FE2
456   nems_fe2_nems_internal_net_ip:
457     type: string
458     description: nems_internal_net IP for NEMS_FE2
459   nems_fe2_nems_internal_net_ip:
460     type: string
461     description: nems_internal_net IP for NEMS_FE2
462   nems_fe2_nems_imap_net_ip:
463     type: string
464     description: nems_imap_net IP for NEMS_FE2  
465   nems_be1_name:
466     type: string
467     description: NEMS_BE2 server name
468   nems_be1_node_role:
469     type: string
470     label: nems node role
471     description: nems node role
472   nems_be1_oam_net_ip:
473     type: string
474     description: OAM_net IP for NEMS_BE1
475   nems_be1_nems_internal_net_ip:
476     type: string
477     description: nems_internal_net IP for NEMS_BE1
478   nems_be1_nems_imap_net_ip:
479     type: string
480     description: nems_imap_net IP for NEMS_BE1  
481   nems_be2_name:
482     type: string
483     description: NEMS_BE2 server name
484   nems_be2_node_role:
485     type: string
486     label: nems node role
487     description: nems node role
488   nems_be2_oam_net_ip:
489     type: string
490     description: OAM_net IP for NEMS_BE2
491   nems_be2_nems_internal_net_ip:
492     type: string
493     description: nems_internal_net IP for NEMS_BE2
494   nems_be2_nems_imap_net_ip:
495     type: string
496     description: nems_imap_net IP for NEMS_BE2
497   eca_oam1_name:
498     type: string
499     description: ECA_OAM1 server name
500   eca_oam1_oam_net_ip:
501     type: string
502     description: OAM_net IP for ECA_OAM1
503   eca_oam1_eca_mgmt_net_ip:
504     type: string
505     description: eca_mgmt_net IP for ECA_OAM1
506   eca_oam2_name:
507     type: string
508     description: ECA_OAM2 server name
509   eca_oam2_oam_net_ip:
510     type: string
511     description: OAM_net IP for ECA_OAM2
512   eca_oam2_eca_mgmt_net_ip:
513     type: string
514     description: eca_mgmt_net IP for ECA_OAM2
515   eca_trx1_name:
516     type: string
517     description: ECA_TRX1 server name
518   eca_trx1_oam_net_ip:
519     type: string
520     description: OAM_net IP for ECA_TRX1
521   eca_trx1_eca_mgmt_net_ip:
522     type: string
523     description: eca_mgmt_net IP for ECA_TRX1
524   eca_trx1_eca_traffic_net_ip:
525     type: string
526     description: eca_traffic_net IP for ECA_TRX1
527   cmaui_oam_net_ip:
528     type: string
529     description: eca_mgmt_net IP for CMAUI
530
531 resources:
532   mms_security_group:
533     type: OS::Neutron::SecurityGroup
534     properties:
535       description: mmsc security group
536       name: {get_param: security_group_name}
537       rules: [{"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0},
538               {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0},
539               {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0},
540               {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0},
541               {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0},
542               {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}
543               ]
544
545   lb1_instance:
546     type: OS::Nova::Server
547     properties:
548       name: {get_param: lb1_name}
549       image: {get_param: lb_image_name}
550       flavor: {get_param: lb_flavor_name}
551       availability_zone: {get_param: availabilityzone_name}
552       networks:
553         - port: {get_resource: lb1_mgmt_port}
554         - port: {get_resource: lb1_dmz_protected_port}
555         - port: {get_resource: lb1_cor_direct_port}
556         - port: {get_resource: lb1_mms_traffic_port}
557         - port: {get_resource: lb1_nems_traffic_port}
558         - port: {get_resource: lb1_nems_user_web_port}
559         - port: {get_resource: lb1_eca_traffic_port}
560         - port: {get_resource: lb1_ha_net_port}
561
562   lb1_mgmt_port:
563     type: OS::Neutron::Port
564     properties:
565       network_id: {get_param: oam_net_name}
566       fixed_ips: [{"ip_address": {get_param: lb1_oam_net_ip}}]
567       security_groups: [{get_resource: mms_security_group}]
568
569   lb1_mms_traffic_port:
570     type: OS::Neutron::Port
571     properties:
572       network_id: {get_resource: mms_traffic_net}
573       fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip1}}]
574       allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }]
575       security_groups: [{get_resource: mms_security_group}]
576
577   lb1_dmz_protected_port:
578     type: OS::Neutron::Port
579     properties:
580       network_id: {get_param: dmz_protected_net}
581       fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip1}}]
582       allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }]
583       security_groups: [{get_resource: mms_security_group}]
584
585   lb1_cor_direct_port:
586     type: OS::Neutron::Port
587     properties:
588       network_id: {get_param: cor_direct_net}
589       fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip1}}]
590       allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }]
591       security_groups: [{get_resource: mms_security_group}]
592
593   lb1_nems_traffic_port:
594     type: OS::Neutron::Port
595     properties:
596       network_id: {get_resource: nems_traffic_net}
597       fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip1}}]
598       allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }]
599       security_groups: [{get_resource: mms_security_group}]
600
601   lb1_nems_user_web_port:
602     type: OS::Neutron::Port
603     properties:
604       network_id: {get_resource: nems_user_web_net}
605       fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip1}}]
606       allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }]
607       security_groups: [{get_resource: mms_security_group}]
608
609   lb1_ha_net_port:
610     type: OS::Neutron::Port
611     properties:
612       network_id: {get_resource: ha_net}
613       fixed_ips: [{"ip_address": {get_param: ha_net_local_ip1}}]
614
615   lb1_eca_traffic_port:
616     type: OS::Neutron::Port
617     properties:
618       network_id: {get_resource: eca_traffic_net}
619       fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip1}}]
620       allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }]
621       security_groups: [{get_resource: mms_security_group}]
622
623   lb2_instance:
624     type: OS::Nova::Server
625     properties:
626       name: {get_param: lb2_name}
627       image: {get_param: lb_image_name}
628       flavor: {get_param: lb_flavor_name}
629       availability_zone: {get_param: availabilityzone_name}
630       networks:
631         - port: {get_resource: lb2_mgmt_port}
632         - port: {get_resource: lb2_dmz_protected_port}
633         - port: {get_resource: lb2_cor_direct_port}
634         - port: {get_resource: lb2_mms_traffic_port}
635         - port: {get_resource: lb2_nems_traffic_port}
636         - port: {get_resource: lb2_nems_user_web_port}
637         - port: {get_resource: lb2_eca_traffic_port}
638         - port: {get_resource: lb2_ha_net_port}
639
640   lb2_mgmt_port:
641     type: OS::Neutron::Port
642     properties:
643       network_id: {get_param: oam_net_name}
644       fixed_ips: [{"ip_address": {get_param: lb2_oam_net_ip}}]
645       security_groups: [{get_resource: mms_security_group}]
646
647   lb2_mms_traffic_port:
648     type: OS::Neutron::Port
649     properties:
650       network_id: {get_resource: mms_traffic_net}
651       fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip2}}]
652       allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }]
653       security_groups: [{get_resource: mms_security_group}]
654
655   lb2_dmz_protected_port:
656     type: OS::Neutron::Port
657     properties:
658       network_id: {get_param: dmz_protected_net}
659       fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip2}}]
660       allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }]
661       security_groups: [{get_resource: mms_security_group}]
662
663   lb2_cor_direct_port:
664     type: OS::Neutron::Port
665     properties:
666       network_id: {get_param: cor_direct_net}
667       fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip2}}]
668       allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }]
669       security_groups: [{get_resource: mms_security_group}]
670
671   lb2_nems_traffic_port:
672     type: OS::Neutron::Port
673     properties:
674       network_id: {get_resource: nems_traffic_net}
675       fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip2}}]
676       allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }]
677       security_groups: [{get_resource: mms_security_group}]
678
679   lb2_nems_user_web_port:
680     type: OS::Neutron::Port
681     properties:
682       network_id: {get_resource: nems_user_web_net}
683       fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip2}}]
684       allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }]
685       security_groups: [{get_resource: mms_security_group}]
686
687   lb2_ha_net_port:
688     type: OS::Neutron::Port
689     properties:
690       network_id: {get_resource: ha_net}
691       fixed_ips: [{"ip_address": {get_param: ha_net_local_ip2}}]
692
693   lb2_eca_traffic_port:
694     type: OS::Neutron::Port
695     properties:
696       network_id: {get_resource: eca_traffic_net}
697       fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip2}}]
698       allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }]
699       security_groups: [{get_resource: mms_security_group}]
700
701   server_mmsc1:
702     type: OS::Nova::Server
703     properties:
704       name: { get_param: mmsc1_name }
705       image: { get_param: mmsc_image }
706       availability_zone: { get_param: availabilityzone_name }
707       flavor: { get_param: mmsc_flavor }
708       networks:
709       - port: { get_resource: mmsc1_port_0 }
710       - port: { get_resource: mmsc1_port_1 }
711       user_data:
712         str_replace:
713           template: |
714             mmsc.mgmt.ip=${mmsc.mgmt.ip}
715             mmsc.mgmt.netmask=${mmsc.mgmt.netmask}
716             mmsc.mgmt.gateway=${mmsc.mgmt.gateway}
717             mmsc.traffic.ip=${mmsc.traffic.ip}
718             mmsc.traffic.netmask=${mmsc.traffic.netmask}
719             mmsc.traffic.gateway=${mmsc.traffic.gateway}
720             mmsc.mgmt.route.1=${mmsc.mgmt.route.1}
721             mmsc.mgmt.route.2=${mmsc.mgmt.route.2}
722             mmsc.external.dns=${mmsc.external.dns}
723             mmsc.external.ntp=${mmsc.external.ntp}
724           params:
725             ${mmsc.mgmt.ip}: {get_param: mmsc1_oam_net_ip}
726             ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask}
727             ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway}
728             ${mmsc.traffic.ip}: {get_param:  mmsc1_mms_traffic_net_ip}
729             ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask}
730             ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway}
731             ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1}
732             ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2}
733             ${mmsc.external.dns}: {get_param: external_dns}
734             ${mmsc.external.ntp}: {get_param: external_ntp} 
735       user_data_format: RAW
736 #  mmsc1_volume:
737 #    type: OS::Cinder::Volume
738 #    properties:
739 #      size: {get_param: mmsc_cinder_volume_size}
740
741 #  mmsc1_volume_attachment:
742 #    type: OS::Cinder::VolumeAttachment
743 #    properties:
744 #      volume_id: {get_resource: mmsc1_volume}
745 #      instance_uuid: {get_resource: server_mmsc1}
746
747   mmsc1_port_0:
748     type: OS::Neutron::Port
749     properties:
750       network_id: { get_param: oam_net_name }
751       fixed_ips: [
752         "ip_address": { get_param: mmsc1_oam_net_ip }
753       ]
754
755   mmsc1_port_1:
756     type: OS::Neutron::Port
757     properties:
758       network_id: { get_resource: mms_traffic_net }
759       fixed_ips: [
760         "ip_address": { get_param: mmsc1_mms_traffic_net_ip }
761       ]
762
763   server_mmsc2:
764     type: OS::Nova::Server
765     properties:
766       name: { get_param: mmsc2_name }
767       image: { get_param: mmsc_image }
768       availability_zone: { get_param: availabilityzone_name }
769       flavor: { get_param: mmsc_flavor }
770       networks:
771       - port: { get_resource: mmsc2_port_0 }
772       - port: { get_resource: mmsc2_port_1 }
773       user_data:
774         str_replace:
775           template: |
776             mmsc.mgmt.ip=${mmsc.mgmt.ip}
777             mmsc.mgmt.netmask=${mmsc.mgmt.netmask}
778             mmsc.mgmt.gateway=${mmsc.mgmt.gateway}
779             mmsc.traffic.ip=${mmsc.traffic.ip}
780             mmsc.traffic.netmask=${mmsc.traffic.netmask}
781             mmsc.traffic.gateway=${mmsc.traffic.gateway}
782             mmsc.mgmt.route.1=${mmsc.mgmt.route.1}
783             mmsc.mgmt.route.2=${mmsc.mgmt.route.2}
784             mmsc.external.dns=${mmsc.external.dns}
785             mmsc.external.ntp=${mmsc.external.ntp}
786           params:
787             ${mmsc.mgmt.ip}: {get_param: mmsc2_oam_net_ip}
788             ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask}
789             ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway}
790             ${mmsc.traffic.ip}: {get_param: mmsc2_mms_traffic_net_ip}
791             ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask}
792             ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway}
793             ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1}
794             ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2}
795             ${mmsc.external.dns}: {get_param: external_dns}
796             ${mmsc.external.ntp}: {get_param: external_ntp} 
797       user_data_format: RAW
798 #  mmsc2_volume:
799 #    type: OS::Cinder::Volume
800 #    properties:
801 #      size: {get_param: mmsc_cinder_volume_size}
802
803 #  mmsc2_volume_attachment:
804 #    type: OS::Cinder::VolumeAttachment
805 #    properties:
806 #      volume_id: {get_resource: mmsc2_volume}
807 #      instance_uuid: {get_resource: server_mmsc2}
808
809   mmsc2_port_0:
810     type: OS::Neutron::Port
811     properties:
812       network_id: { get_param: oam_net_name }
813       fixed_ips: [
814         "ip_address": { get_param: mmsc2_oam_net_ip }
815       ]
816
817   mmsc2_port_1:
818     type: OS::Neutron::Port
819     properties:
820       network_id: { get_resource: mms_traffic_net }
821       fixed_ips: [
822         "ip_address": { get_param: mmsc2_mms_traffic_net_ip }
823       ]
824
825   server_mmsc3:
826     type: OS::Nova::Server
827     properties:
828       name: { get_param: mmsc3_name }
829       image: { get_param: mmsc_image }
830       availability_zone: { get_param: availabilityzone_name }
831       flavor: { get_param: mmsc_flavor }
832       networks:
833       - port: { get_resource: mmsc3_port_0 }
834       - port: { get_resource: mmsc3_port_1 }
835       user_data:
836         str_replace:
837           template: |
838             mmsc.mgmt.ip=${mmsc.mgmt.ip}
839             mmsc.mgmt.netmask=${mmsc.mgmt.netmask}
840             mmsc.mgmt.gateway=${mmsc.mgmt.gateway}
841             mmsc.traffic.ip=${mmsc.traffic.ip}
842             mmsc.traffic.netmask=${mmsc.traffic.netmask}
843             mmsc.traffic.gateway=${mmsc.traffic.gateway}
844             mmsc.mgmt.route.1=${mmsc.mgmt.route.1}
845             mmsc.mgmt.route.2=${mmsc.mgmt.route.2}
846             mmsc.external.dns=${mmsc.external.dns}
847             mmsc.external.ntp=${mmsc.external.ntp}
848           params:
849             ${mmsc.mgmt.ip}: {get_param: mmsc3_oam_net_ip}
850             ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask}
851             ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway}
852             ${mmsc.traffic.ip}: {get_param:  mmsc3_mms_traffic_net_ip}
853             ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask}
854             ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway}
855             ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1}
856             ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2}
857             ${mmsc.external.dns}: {get_param: external_dns}
858             ${mmsc.external.ntp}: {get_param: external_ntp}
859       user_data_format: RAW
860
861   mmsc3_port_0:
862     type: OS::Neutron::Port
863     properties:
864       network_id: { get_param: oam_net_name }
865       fixed_ips: [
866         "ip_address": { get_param: mmsc3_oam_net_ip }
867       ]
868
869   mmsc3_port_1:
870     type: OS::Neutron::Port
871     properties:
872       network_id: { get_resource: mms_traffic_net }
873       fixed_ips: [
874         "ip_address": { get_param: mmsc3_mms_traffic_net_ip }
875       ]
876
877   server_mmsc4:
878     type: OS::Nova::Server
879     properties:
880       name: { get_param: mmsc4_name }
881       image: { get_param: mmsc_image }
882       availability_zone: { get_param: availabilityzone_name }
883       flavor: { get_param: mmsc_flavor }
884       networks:
885       - port: { get_resource: mmsc4_port_0 }
886       - port: { get_resource: mmsc4_port_1 }
887       user_data:
888         str_replace:
889           template: |
890             mmsc.mgmt.ip=${mmsc.mgmt.ip}
891             mmsc.mgmt.netmask=${mmsc.mgmt.netmask}
892             mmsc.mgmt.gateway=${mmsc.mgmt.gateway}
893             mmsc.traffic.ip=${mmsc.traffic.ip}
894             mmsc.traffic.netmask=${mmsc.traffic.netmask}
895             mmsc.traffic.gateway=${mmsc.traffic.gateway}
896             mmsc.mgmt.route.1=${mmsc.mgmt.route.1}
897             mmsc.mgmt.route.2=${mmsc.mgmt.route.2}
898             mmsc.external.dns=${mmsc.external.dns}
899             mmsc.external.ntp=${mmsc.external.ntp}
900           params:
901             ${mmsc.mgmt.ip}: {get_param: mmsc4_oam_net_ip}
902             ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask}
903             ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway}
904             ${mmsc.traffic.ip}: {get_param:  mmsc4_mms_traffic_net_ip}
905             ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask}
906             ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway}
907             ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1}
908             ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2}
909             ${mmsc.external.dns}: {get_param: external_dns}
910             ${mmsc.external.ntp}: {get_param: external_ntp}
911       user_data_format: RAW
912
913   mmsc4_port_0:
914     type: OS::Neutron::Port
915     properties:
916       network_id: { get_param: oam_net_name }
917       fixed_ips: [
918         "ip_address": { get_param: mmsc4_oam_net_ip }
919       ]
920
921   mmsc4_port_1:
922     type: OS::Neutron::Port
923     properties:
924       network_id: { get_resource: mms_traffic_net }
925       fixed_ips: [
926         "ip_address": { get_param: mmsc4_mms_traffic_net_ip }
927       ]
928
929   server_mmsc5:
930     type: OS::Nova::Server
931     properties:
932       name: { get_param: mmsc5_name }
933       image: { get_param: mmsc_image }
934       availability_zone: { get_param: availabilityzone_name }
935       flavor: { get_param: mmsc_flavor }
936       networks:
937       - port: { get_resource: mmsc5_port_0 }
938       - port: { get_resource: mmsc5_port_1 }
939
940   mmsc5_port_0:
941     type: OS::Neutron::Port
942     properties:
943       network_id: { get_param: oam_net_name }
944       fixed_ips: [
945         "ip_address": { get_param: mmsc5_oam_net_ip }
946       ]
947
948   mmsc5_port_1:
949     type: OS::Neutron::Port
950     properties:
951       network_id: { get_resource: mms_traffic_net }
952       fixed_ips: [
953         "ip_address": { get_param: mmsc5_mms_traffic_net_ip }
954       ]
955
956   server_nems_fe1:
957     type: OS::Nova::Server
958     properties:
959       name: { get_param: nems_fe1_name }
960       image: { get_param: nems_fe_image }
961       availability_zone: { get_param: availabilityzone_name }
962       flavor: { get_param: nems_fe_flavor }
963       networks:
964       - port: { get_resource: nems_fe1_port_0 }
965       - port: { get_resource: nems_fe1_port_1 }
966       - port: { get_resource: nems_fe1_port_2 }
967       - port: { get_resource: nems_fe1_port_3 }
968       - port: { get_resource: nems_fe1_port_4 }
969       user_data:
970         str_replace:
971           template: |
972             nems.mgmt.ip=${nems.mgmt.ip}
973             nems.mgmt.netmask=${nems.mgmt.netmask}
974             nems.mgmt.gateway=${nems.mgmt.gateway}
975             nems.traffic.ip=${nems.traffic.ip}
976             nems.traffic.netmask=${nems.traffic.netmask}
977             nems.traffic.gateway=${nems.traffic.gateway}
978             nems.fe0.internal.ip=${nems.fe0.internal.ip}
979             nems.fe1.internal.ip=${nems.fe1.internal.ip}
980             nems.internal.netmask=${nems.internal.netmask}
981             nems.internal.gateway=${nems.internal.gateway}
982             nems.userweb.ip=${nems.userweb.ip}
983             nems.userweb.netmask=${nems.userweb.netmask}
984             nems.userweb.gateway=${nems.userweb.gateway}
985             nems.imap.ip=${nems.imap.ip}
986             nems.imap.netmask=${nems.imap.netmask}
987             nems.imap.gateway=${nems.imap.gateway}
988             nems.be.internal.ip=${nems.be.internal.ip}
989             nems.be.imap.ip=${nems.be.imap.ip}
990             nems.mgmt.route.1=${nems.mgmt.route.1}
991             nems.mgmt.route.2=${nems.mgmt.route.2}
992             nems.external.dns=${nems.external.dns}
993             nems.external.ntp=${nems.external.ntp}
994             nems.node=${nems.node}
995           params:
996             ${nems.mgmt.ip}: {get_param: nems_fe1_oam_net_ip}
997             ${nems.mgmt.netmask}: {get_param: oam_network_netmask}
998             ${nems.mgmt.gateway}: {get_param: oam_network_gateway}
999             ${nems.traffic.ip}: {get_param: nems_fe1_nems_traffic_net_ip}
1000             ${nems.traffic.netmask}: {get_param: nems_traffic_netmask}
1001             ${nems.traffic.gateway}: {get_param: nems_traffic_gateway}
1002             ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip}
1003             ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip}
1004             ${nems.internal.netmask}: {get_param: nems_internal_netmask}
1005             ${nems.internal.gateway}: {get_param: nems_internal_gateway}
1006             ${nems.userweb.ip}: {get_param: nems_fe1_nems_user_web_net_ip}
1007             ${nems.userweb.netmask}: {get_param: nems_user_web_netmask}
1008             ${nems.userweb.gateway}: {get_param: nems_user_web_gateway}
1009             ${nems.imap.ip}: {get_param: nems_fe1_nems_imap_net_ip}
1010             ${nems.imap.netmask}: {get_param: nems_imap_netmask}
1011             ${nems.imap.gateway}: {get_param: nems_imap_gateway}  
1012             ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip}
1013             ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip}
1014             ${nems.mgmt.route.1}: {get_param: oam_network_route_1}
1015             ${nems.mgmt.route.2}: {get_param: oam_network_route_2}
1016             ${nems.external.dns}: {get_param: external_dns}
1017             ${nems.external.ntp}: {get_param: external_ntp}
1018             ${nems.node}: {get_param: nems_fe1_node_role} 
1019       user_data_format: RAW
1020
1021   nems_fe1_port_0:
1022     type: OS::Neutron::Port
1023     properties:
1024       network_id: { get_param: oam_net_name }
1025       fixed_ips: [
1026         "ip_address": { get_param: nems_fe1_oam_net_ip }
1027       ]
1028
1029   nems_fe_floating_ip:
1030     type: OS::Neutron::FloatingIP
1031     properties:
1032       floating_network_id: {get_param: oam_net_name}
1033       port_id: {get_resource: nems_fe1_port_0}
1034
1035   nems_fe1_port_1:
1036     type: OS::Neutron::Port
1037     properties:
1038       network_id: { get_resource: nems_traffic_net }
1039       fixed_ips: [
1040         "ip_address": { get_param: nems_fe1_nems_traffic_net_ip }
1041       ]
1042
1043   nems_fe1_port_2:
1044     type: OS::Neutron::Port
1045     properties:
1046       network_id: { get_resource: nems_user_web_net }
1047       fixed_ips: [
1048         "ip_address": { get_param: nems_fe1_nems_user_web_net_ip }
1049       ]
1050
1051   nems_fe1_port_3:
1052     type: OS::Neutron::Port
1053     properties:
1054       network_id: { get_resource: nems_internal_net }
1055       fixed_ips: [
1056         "ip_address": { get_param: nems_fe1_nems_internal_net_ip }
1057       ]
1058
1059   nems_fe1_port_4:
1060     type: OS::Neutron::Port
1061     properties:
1062       network_id: { get_resource: nems_imap_net }
1063       fixed_ips: [
1064         "ip_address": { get_param: nems_fe1_nems_imap_net_ip }
1065       ]
1066
1067   server_nems_fe2:
1068     type: OS::Nova::Server
1069     properties:
1070       name: { get_param: nems_fe2_name }
1071       image: { get_param: nems_fe_image }
1072       availability_zone: { get_param: availabilityzone_name }
1073       flavor: { get_param: nems_fe_flavor }
1074       networks:
1075       - port: { get_resource: nems_fe2_port_0 }
1076       - port: { get_resource: nems_fe2_port_1 }
1077       - port: { get_resource: nems_fe2_port_2 }
1078       - port: { get_resource: nems_fe2_port_3 }
1079       - port: { get_resource: nems_fe2_port_4 }
1080       user_data:
1081         str_replace:
1082           template: |
1083             nems.mgmt.ip=${nems.mgmt.ip}
1084             nems.mgmt.netmask=${nems.mgmt.netmask}
1085             nems.mgmt.gateway=${nems.mgmt.gateway}
1086             nems.traffic.ip=${nems.traffic.ip}
1087             nems.traffic.netmask=${nems.traffic.netmask}
1088             nems.traffic.gateway=${nems.traffic.gateway}
1089             nems.fe0.internal.ip=${nems.fe0.internal.ip}
1090             nems.fe1.internal.ip=${nems.fe1.internal.ip}
1091             nems.internal.netmask=${nems.internal.netmask}
1092             nems.internal.gateway=${nems.internal.gateway}
1093             nems.userweb.ip=${nems.userweb.ip}
1094             nems.userweb.netmask=${nems.userweb.netmask}
1095             nems.userweb.gateway=${nems.userweb.gateway}
1096             nems.imap.ip=${nems.imap.ip}
1097             nems.imap.netmask=${nems.imap.netmask}
1098             nems.imap.gateway=${nems.imap.gateway}
1099             nems.be.internal.ip=${nems.be.internal.ip}
1100             nems.be.imap.ip=${nems.be.imap.ip}
1101             nems.mgmt.route.1=${nems.mgmt.route.1}
1102             nems.mgmt.route.2=${nems.mgmt.route.2}
1103             nems.external.dns=${nems.external.dns}
1104             nems.external.ntp=${nems.external.ntp}
1105             nems.node=${nems.node}
1106           params:
1107             ${nems.mgmt.ip}: {get_param: nems_fe2_oam_net_ip}
1108             ${nems.mgmt.netmask}: {get_param: oam_network_netmask}
1109             ${nems.mgmt.gateway}: {get_param: oam_network_gateway}
1110             ${nems.traffic.ip}: {get_param: nems_fe2_nems_traffic_net_ip}
1111             ${nems.traffic.netmask}: {get_param: nems_traffic_netmask}
1112             ${nems.traffic.gateway}: {get_param: nems_traffic_gateway}
1113             ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip}
1114             ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip}
1115             ${nems.internal.netmask}: {get_param: nems_internal_netmask}
1116             ${nems.internal.gateway}: {get_param: nems_internal_gateway}
1117             ${nems.userweb.ip}: {get_param: nems_fe2_nems_user_web_net_ip}
1118             ${nems.userweb.netmask}: {get_param: nems_user_web_netmask}
1119             ${nems.userweb.gateway}: {get_param: nems_user_web_gateway}
1120             ${nems.imap.ip}: {get_param: nems_fe2_nems_imap_net_ip}
1121             ${nems.imap.netmask}: {get_param: nems_imap_netmask}
1122             ${nems.imap.gateway}: {get_param: nems_imap_gateway}
1123             ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip}
1124             ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip}
1125             ${nems.mgmt.route.1}: {get_param: oam_network_route_1}
1126             ${nems.mgmt.route.2}: {get_param: oam_network_route_2}
1127             ${nems.external.dns}: {get_param: external_dns}
1128             ${nems.external.ntp}: {get_param: external_ntp}
1129             ${nems.node}: {get_param: nems_fe2_node_role}
1130       user_data_format: RAW
1131
1132   nems_fe2_port_0:
1133     type: OS::Neutron::Port
1134     properties:
1135       network_id: { get_param: oam_net_name }
1136       fixed_ips: [
1137         "ip_address": { get_param: nems_fe2_oam_net_ip }
1138       ]
1139
1140   nems_fe_floating_ip:
1141     type: OS::Neutron::FloatingIP
1142     properties:
1143       floating_network_id: {get_param: oam_net_name}
1144       port_id: {get_resource: nems_fe2_port_0}
1145
1146   nems_fe2_port_1:
1147     type: OS::Neutron::Port
1148     properties:
1149       network_id: { get_resource: nems_traffic_net }
1150       fixed_ips: [
1151         "ip_address": { get_param: nems_fe2_nems_traffic_net_ip }
1152       ]
1153
1154   nems_fe2_port_2:
1155     type: OS::Neutron::Port
1156     properties:
1157       network_id: { get_resource: nems_user_web_net }
1158       fixed_ips: [
1159         "ip_address": { get_param: nems_fe2_nems_user_web_net_ip }
1160       ]
1161
1162   nems_fe2_port_3:
1163     type: OS::Neutron::Port
1164     properties:
1165       network_id: { get_resource: nems_internal_net }
1166       fixed_ips: [
1167         "ip_address": { get_param: nems_fe2_nems_internal_net_ip }
1168       ]
1169
1170   nems_fe2_port_4:
1171     type: OS::Neutron::Port
1172     properties:
1173       network_id: { get_resource: nems_imap_net }
1174       fixed_ips: [
1175         "ip_address": { get_param: nems_fe2_nems_imap_net_ip }
1176       ]
1177
1178   server_nems_be1:
1179     type: OS::Nova::Server
1180     properties:
1181       name: { get_param: nems_be1_name }
1182       image: { get_param: nems_be_image }
1183       availability_zone: { get_param: availabilityzone_name }
1184       flavor: { get_param: nems_be_flavor }
1185       networks:
1186       - port: { get_resource: nems_be1_port_0 }
1187       - port: { get_resource: nems_be1_port_1 }
1188       - port: { get_resource: nems_be1_port_2 }
1189       user_data:
1190         str_replace:
1191           template: |
1192             nems.be.mgmt.ip=${nems.be.mgmt.ip}
1193             nems.mgmt.netmask=${nems.mgmt.netmask}
1194             nems.mgmt.gateway=${nems.mgmt.gateway}
1195             nems.be.internal.ip=${nems.be.internal.ip}
1196             nems.internal.netmask=${nems.internal.netmask}
1197             nems.internal.gateway=${nems.internal.gateway}
1198             nems.imap.netmask=${nems.imap.netmask}
1199             nems.imap.gateway=${nems.imap.gateway}
1200             nems.be.internal.ip=${nems.be.internal.ip}
1201             nems.be.imap.ip=${nems.be.imap.ip}
1202             nems.mgmt.route.1=${nems.mgmt.route.1}
1203             nems.mgmt.route.2=${nems.mgmt.route.2}
1204             nems.external.dns=${nems.external.dns}
1205             nems.external.ntp=${nems.external.ntp}
1206             nems.node=${nems.node}
1207           params:
1208             ${nems.be.mgmt.ip}: {get_param: nems_be1_oam_net_ip}
1209             ${nems.mgmt.netmask}: {get_param: oam_network_netmask}
1210             ${nems.mgmt.gateway}: {get_param: oam_network_gateway}
1211             ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip}
1212             ${nems.internal.netmask}: {get_param: nems_internal_netmask}
1213             ${nems.internal.gateway}: {get_param: nems_internal_gateway}
1214             ${nems.imap.netmask}: {get_param: nems_imap_netmask}
1215             ${nems.imap.gateway}: {get_param: nems_imap_gateway}  
1216             ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip}
1217             ${nems.mgmt.route.1}: {get_param: oam_network_route_1}
1218             ${nems.mgmt.route.2}: {get_param: oam_network_route_2}
1219             ${nems.external.dns}: {get_param: external_dns}
1220             ${nems.external.ntp}: {get_param: external_ntp}
1221             ${nems.node}: {get_param: nems_be1_node_role} 
1222       user_data_format: RAW
1223
1224   nems_be1_port_0:
1225     type: OS::Neutron::Port
1226     properties:
1227       network_id: { get_param: oam_net_name }
1228       fixed_ips: [
1229         "ip_address": { get_param: nems_be1_oam_net_ip }
1230       ]
1231
1232   nems_be_floating_ip:
1233     type: OS::Neutron::FloatingIP
1234     properties:
1235       floating_network_id: {get_param: oam_net_name}
1236       port_id: {get_resource: nems_be1_port_0}
1237
1238   nems_be1_port_1:
1239     type: OS::Neutron::Port
1240     properties:
1241       network_id: { get_resource: nems_internal_net }
1242       fixed_ips: [
1243         "ip_address": { get_param: nems_be1_nems_internal_net_ip }
1244       ]
1245
1246   nems_be1_port_2:
1247     type: OS::Neutron::Port
1248     properties:
1249       network_id: { get_resource: nems_imap_net }
1250       fixed_ips: [
1251         "ip_address": { get_param: nems_be1_nems_imap_net_ip }
1252       ]
1253
1254   server_nems_be2:
1255     type: OS::Nova::Server
1256     properties:
1257       name: { get_param: nems_be2_name }
1258       image: { get_param: nems_be_image }
1259       availability_zone: { get_param: availabilityzone_name }
1260       flavor: { get_param: nems_be_flavor }
1261       networks:
1262       - port: { get_resource: nems_be2_port_0 }
1263       - port: { get_resource: nems_be2_port_1 }
1264       - port: { get_resource: nems_be2_port_2 }
1265       user_data:
1266         str_replace:
1267           template: |
1268             nems.be.mgmt.ip=${nems.be.mgmt.ip}
1269             nems.mgmt.netmask=${nems.mgmt.netmask}
1270             nems.mgmt.gateway=${nems.mgmt.gateway}
1271             nems.be.internal.ip=${nems.be.internal.ip}
1272             nems.internal.netmask=${nems.internal.netmask}
1273             nems.internal.gateway=${nems.internal.gateway}
1274             nems.imap.netmask=${nems.imap.netmask}
1275             nems.imap.gateway=${nems.imap.gateway}
1276             nems.be.internal.ip=${nems.be.internal.ip}
1277             nems.be.imap.ip=${nems.be.imap.ip}
1278             nems.mgmt.route.1=${nems.mgmt.route.1}
1279             nems.mgmt.route.2=${nems.mgmt.route.2}
1280             nems.external.dns=${nems.external.dns}
1281             nems.external.ntp=${nems.external.ntp}
1282             nems.node=${nems.node}
1283           params:
1284             ${nems.be.mgmt.ip}: {get_param: nems_be2_oam_net_ip}
1285             ${nems.mgmt.netmask}: {get_param: oam_network_netmask}
1286             ${nems.mgmt.gateway}: {get_param: oam_network_gateway}
1287             ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip}
1288             ${nems.internal.netmask}: {get_param: nems_internal_netmask}
1289             ${nems.internal.gateway}: {get_param: nems_internal_gateway}
1290             ${nems.imap.netmask}: {get_param: nems_imap_netmask}
1291             ${nems.imap.gateway}: {get_param: nems_imap_gateway}
1292             ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip}
1293             ${nems.mgmt.route.1}: {get_param: oam_network_route_1}
1294             ${nems.mgmt.route.2}: {get_param: oam_network_route_2}
1295             ${nems.external.dns}: {get_param: external_dns}
1296             ${nems.external.ntp}: {get_param: external_ntp}
1297             ${nems.node}: {get_param: nems_be1_node_role}
1298       user_data_format: RAW
1299
1300   nems_be2_port_0:
1301     type: OS::Neutron::Port
1302     properties:
1303       network_id: { get_param: oam_net_name }
1304       fixed_ips: [
1305         "ip_address": { get_param: nems_be2_oam_net_ip }
1306       ]
1307
1308   nems_be_floating_ip:
1309     type: OS::Neutron::FloatingIP
1310     properties:
1311       floating_network_id: {get_param: oam_net_name}
1312       port_id: {get_resource: nems_be2_port_0}
1313
1314   nems_be2_port_1:
1315     type: OS::Neutron::Port
1316     properties:
1317       network_id: { get_resource: nems_internal_net }
1318       fixed_ips: [
1319         "ip_address": { get_param: nems_be2_nems_internal_net_ip }
1320       ]
1321
1322   nems_be2_port_2:
1323     type: OS::Neutron::Port
1324     properties:
1325       network_id: { get_resource: nems_imap_net }
1326       fixed_ips: [
1327         "ip_address": { get_param: nems_be2_nems_imap_net_ip }
1328       ]
1329
1330   server_eca_oam1:
1331     type: OS::Nova::Server
1332     properties:
1333       name: { get_param: eca_oam1_name }
1334       image: { get_param: eca_oam_image }
1335       availability_zone: { get_param: availabilityzone_name }
1336       flavor: { get_param: eca_oam_flavor }
1337       networks:
1338       - port: { get_resource: eca_oam1_port_0 }
1339       - port: { get_resource: eca_oam1_port_1 }
1340
1341   eca_oam1_port_0:
1342     type: OS::Neutron::Port
1343     properties:
1344       network_id: { get_param: oam_net_name }
1345       fixed_ips: [
1346         "ip_address": { get_param: eca_oam1_oam_net_ip }
1347       ]
1348
1349   eca_oam1_port_1:
1350     type: OS::Neutron::Port
1351     properties:
1352       network_id: { get_resource: eca_mgmt_net }
1353       fixed_ips: [
1354         "ip_address": { get_param: eca_oam1_eca_mgmt_net_ip }
1355       ]
1356
1357   server_eca_oam2:
1358     type: OS::Nova::Server
1359     properties:
1360       name: { get_param: eca_oam2_name }
1361       image: { get_param: eca_oam_image }
1362       availability_zone: { get_param: availabilityzone_name }
1363       flavor: { get_param: eca_oam_flavor }
1364       networks:
1365       - port: { get_resource: eca_oam2_port_0 }
1366       - port: { get_resource: eca_oam2_port_1 }
1367
1368   eca_oam2_port_0:
1369     type: OS::Neutron::Port
1370     properties:
1371       network_id: { get_param: oam_net_name }
1372       fixed_ips: [
1373         "ip_address": { get_param: eca_oam2_oam_net_ip }
1374       ]
1375
1376   eca_oam2_port_1:
1377     type: OS::Neutron::Port
1378     properties:
1379       network_id: { get_resource: eca_mgmt_net }
1380       fixed_ips: [
1381         "ip_address": { get_param: eca_oam2_eca_mgmt_net_ip }
1382       ]
1383
1384   server_eca_trx1:
1385     type: OS::Nova::Server
1386     properties:
1387       name: { get_param: eca_trx1_name }
1388       image: { get_param: eca_trx_image }
1389       availability_zone: { get_param: availabilityzone_name }
1390       flavor: { get_param: eca_trx_flavor }
1391       networks:
1392       - port: { get_resource: eca_trx1_port_0 }
1393       - port: { get_resource: eca_trx1_port_1 }
1394       - port: { get_resource: eca_trx1_port_2 }
1395
1396
1397   eca_trx1_port_0:
1398     type: OS::Neutron::Port
1399     properties:
1400       network_id: { get_param: oam_net_name }
1401       fixed_ips: [
1402         "ip_address": { get_param: eca_trx1_oam_net_ip }
1403       ]
1404
1405   eca_trx1_port_1:
1406     type: OS::Neutron::Port
1407     properties:
1408       network_id: { get_resource: eca_mgmt_net }
1409       fixed_ips: [
1410         "ip_address": { get_param: eca_trx1_eca_mgmt_net_ip }
1411       ]
1412
1413   eca_trx1_port_2:
1414     type: OS::Neutron::Port
1415     properties:
1416       network_id: { get_resource: eca_traffic_net }
1417       fixed_ips: [
1418         "ip_address": { get_param: eca_trx1_eca_traffic_net_ip }
1419       ]
1420
1421   server_cmaui:
1422     type: OS::Nova::Server
1423     properties:
1424       name: { get_param: cmaui_name }
1425       image: { get_param: cmaui_image }
1426       availability_zone: { get_param: availabilityzone_name }
1427       flavor: { get_param: cmaui_flavor }
1428       networks:
1429       - port: { get_resource: cmaui_port_0 }
1430
1431 #  cmaui_volume:
1432 #    type: OS::Cinder::Volume
1433 #    properties:
1434 #      size: {get_param: cmaui_cinder_volume_size}
1435
1436 #  cmaui_volume_attachment:
1437 #    type: OS::Cinder::VolumeAttachment
1438 #    properties:
1439 #      volume_id: {get_resource: cmaui_volume}
1440 #      instance_uuid: {get_resource: server_cmaui}
1441
1442   cmaui_port_0:
1443     type: OS::Neutron::Port
1444     properties:
1445       network_id: { get_param: oam_net_name }
1446       fixed_ips: [
1447         "ip_address": { get_param: cmaui_oam_net_ip }
1448       ]
1449