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";
43 import {PnfControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/pnfGenerator/pnf.control.generator";
45 class MockAppStore<T> {
49 'drawingBoardStatus': DrawingBoardModes.CREATE
53 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
54 "existingVNFCounterMap": {
55 "280dec31-f16d-488b-9668-4aae55d6648a": 1
60 "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": {
62 "2017-388_PASQUALE-vPE 1": {
65 "2017-388_PASQUALE-vPE 0": {
68 "2017-488_PASQUALE-vPE 0": {
79 describe('Model Tree Generator service', () => {
81 let service: ObjectToModelTreeService;
82 let httpMock: HttpTestingController;
86 TestBed.configureTestingModule({
87 imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule],
89 AvailableModelsTreeService,
91 ObjectToModelTreeService,
92 DefaultDataGeneratorService,
106 NetworkControlGenerator,
107 VfModulePopupService,
108 VfModuleUpgradePopupService,
109 VfModuleControlGenerator,
110 VnfGroupControlGenerator,
118 ComponentInfoService,
122 CreateDynamicComponentService,
123 SharedControllersService,
124 {provide: NgRedux, useClass: MockAppStore},
126 }).compileComponents();
128 injector = getTestBed();
129 service = injector.get(ObjectToModelTreeService);
130 httpMock = injector.get(HttpTestingController);
133 test('ObjectToModelTreeService should be defined', () => {
134 expect(service).toBeDefined();
138 test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => {
139 service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []);
140 expect(service.numberOfPlusButton).toEqual(0);
143 test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => {
144 const serviceModel = {
149 service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{
150 showNodeIcons: () => {
151 return new AvailableNodeIcons(true, false)
154 expect(service.numberOfPlusButton).toEqual(1);
157 test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => {
158 const serviceModel = {
163 service.calculateNumberOfNodesWithPlusIcon(serviceModel, [
165 showNodeIcons: () => {
166 return new AvailableNodeIcons(true, false)
170 showNodeIcons: () => {
171 return new AvailableNodeIcons(false, true)
175 expect(service.numberOfPlusButton).toEqual(1);
178 test('should return nodes correctly: VNF', () => {
179 let convertToNodes = service.convertServiceHierarchyModelToTreeNodes(getServiceHeirarchyVNF());
180 convertToNodes.map((item: IModelTreeNodeModel) => {
181 delete item.onAddClick;
182 delete item.getNodeCount;
183 delete item.showNodeIcons;
184 delete item.getModel;
185 delete item.componentInfoType;
186 delete item.getMenuAction;
187 delete item['menuActions'];
188 delete item['trackById'];
193 item.children.map((child) => {
194 delete child.onAddClick;
195 delete child.getNodeCount;
196 delete child.showNodeIcons;
197 delete child.getModel;
198 delete child.componentInfoType;
199 delete child.getMenuAction;
200 delete child['menuActions'];
201 delete child['trackById'];
202 delete child.getInfo;
207 expect(Object.assign({}, convertToNodes)).toEqual(Object.assign({}, expectNodesResultVNF()));
211 function expectNodesResultVNF() {
213 "id": "280dec31-f16d-488b-9668-4aae55d6648a",
214 "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413",
215 "name": "2017-388_PASQUALE-vPE 1",
218 "modelTypeName": "vnfs",
223 "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a",
224 "modelUniqueId": "280dec31-f16d-488b-9668-4aae55d6648a",
226 "isEcompGeneratedNaming": true,
229 "id": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
230 "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168",
231 "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
232 "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
233 "name": "2017-388_PASQUALE-vPE 0",
236 "modelTypeName": "vnfs",
242 "isEcompGeneratedNaming": true,
245 "id": "1da7b585-5e61-4993-b95e-8e6606c81e45",
246 "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
247 "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
248 "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45",
249 "name": "2017-488_PASQUALE-vPE 0",
252 "modelTypeName": "vnfs",
256 "id": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
257 "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5",
258 "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
259 "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
260 "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
261 "tooltip": "VFmodule",
263 "modelTypeName": "vfModules",
269 "isEcompGeneratedNaming": true,
272 "id": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
273 "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db",
274 "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
275 "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
276 "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
277 "tooltip": "VFmodule",
279 "modelTypeName": "vfModules",
285 "isEcompGeneratedNaming": true,
288 "id": "3cd946bb-50e0-40d8-96d3-c9023520b557",
289 "modelVersionId": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
290 "modelCustomizationId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
291 "modelUniqueId": "3cd946bb-50e0-40d8-96d3-c9023520b557",
292 "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
293 "tooltip": "VFmodule",
295 "modelTypeName": "vfModules",
301 "isEcompGeneratedNaming": true,
306 "isEcompGeneratedNaming": true,
312 function getServiceHeirarchyVNF() {
315 "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd",
316 "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632",
317 "name": "action-data",
319 "toscaModelURL": null,
320 "category": "Network L1-3",
321 "serviceType": "pnf",
322 "serviceRole": "Testing",
323 "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM",
324 "serviceEcompNaming": "false",
325 "instantiationType": "Macro",
327 "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"}
330 "2017-388_PASQUALE-vPE 1": {
331 "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413",
332 "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d",
333 "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",
334 "name": "2017-388_PASQUALE-vPE",
336 "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a",
340 "vmxvre_retype": "RE-VMX",
341 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
342 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
343 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
344 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
345 "int_ctl_net_name": "VMX-INTXI",
346 "vmx_int_ctl_prefix": "10.0.0.10",
347 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
348 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
349 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
351 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
352 "is_AVPN_service": "false",
353 "vmx_RSG_name": "vREXI-affinity",
354 "vmx_int_ctl_forwarding": "l2",
355 "vmxvre_oam_ip_0": "10.0.0.10",
356 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
357 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
358 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
359 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
360 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
361 "vmxvre_instance": "0",
362 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
363 "vmxvre_flavor_name": "ns.c1r16d32.v5",
364 "vmxvpfe_volume_size_0": "40.0",
365 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
366 "nf_naming": "{ecomp_generated_naming=true}",
367 "multi_stage_design": "true",
368 "nf_naming_code": "Navneet",
369 "vmxvre_name_0": "vREXI",
370 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
371 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
372 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
373 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
374 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
375 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
376 "vmxvre_console": "vidconsole",
377 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
378 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
379 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
380 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
381 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
382 "vf_module_id": "123",
383 "nf_function": "JAI",
384 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
385 "vmxvre_int_ctl_ip_0": "10.0.0.10",
386 "ecomp_generated_naming": "true",
387 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
388 "vnf_name": "mtnj309me6vre",
389 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
390 "vmxvre_volume_type_1": "HITACHI",
391 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
392 "vmxvre_volume_type_0": "HITACHI",
393 "vmxvpfe_volume_type_0": "HITACHI",
394 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
395 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
397 "vmxvre_oam_prefix": "24",
398 "availability_zone_0": "mtpocfo-kvm-az01",
399 "ASN": "get_input:2017488_pasqualevpe0_ASN",
400 "vmxvre_chassis_i2cid": "161",
401 "vmxvpfe_name_0": "vPFEXI",
402 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
403 "availability_zone_max_count": "1",
404 "vmxvre_volume_size_0": "45.0",
405 "vmxvre_volume_size_1": "50.0",
406 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
407 "vmxvre_oam_gateway": "10.0.0.10",
408 "vmxvre_volume_name_1": "vREXI_FAVolume",
409 "vmxvre_ore_present": "0",
410 "vmxvre_volume_name_0": "vREXI_FBVolume",
412 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
413 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
414 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
415 "vmx_int_ctl_len": "24",
416 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
417 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
418 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
419 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
420 "nf_role": "Testing",
421 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
422 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
423 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
426 "modelCustomizationName": "2017-388_PASQUALE-vPE 1",
429 "vfcInstanceGroups": {}
431 "2017-388_PASQUALE-vPE 0": {
432 "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168",
433 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
434 "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",
435 "name": "2017-388_PASQUALE-vPE",
437 "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c",
441 "vmxvre_retype": "RE-VMX",
442 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
443 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
444 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
445 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
446 "int_ctl_net_name": "VMX-INTXI",
447 "vmx_int_ctl_prefix": "10.0.0.10",
448 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
449 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
450 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
452 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
453 "is_AVPN_service": "false",
454 "vmx_RSG_name": "vREXI-affinity",
455 "vmx_int_ctl_forwarding": "l2",
456 "vmxvre_oam_ip_0": "10.0.0.10",
457 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
458 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
459 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
460 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
461 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
462 "vmxvre_instance": "0",
463 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
464 "vmxvre_flavor_name": "ns.c1r16d32.v5",
465 "vmxvpfe_volume_size_0": "40.0",
466 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
467 "nf_naming": "{ecomp_generated_naming=true}",
468 "multi_stage_design": "true",
469 "nf_naming_code": "Navneet",
470 "vmxvre_name_0": "vREXI",
471 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
472 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
473 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
474 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
475 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
476 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
477 "vmxvre_console": "vidconsole",
478 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
479 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
480 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
481 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
482 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
483 "vf_module_id": "123",
484 "nf_function": "JAI",
485 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
486 "vmxvre_int_ctl_ip_0": "10.0.0.10",
487 "ecomp_generated_naming": "true",
488 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
489 "vnf_name": "mtnj309me6vre",
490 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
491 "vmxvre_volume_type_1": "HITACHI",
492 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
493 "vmxvre_volume_type_0": "HITACHI",
494 "vmxvpfe_volume_type_0": "HITACHI",
495 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
496 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
498 "vmxvre_oam_prefix": "24",
499 "availability_zone_0": "mtpocfo-kvm-az01",
500 "ASN": "get_input:2017488_pasqualevpe0_ASN",
501 "vmxvre_chassis_i2cid": "161",
502 "vmxvpfe_name_0": "vPFEXI",
503 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
504 "availability_zone_max_count": "1",
505 "vmxvre_volume_size_0": "45.0",
506 "vmxvre_volume_size_1": "50.0",
507 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
508 "vmxvre_oam_gateway": "10.0.0.10",
509 "vmxvre_volume_name_1": "vREXI_FAVolume",
510 "vmxvre_ore_present": "0",
511 "vmxvre_volume_name_0": "vREXI_FBVolume",
513 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
514 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
515 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
516 "vmx_int_ctl_len": "24",
517 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
518 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
519 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
520 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
521 "nf_role": "Testing",
522 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
523 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
524 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
527 "modelCustomizationName": "2017-388_PASQUALE-vPE 0",
530 "vfcInstanceGroups": {}
532 "2017-488_PASQUALE-vPE 0": {
533 "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09",
534 "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8",
535 "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",
536 "name": "2017-488_PASQUALE-vPE",
538 "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45",
542 "vmxvre_retype": "RE-VMX",
543 "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version",
544 "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d",
545 "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9",
546 "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF",
547 "int_ctl_net_name": "VMX-INTXI",
548 "vmx_int_ctl_prefix": "10.0.0.10",
549 "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5",
550 "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279",
551 "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a",
553 "vmxvpfe_int_ctl_ip_1": "10.0.0.10",
554 "is_AVPN_service": "false",
555 "vmx_RSG_name": "vREXI-affinity",
556 "vmx_int_ctl_forwarding": "l2",
557 "vmxvre_oam_ip_0": "10.0.0.10",
558 "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF",
559 "vmxvpfe_sriov41_0_port_vlanstrip": "false",
560 "vmxvpfe_sriov42_0_port_vlanfilter": "4001",
561 "vmxvpfe_sriov44_0_port_unknownunicastallow": "true",
562 "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2",
563 "vmxvre_instance": "0",
564 "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF",
565 "vmxvre_flavor_name": "ns.c1r16d32.v5",
566 "vmxvpfe_volume_size_0": "40.0",
567 "vmxvpfe_sriov43_0_port_vlanfilter": "4001",
568 "nf_naming": "{ecomp_generated_naming=true}",
569 "multi_stage_design": "true",
570 "nf_naming_code": "Navneet",
571 "vmxvre_name_0": "vREXI",
572 "vmxvpfe_sriov42_0_port_vlanstrip": "false",
573 "vmxvpfe_volume_name_0": "vPFEXI_FBVolume",
574 "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141",
575 "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2",
576 "vmxvpfe_sriov43_0_port_unknownunicastallow": "true",
577 "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true",
578 "vmxvre_console": "vidconsole",
579 "vmxvpfe_sriov44_0_port_vlanfilter": "4001",
580 "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF",
581 "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3",
582 "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true",
583 "vmxvpfe_sriov44_0_port_vlanstrip": "false",
584 "vf_module_id": "123",
585 "nf_function": "JAI",
586 "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true",
587 "vmxvre_int_ctl_ip_0": "10.0.0.10",
588 "ecomp_generated_naming": "true",
589 "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI",
590 "vnf_name": "mtnj309me6vre",
591 "vmxvpfe_sriov41_0_port_unknownunicastallow": "true",
592 "vmxvre_volume_type_1": "HITACHI",
593 "vmxvpfe_sriov44_0_port_broadcastallow": "true",
594 "vmxvre_volume_type_0": "HITACHI",
595 "vmxvpfe_volume_type_0": "HITACHI",
596 "vmxvpfe_sriov43_0_port_broadcastallow": "true",
597 "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units",
599 "vmxvre_oam_prefix": "24",
600 "availability_zone_0": "mtpocfo-kvm-az01",
601 "ASN": "get_input:2017488_pasqualevpe0_ASN",
602 "vmxvre_chassis_i2cid": "161",
603 "vmxvpfe_name_0": "vPFEXI",
604 "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth",
605 "availability_zone_max_count": "1",
606 "vmxvre_volume_size_0": "45.0",
607 "vmxvre_volume_size_1": "50.0",
608 "vmxvpfe_sriov42_0_port_broadcastallow": "true",
609 "vmxvre_oam_gateway": "10.0.0.10",
610 "vmxvre_volume_name_1": "vREXI_FAVolume",
611 "vmxvre_ore_present": "0",
612 "vmxvre_volume_name_0": "vREXI_FBVolume",
614 "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name",
615 "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true",
616 "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429",
617 "vmx_int_ctl_len": "24",
618 "vmxvpfe_sriov43_0_port_vlanstrip": "false",
619 "vmxvpfe_sriov41_0_port_broadcastallow": "true",
620 "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d",
621 "vmxvpfe_sriov41_0_port_vlanfilter": "4001",
622 "nf_role": "Testing",
623 "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a",
624 "vmxvpfe_sriov42_0_port_unknownunicastallow": "true",
625 "vmxvpfe_flavor_name": "ns.c20r16d25.v5"
628 "modelCustomizationName": "2017-488_PASQUALE-vPE 0",
630 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
631 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
632 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
633 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
635 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
637 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
639 "minCountInstances": 0,
640 "maxCountInstances": null,
642 "vfModuleLabel": "PASQUALE_vRE_BV",
646 "volumeGroupAllowed": true
648 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
649 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
650 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
651 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
653 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
655 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
657 "minCountInstances": 1,
658 "maxCountInstances": 1,
660 "vfModuleLabel": "PASQUALE_base_vPE_BV",
664 "volumeGroupAllowed": false
666 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
667 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
668 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
669 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
671 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
673 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
675 "minCountInstances": 0,
676 "maxCountInstances": null,
678 "vfModuleLabel": "PASQUALE_vPFE_BV",
682 "volumeGroupAllowed": true
686 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
687 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
688 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
689 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
691 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
693 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
695 "minCountInstances": 0,
696 "maxCountInstances": null,
698 "vfModuleLabel": "PASQUALE_vRE_BV",
703 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
704 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
705 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
706 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
708 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
710 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
712 "minCountInstances": 0,
713 "maxCountInstances": null,
715 "vfModuleLabel": "PASQUALE_vPFE_BV",
721 "vfcInstanceGroups": {}
725 "collectionResources": {},
726 "configurations": {},
727 "fabricConfigurations": {},
728 "serviceProxies": {},
730 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
731 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
732 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
733 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
735 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
737 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
739 "minCountInstances": 0,
740 "maxCountInstances": null,
742 "vfModuleLabel": "PASQUALE_vRE_BV",
746 "volumeGroupAllowed": true
748 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": {
749 "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db",
750 "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091",
751 "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3",
753 "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
755 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0",
757 "minCountInstances": 1,
758 "maxCountInstances": 1,
760 "vfModuleLabel": "PASQUALE_base_vPE_BV",
764 "volumeGroupAllowed": false
766 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
767 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
768 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
769 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
771 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
773 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
775 "minCountInstances": 0,
776 "maxCountInstances": null,
778 "vfModuleLabel": "PASQUALE_vPFE_BV",
782 "volumeGroupAllowed": true
786 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": {
787 "uuid": "25284168-24bb-4698-8cb4-3f509146eca5",
788 "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1",
789 "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401",
791 "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
793 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1",
795 "minCountInstances": 0,
796 "maxCountInstances": null,
798 "vfModuleLabel": "PASQUALE_vRE_BV",
803 "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": {
804 "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a",
805 "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339",
806 "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557",
808 "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
810 "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2",
812 "minCountInstances": 0,
813 "maxCountInstances": null,
815 "vfModuleLabel": "PASQUALE_vPFE_BV",