removing retain assignments checkbox from upgade vfModule screen
[vid.git] / vid-webpack-master / src / app / drawingBoard / service-planning / objectsToTree / objectToModelTree / objectToModelTree.service.spec.ts
1 import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing";
2 import {getTestBed, TestBed} from "@angular/core/testing";
3 import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing";
4 import {NgRedux} from "@angular-redux/store";
5 import {ObjectToTreeService} from "../objectToTree.service";
6 import {ObjectToModelTreeService} from "./objectToModelTree.service";
7 import {DefaultDataGeneratorService} from "../../../../shared/services/defaultDataServiceGenerator/default.data.generator.service";
8 import {DynamicInputsService} from "../dynamicInputs.service";
9 import {SharedTreeService} from "../shared.tree.service";
10 import {DrawingBoardModes} from "../../drawing-board.modes";
11 import {
12   AvailableModelsTreeService,
13   AvailableNodeIcons
14 } from "../../available-models-tree/available-models-tree.service";
15 import {DialogService} from "ng2-bootstrap-modal";
16 import {VnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service";
17 import {ControlGeneratorUtil} from "../../../../shared/components/genericForm/formControlsServices/control.generator.util.service";
18 import {GenericFormService} from "../../../../shared/components/genericForm/generic-form.service";
19 import {FormBuilder} from "@angular/forms";
20 import {LogService} from "../../../../shared/utils/log/log.service";
21 import {IframeService} from "../../../../shared/utils/iframe.service";
22 import {BasicPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/basic.popup.service";
23 import {NetworkPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service";
24 import {NetworkControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator";
25 import {VfModulePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service";
26 import {VfModuleControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator";
27 import {FeatureFlagsService} from "../../../../shared/services/featureFlag/feature-flags.service";
28 import {VnfControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator";
29 import {AaiService} from "../../../../shared/services/aaiService/aai.service";
30 import {VnfGroupPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service";
31 import {VnfGroupControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator";
32 import {DuplicateService} from "../../duplicate/duplicate.service";
33 import {SdcUiComponentsModule} from "onap-ui-angular";
34 import {ComponentInfoService} from "../../component-info/component-info.service";
35 import {IModelTreeNodeModel} from "../../../objectsToTree/objectToModelTree/modelTreeNode.model";
36 import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.step.service";
37 import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service";
38 import {VfModuleUpgradePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service";
39 import {SharedControllersService} from "../../../../shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service";
40 import {ModalService} from "../../../../shared/components/customModal/services/modal.service";
41 import {CreateDynamicComponentService} from "../../../../shared/components/customModal/services/create-dynamic-component.service";
42 import {PnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/pnf/pnf.popup.service";
43
44 class MockAppStore<T> {
45   getState() {
46     return {
47       global: {
48         'drawingBoardStatus': DrawingBoardModes.CREATE
49       },
50       service: {
51         serviceInstance: {
52           "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
53             "existingVNFCounterMap": {
54               "280dec31-f16d-488b-9668-4aae55d6648a": 1
55             }
56           }
57         },
58         serviceHierarchy: {
59           "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
60             vnfs: {
61               "2017-388_PASQUALE-vPE 1": {
62                 "properties": {}
63               },
64               "2017-388_PASQUALE-vPE 0": {
65                 "properties": {}
66               },
67               "2017-488_PASQUALE-vPE 0": {
68                 "properties": {}
69               }
70             }
71           }
72         }
73       }
74     }
75   }
76 }
77
78 describe('Model Tree Generator service', () => {
79   let injector;
80   let service: ObjectToModelTreeService;
81   let httpMock: HttpTestingController;
82
83   beforeEach(() => {
84
85     TestBed.configureTestingModule({
86       imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
87       providers: [
88         AvailableModelsTreeService,
89         ObjectToTreeService,
90         ObjectToModelTreeService,
91         DefaultDataGeneratorService,
92         DynamicInputsService,
93         SharedTreeService,
94         DialogService,
95         VnfPopupService,
96         PnfPopupService,
97         VnfGroupPopupService,
98         ControlGeneratorUtil,
99         GenericFormService,
100         FormBuilder,
101         LogService,
102         IframeService,
103         BasicPopupService,
104         NetworkPopupService,
105         NetworkControlGenerator,
106         VfModulePopupService,
107         VfModuleUpgradePopupService,
108         VfModuleControlGenerator,
109         VnfGroupControlGenerator,
110         DialogService,
111         FeatureFlagsService,
112         VnfControlGenerator,
113         AaiService,
114         DialogService,
115         DuplicateService,
116         ComponentInfoService,
117         NetworkStepService,
118         VpnStepService,
119         ModalService,
120         CreateDynamicComponentService,
121         SharedControllersService,
122         {provide: NgRedux, useClass: MockAppStore},
123         MockNgRedux ]
124     }).compileComponents();
125
126     injector = getTestBed();
127     service = injector.get(ObjectToModelTreeService);
128     httpMock = injector.get(HttpTestingController);
129   });
130
131   test('ObjectToModelTreeService should be defined', () => {
132     expect(service).toBeDefined();
133   });
134
135
136   test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => {
137     service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []);
138     expect(service.numberOfPlusButton).toEqual(0);
139   });
140
141   test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => {
142     const serviceModel = {
143       service: {
144         uuid: "uuid"
145       }
146     };
147     service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{
148       showNodeIcons: () => {
149         return new AvailableNodeIcons(true, false)
150       }
151     }]);
152     expect(service.numberOfPlusButton).toEqual(1);
153   });
154
155   test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => {
156     const serviceModel = {
157       service: {
158         uuid: "uuid"
159       }
160     };
161     service.calculateNumberOfNodesWithPlusIcon(serviceModel, [
162       {
163         showNodeIcons: () => {
164           return new AvailableNodeIcons(true, false)
165         }
166       },
167       {
168         showNodeIcons: () => {
169           return new AvailableNodeIcons(false, true)
170         }
171       }
172     ]);
173     expect(service.numberOfPlusButton).toEqual(1);
174   });
175
176   test('should return nodes correctly: VNF', () => {
177     let convertToNodes = service.convertServiceHierarchyModelToTreeNodes(getServiceHeirarchyVNF());
178     convertToNodes.map((item: IModelTreeNodeModel) => {
179       delete item.onAddClick;
180       delete item.getNodeCount;
181       delete item.showNodeIcons;
182       delete item.getModel;
183       delete item.componentInfoType;
184       delete item.getMenuAction;
185       delete item['menuActions'];
186       delete item['trackById'];
187       delete item.getInfo;
188
189
190       if (item.children) {
191         item.children.map((child) => {
192           delete child.onAddClick;
193           delete child.getNodeCount;
194           delete child.showNodeIcons;
195           delete child.getModel;
196           delete child.componentInfoType;
197           delete child.getMenuAction;
198           delete child['menuActions'];
199           delete child['trackById'];
200           delete child.getInfo;
201         });
202       }
203     });
204
205     expect(Object.assign({}, convertToNodes)).toEqual(Object.assign({}, expectNodesResultVNF()));
206   });
207
208
209   function expectNodesResultVNF() {
210     return [{
211       "id": "280dec31-f16d-488b-9668-4aae55d6648a",
212       "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
213       "name": "2017-388_PASQUALE-vPE 1",
214       "tooltip": "VF",
215       "type": "VF",
216       "modelTypeName": "vnfs",
217       "count": 0,
218       "max": 1,
219       "children": [],
220       "disabled": false,
221       "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
222       "modelUniqueId": "280dec31-f16d-488b-9668-4aae55d6648a",
223       "dynamicInputs": [],
224       "isEcompGeneratedNaming": true,
225       "typeName": 'VNF'
226     }, {
227       "id": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
228       "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
229       "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
230       "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
231       "name": "2017-388_PASQUALE-vPE 0",
232       "tooltip": "VF",
233       "type": "VF",
234       "modelTypeName": "vnfs",
235       "count": 0,
236       "max": 1,
237       "children": [],
238       "disabled": false,
239       "dynamicInputs": [],
240       "isEcompGeneratedNaming": true,
241       "typeName": 'VNF'
242     }, {
243       "id": "1da7b585-5e61-4993-b95e-8e6606c81e45",
244       "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
245       "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
246       "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
247       "name": "2017-488_PASQUALE-vPE 0",
248       "tooltip": "VF",
249       "type": "VF",
250       "modelTypeName": "vnfs",
251       "count": 0,
252       "max": 1,
253       "children": [{
254         "id": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
255         "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
256         "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
257         "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
258         "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
259         "tooltip": "VFmodule",
260         "type": "VFmodule",
261         "modelTypeName": "vfModules",
262         "count": 0,
263         "max": 1,
264         "children": [],
265         "disabled": false,
266         "dynamicInputs": [],
267         "isEcompGeneratedNaming": true,
268         "typeName": 'M'
269       }, {
270         "id": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
271         "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
272         "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
273         "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
274         "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
275         "tooltip": "VFmodule",
276         "type": "VFmodule",
277         "modelTypeName": "vfModules",
278         "count": 0,
279         "max": 1,
280         "children": [],
281         "disabled": false,
282         "dynamicInputs": [],
283         "isEcompGeneratedNaming": true,
284         "typeName": 'M'
285       }, {
286         "id": "3cd946bb-50e0-40d8-96d3-c9023520b557",
287         "modelVersionId": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
288         "modelCustomizationId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
289         "modelUniqueId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
290         "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
291         "tooltip": "VFmodule",
292         "type": "VFmodule",
293         "modelTypeName": "vfModules",
294         "count": 0,
295         "max": 1,
296         "children": [],
297         "disabled": false,
298         "dynamicInputs": [],
299         "isEcompGeneratedNaming": true,
300         "typeName": 'M'
301       }],
302       "disabled": false,
303       "dynamicInputs": [],
304       "isEcompGeneratedNaming": true,
305       "typeName": 'VNF'
306     }]
307
308   }
309
310   function getServiceHeirarchyVNF() {
311     return {
312       "service": {
313         "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
314         "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
315         "name": "action-data",
316         "version": "1.0",
317         "toscaModelURL": null,
318         "category": "Network L1-3",
319         "serviceType": "pnf",
320         "serviceRole": "Testing",
321         "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
322         "serviceEcompNaming": "false",
323         "instantiationType": "Macro",
324         "inputs": {},
325         "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"}
326       },
327       "vnfs": {
328         "2017-388_PASQUALE-vPE 1": {
329           "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
330           "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
331           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
332           "name": "2017-388_PASQUALE-vPE",
333           "version": "1.0",
334           "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
335           "inputs": {},
336           "commands": {},
337           "properties": {
338             "vmxvre_retype": "RE-VMX",
339             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
340             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
341             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
342             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
343             "int_ctl_net_name": "VMX-INTXI",
344             "vmx_int_ctl_prefix": "10.0.0.10",
345             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
346             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
347             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
348             "nf_type": "vPE",
349             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
350             "is_AVPN_service": "false",
351             "vmx_RSG_name": "vREXI-affinity",
352             "vmx_int_ctl_forwarding": "l2",
353             "vmxvre_oam_ip_0": "10.0.0.10",
354             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
355             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
356             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
357             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
358             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
359             "vmxvre_instance": "0",
360             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
361             "vmxvre_flavor_name": "ns.c1r16d32.v5",
362             "vmxvpfe_volume_size_0": "40.0",
363             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
364             "nf_naming": "{ecomp_generated_naming=true}",
365             "multi_stage_design": "true",
366             "nf_naming_code": "Navneet",
367             "vmxvre_name_0": "vREXI",
368             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
369             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
370             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
371             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
372             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
373             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
374             "vmxvre_console": "vidconsole",
375             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
376             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
377             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
378             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
379             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
380             "vf_module_id": "123",
381             "nf_function": "JAI",
382             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
383             "vmxvre_int_ctl_ip_0": "10.0.0.10",
384             "ecomp_generated_naming": "true",
385             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
386             "vnf_name": "mtnj309me6vre",
387             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
388             "vmxvre_volume_type_1": "HITACHI",
389             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
390             "vmxvre_volume_type_0": "HITACHI",
391             "vmxvpfe_volume_type_0": "HITACHI",
392             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
393             "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
394             "vnf_id": "123",
395             "vmxvre_oam_prefix": "24",
396             "availability_zone_0": "mtpocfo-kvm-az01",
397             "ASN": "get_input:2017488_pasqualevpe0_ASN",
398             "vmxvre_chassis_i2cid": "161",
399             "vmxvpfe_name_0": "vPFEXI",
400             "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
401             "availability_zone_max_count": "1",
402             "vmxvre_volume_size_0": "45.0",
403             "vmxvre_volume_size_1": "50.0",
404             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
405             "vmxvre_oam_gateway": "10.0.0.10",
406             "vmxvre_volume_name_1": "vREXI_FAVolume",
407             "vmxvre_ore_present": "0",
408             "vmxvre_volume_name_0": "vREXI_FBVolume",
409             "vmxvre_type": "0",
410             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
411             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
412             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
413             "vmx_int_ctl_len": "24",
414             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
415             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
416             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
417             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
418             "nf_role": "Testing",
419             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
420             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
421             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
422           },
423           "type": "VF",
424           "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
425           "vfModules": {},
426           "volumeGroups": {},
427           "vfcInstanceGroups": {}
428         },
429         "2017-388_PASQUALE-vPE 0": {
430           "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
431           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
432           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
433           "name": "2017-388_PASQUALE-vPE",
434           "version": "4.0",
435           "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
436           "inputs": {},
437           "commands": {},
438           "properties": {
439             "vmxvre_retype": "RE-VMX",
440             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
441             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
442             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
443             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
444             "int_ctl_net_name": "VMX-INTXI",
445             "vmx_int_ctl_prefix": "10.0.0.10",
446             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
447             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
448             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
449             "nf_type": "vPE",
450             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
451             "is_AVPN_service": "false",
452             "vmx_RSG_name": "vREXI-affinity",
453             "vmx_int_ctl_forwarding": "l2",
454             "vmxvre_oam_ip_0": "10.0.0.10",
455             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
456             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
457             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
458             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
459             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
460             "vmxvre_instance": "0",
461             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
462             "vmxvre_flavor_name": "ns.c1r16d32.v5",
463             "vmxvpfe_volume_size_0": "40.0",
464             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
465             "nf_naming": "{ecomp_generated_naming=true}",
466             "multi_stage_design": "true",
467             "nf_naming_code": "Navneet",
468             "vmxvre_name_0": "vREXI",
469             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
470             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
471             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
472             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
473             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
474             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
475             "vmxvre_console": "vidconsole",
476             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
477             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
478             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
479             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
480             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
481             "vf_module_id": "123",
482             "nf_function": "JAI",
483             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
484             "vmxvre_int_ctl_ip_0": "10.0.0.10",
485             "ecomp_generated_naming": "true",
486             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
487             "vnf_name": "mtnj309me6vre",
488             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
489             "vmxvre_volume_type_1": "HITACHI",
490             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
491             "vmxvre_volume_type_0": "HITACHI",
492             "vmxvpfe_volume_type_0": "HITACHI",
493             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
494             "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
495             "vnf_id": "123",
496             "vmxvre_oam_prefix": "24",
497             "availability_zone_0": "mtpocfo-kvm-az01",
498             "ASN": "get_input:2017488_pasqualevpe0_ASN",
499             "vmxvre_chassis_i2cid": "161",
500             "vmxvpfe_name_0": "vPFEXI",
501             "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
502             "availability_zone_max_count": "1",
503             "vmxvre_volume_size_0": "45.0",
504             "vmxvre_volume_size_1": "50.0",
505             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
506             "vmxvre_oam_gateway": "10.0.0.10",
507             "vmxvre_volume_name_1": "vREXI_FAVolume",
508             "vmxvre_ore_present": "0",
509             "vmxvre_volume_name_0": "vREXI_FBVolume",
510             "vmxvre_type": "0",
511             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
512             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
513             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
514             "vmx_int_ctl_len": "24",
515             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
516             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
517             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
518             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
519             "nf_role": "Testing",
520             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
521             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
522             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
523           },
524           "type": "VF",
525           "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
526           "vfModules": {},
527           "volumeGroups": {},
528           "vfcInstanceGroups": {}
529         },
530         "2017-488_PASQUALE-vPE 0": {
531           "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
532           "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
533           "description": "Name PASQUALE vPE Description The provider edge function for the PASQUALE service supported by the Junipers VMX product Category Router Vendor Juniper Vendor Release Code 17.2 Owners Mary Fragale. Updated 9-25 to use v8.0 of the Juniper Valid 2 VLM",
534           "name": "2017-488_PASQUALE-vPE",
535           "version": "5.0",
536           "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
537           "inputs": {},
538           "commands": {},
539           "properties": {
540             "vmxvre_retype": "RE-VMX",
541             "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
542             "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
543             "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
544             "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
545             "int_ctl_net_name": "VMX-INTXI",
546             "vmx_int_ctl_prefix": "10.0.0.10",
547             "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
548             "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
549             "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
550             "nf_type": "vPE",
551             "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
552             "is_AVPN_service": "false",
553             "vmx_RSG_name": "vREXI-affinity",
554             "vmx_int_ctl_forwarding": "l2",
555             "vmxvre_oam_ip_0": "10.0.0.10",
556             "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
557             "vmxvpfe_sriov41_0_port_vlanstrip": "false",
558             "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
559             "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
560             "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
561             "vmxvre_instance": "0",
562             "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
563             "vmxvre_flavor_name": "ns.c1r16d32.v5",
564             "vmxvpfe_volume_size_0": "40.0",
565             "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
566             "nf_naming": "{ecomp_generated_naming=true}",
567             "multi_stage_design": "true",
568             "nf_naming_code": "Navneet",
569             "vmxvre_name_0": "vREXI",
570             "vmxvpfe_sriov42_0_port_vlanstrip": "false",
571             "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
572             "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
573             "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
574             "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
575             "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
576             "vmxvre_console": "vidconsole",
577             "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
578             "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
579             "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
580             "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
581             "vmxvpfe_sriov44_0_port_vlanstrip": "false",
582             "vf_module_id": "123",
583             "nf_function": "JAI",
584             "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
585             "vmxvre_int_ctl_ip_0": "10.0.0.10",
586             "ecomp_generated_naming": "true",
587             "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
588             "vnf_name": "mtnj309me6vre",
589             "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
590             "vmxvre_volume_type_1": "HITACHI",
591             "vmxvpfe_sriov44_0_port_broadcastallow": "true",
592             "vmxvre_volume_type_0": "HITACHI",
593             "vmxvpfe_volume_type_0": "HITACHI",
594             "vmxvpfe_sriov43_0_port_broadcastallow": "true",
595             "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
596             "vnf_id": "123",
597             "vmxvre_oam_prefix": "24",
598             "availability_zone_0": "mtpocfo-kvm-az01",
599             "ASN": "get_input:2017488_pasqualevpe0_ASN",
600             "vmxvre_chassis_i2cid": "161",
601             "vmxvpfe_name_0": "vPFEXI",
602             "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
603             "availability_zone_max_count": "1",
604             "vmxvre_volume_size_0": "45.0",
605             "vmxvre_volume_size_1": "50.0",
606             "vmxvpfe_sriov42_0_port_broadcastallow": "true",
607             "vmxvre_oam_gateway": "10.0.0.10",
608             "vmxvre_volume_name_1": "vREXI_FAVolume",
609             "vmxvre_ore_present": "0",
610             "vmxvre_volume_name_0": "vREXI_FBVolume",
611             "vmxvre_type": "0",
612             "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
613             "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
614             "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
615             "vmx_int_ctl_len": "24",
616             "vmxvpfe_sriov43_0_port_vlanstrip": "false",
617             "vmxvpfe_sriov41_0_port_broadcastallow": "true",
618             "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
619             "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
620             "nf_role": "Testing",
621             "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
622             "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
623             "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
624           },
625           "type": "VF",
626           "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
627           "vfModules": {
628             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
629               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
630               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
631               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
632               "description": null,
633               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
634               "version": "6",
635               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
636               "properties": {
637                 "minCountInstances": 0,
638                 "maxCountInstances": null,
639                 "initialCount": 0,
640                 "vfModuleLabel": "PASQUALE_vRE_BV",
641                 "baseModule": false
642               },
643               "inputs": {},
644               "volumeGroupAllowed": true
645             },
646             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
647               "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
648               "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
649               "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
650               "description": null,
651               "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
652               "version": "5",
653               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
654               "properties": {
655                 "minCountInstances": 1,
656                 "maxCountInstances": 1,
657                 "initialCount": 1,
658                 "vfModuleLabel": "PASQUALE_base_vPE_BV",
659                 "baseModule": true
660               },
661               "inputs": {},
662               "volumeGroupAllowed": false
663             },
664             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
665               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
666               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
667               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
668               "description": null,
669               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
670               "version": "6",
671               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
672               "properties": {
673                 "minCountInstances": 0,
674                 "maxCountInstances": null,
675                 "initialCount": 0,
676                 "vfModuleLabel": "PASQUALE_vPFE_BV",
677                 "baseModule": false
678               },
679               "inputs": {},
680               "volumeGroupAllowed": true
681             }
682           },
683           "volumeGroups": {
684             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
685               "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
686               "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
687               "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
688               "description": null,
689               "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
690               "version": "6",
691               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
692               "properties": {
693                 "minCountInstances": 0,
694                 "maxCountInstances": null,
695                 "initialCount": 0,
696                 "vfModuleLabel": "PASQUALE_vRE_BV",
697                 "baseModule": false
698               },
699               "inputs": {}
700             },
701             "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
702               "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
703               "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
704               "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
705               "description": null,
706               "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
707               "version": "6",
708               "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
709               "properties": {
710                 "minCountInstances": 0,
711                 "maxCountInstances": null,
712                 "initialCount": 0,
713                 "vfModuleLabel": "PASQUALE_vPFE_BV",
714                 "baseModule": false
715               },
716               "inputs": {}
717             }
718           },
719           "vfcInstanceGroups": {}
720         }
721       },
722       "networks": {},
723       "collectionResources": {},
724       "configurations": {},
725       "fabricConfigurations": {},
726       "serviceProxies": {},
727       "vfModules": {
728         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
729           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
730           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
731           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
732           "description": null,
733           "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
734           "version": "6",
735           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
736           "properties": {
737             "minCountInstances": 0,
738             "maxCountInstances": null,
739             "initialCount": 0,
740             "vfModuleLabel": "PASQUALE_vRE_BV",
741             "baseModule": false
742           },
743           "inputs": {},
744           "volumeGroupAllowed": true
745         },
746         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
747           "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
748           "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
749           "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
750           "description": null,
751           "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
752           "version": "5",
753           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
754           "properties": {
755             "minCountInstances": 1,
756             "maxCountInstances": 1,
757             "initialCount": 1,
758             "vfModuleLabel": "PASQUALE_base_vPE_BV",
759             "baseModule": true
760           },
761           "inputs": {},
762           "volumeGroupAllowed": false
763         },
764         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
765           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
766           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
767           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
768           "description": null,
769           "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
770           "version": "6",
771           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
772           "properties": {
773             "minCountInstances": 0,
774             "maxCountInstances": null,
775             "initialCount": 0,
776             "vfModuleLabel": "PASQUALE_vPFE_BV",
777             "baseModule": false
778           },
779           "inputs": {},
780           "volumeGroupAllowed": true
781         }
782       },
783       "volumeGroups": {
784         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
785           "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
786           "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
787           "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
788           "description": null,
789           "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
790           "version": "6",
791           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
792           "properties": {
793             "minCountInstances": 0,
794             "maxCountInstances": null,
795             "initialCount": 0,
796             "vfModuleLabel": "PASQUALE_vRE_BV",
797             "baseModule": false
798           },
799           "inputs": {}
800         },
801         "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
802           "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
803           "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
804           "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
805           "description": null,
806           "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
807           "version": "6",
808           "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
809           "properties": {
810             "minCountInstances": 0,
811             "maxCountInstances": null,
812             "initialCount": 0,
813             "vfModuleLabel": "PASQUALE_vPFE_BV",
814             "baseModule": false
815           },
816           "inputs": {}
817         }
818       },
819       "pnfs": {}
820     }
821   }
822 });