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";
12 AvailableModelsTreeService,
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";
44 class MockAppStore<T> {
48 'drawingBoardStatus': DrawingBoardModes.CREATE
52 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
53 "existingVNFCounterMap": {
54 "280dec31-f16d-488b-9668-4aae55d6648a": 1
59 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
61 "2017-388_PASQUALE-vPE 1": {
64 "2017-388_PASQUALE-vPE 0": {
67 "2017-488_PASQUALE-vPE 0": {
78 describe('Model Tree Generator service', () => {
80 let service: ObjectToModelTreeService;
81 let httpMock: HttpTestingController;
85 TestBed.configureTestingModule({
86 imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
88 AvailableModelsTreeService,
90 ObjectToModelTreeService,
91 DefaultDataGeneratorService,
105 NetworkControlGenerator,
106 VfModulePopupService,
107 VfModuleUpgradePopupService,
108 VfModuleControlGenerator,
109 VnfGroupControlGenerator,
116 ComponentInfoService,
120 CreateDynamicComponentService,
121 SharedControllersService,
122 {provide: NgRedux, useClass: MockAppStore},
124 }).compileComponents();
126 injector = getTestBed();
127 service = injector.get(ObjectToModelTreeService);
128 httpMock = injector.get(HttpTestingController);
131 test('ObjectToModelTreeService should be defined', () => {
132 expect(service).toBeDefined();
136 test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => {
137 service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []);
138 expect(service.numberOfPlusButton).toEqual(0);
141 test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => {
142 const serviceModel = {
147 service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{
148 showNodeIcons: () => {
149 return new AvailableNodeIcons(true, false)
152 expect(service.numberOfPlusButton).toEqual(1);
155 test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => {
156 const serviceModel = {
161 service.calculateNumberOfNodesWithPlusIcon(serviceModel, [
163 showNodeIcons: () => {
164 return new AvailableNodeIcons(true, false)
168 showNodeIcons: () => {
169 return new AvailableNodeIcons(false, true)
173 expect(service.numberOfPlusButton).toEqual(1);
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'];
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;
205 expect(Object.assign({}, convertToNodes)).toEqual(Object.assign({}, expectNodesResultVNF()));
209 function expectNodesResultVNF() {
211 "id": "280dec31-f16d-488b-9668-4aae55d6648a",
212 "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
213 "name": "2017-388_PASQUALE-vPE 1",
216 "modelTypeName": "vnfs",
221 "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
222 "modelUniqueId": "280dec31-f16d-488b-9668-4aae55d6648a",
224 "isEcompGeneratedNaming": true,
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",
234 "modelTypeName": "vnfs",
240 "isEcompGeneratedNaming": true,
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",
250 "modelTypeName": "vnfs",
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",
261 "modelTypeName": "vfModules",
267 "isEcompGeneratedNaming": true,
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",
277 "modelTypeName": "vfModules",
283 "isEcompGeneratedNaming": true,
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",
293 "modelTypeName": "vfModules",
299 "isEcompGeneratedNaming": true,
304 "isEcompGeneratedNaming": true,
310 function getServiceHeirarchyVNF() {
313 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
314 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
315 "name": "action-data",
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",
325 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"}
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",
334 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
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",
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",
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",
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"
424 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
427 "vfcInstanceGroups": {}
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",
435 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
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",
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",
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",
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"
525 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
528 "vfcInstanceGroups": {}
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",
536 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
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",
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",
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",
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"
626 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
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",
633 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
635 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
637 "minCountInstances": 0,
638 "maxCountInstances": null,
640 "vfModuleLabel": "PASQUALE_vRE_BV",
644 "volumeGroupAllowed": true
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",
651 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
653 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
655 "minCountInstances": 1,
656 "maxCountInstances": 1,
658 "vfModuleLabel": "PASQUALE_base_vPE_BV",
662 "volumeGroupAllowed": false
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",
669 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
671 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
673 "minCountInstances": 0,
674 "maxCountInstances": null,
676 "vfModuleLabel": "PASQUALE_vPFE_BV",
680 "volumeGroupAllowed": true
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",
689 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
691 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
693 "minCountInstances": 0,
694 "maxCountInstances": null,
696 "vfModuleLabel": "PASQUALE_vRE_BV",
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",
706 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
708 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
710 "minCountInstances": 0,
711 "maxCountInstances": null,
713 "vfModuleLabel": "PASQUALE_vPFE_BV",
719 "vfcInstanceGroups": {}
723 "collectionResources": {},
724 "configurations": {},
725 "fabricConfigurations": {},
726 "serviceProxies": {},
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",
733 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
735 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
737 "minCountInstances": 0,
738 "maxCountInstances": null,
740 "vfModuleLabel": "PASQUALE_vRE_BV",
744 "volumeGroupAllowed": true
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",
751 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
753 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
755 "minCountInstances": 1,
756 "maxCountInstances": 1,
758 "vfModuleLabel": "PASQUALE_base_vPE_BV",
762 "volumeGroupAllowed": false
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",
769 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
771 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
773 "minCountInstances": 0,
774 "maxCountInstances": null,
776 "vfModuleLabel": "PASQUALE_vPFE_BV",
780 "volumeGroupAllowed": true
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",
789 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
791 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
793 "minCountInstances": 0,
794 "maxCountInstances": null,
796 "vfModuleLabel": "PASQUALE_vRE_BV",
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",
806 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
808 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
810 "minCountInstances": 0,
811 "maxCountInstances": null,
813 "vfModuleLabel": "PASQUALE_vPFE_BV",