1 heat_template_version: 2013-05-23
3 SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
7 description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
10 description: Unique ID for this VF instance
13 description: Unique ID for this VNF Module instance
15 type: comma_delimited_list
16 description: comma delimited list of VM names assigned to System Controller VMs
19 description: the UUID of the operator-created Internal network
21 - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
22 description: A valid OpenStack UUID must be provided
24 type: comma_delimited_list
25 description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
26 sbg_internal_mac_addresses:
27 type: comma_delimited_list
28 description: comma delimited list of MAC addresses for the VMs on the Internal network
31 description: The number of AVPN networks
33 - range: { min: 1, max: 999 }
35 type: comma_delimited_list
36 description: comma delimited list of the UUIDs of the operator-created AVPN networks
37 sbg_AVPN_vlan_tag_list:
38 type: comma_delimited_list
39 description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
41 type: comma_delimited_list
42 description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
44 type: comma_delimited_list
46 comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
49 description: First availability zone ID or Name.
52 description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
54 - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
55 description: A valid IPv4 address must be provided, e.g 192.168.0.1
56 sbg_comte_floating_ip:
58 description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
60 - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
61 description: A valid IPv4 address must be provided, e.g 192.168.0.1
64 description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
66 - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
67 description: A valid IPv4 address must be provided, e.g 192.168.0.1
71 description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
73 - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
74 description: A valid OpenStack UUID must be provided
77 description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
79 - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
80 description: A valid OpenStack UUID must be provided
83 sbg_sc_internal_0_port_0:
84 type: OS::Neutron::Port
85 depends_on: [ sbg_pl_trunk_subport_avpn_group_0 ]
87 replacement_policy: AUTO
88 network_id: { get_param: internal_net_id }
90 - ip_address: { get_param: [sbg_internal_ips ,0] }
91 allowed_address_pairs:
92 - ip_address: { get_param: sbg_nfs_floating_ip }
93 - ip_address: { get_param: sbg_comte_floating_ip }
94 - ip_address: { get_param: sbg_boot_floating_ip }
95 mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
97 sbg_pl_trunk_subport_avpn_group_0:
98 type: OS::Heat::ResourceGroup
100 count: {get_param: sbg_AVPN_count}
102 type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
104 nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
105 nested_avpn_net_id: {get_param: avpn_net_id}
106 nested_avpn_subnet_id: {get_param: avpn_subnet_id}
107 nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
108 nested_sbg_AVPN_counter: '%index%'
111 type: OS::Nova::Server
113 name: { get_param: [sbg_sc_names, 0]}
115 vnf_id: { get_param: vnf_id }
116 vf_module_id: { get_param: vf_module_id }
117 availability_zone: { get_param: availability_zone_0 }
118 block_device_mapping:
120 volume_id : { get_param : sbg_sc_volume_id_0 }
121 delete_on_termination : "false"
123 volume_id : { get_param : sbg_sc_volume_id_1 }
124 delete_on_termination : "false"
125 flavor: { get_param: sbg_sc_flavor_name }
127 - port: { get_resource: sbg_sc_internal_0_port_0 }
129 user_data_format: RAW