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