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