import {HttpClientTestingModule, HttpTestingController} from "@angular/common/http/testing"; import {getTestBed, TestBed} from "@angular/core/testing"; import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {NgRedux} from "@angular-redux/store"; import {ObjectToTreeService} from "../objectToTree.service"; import {ObjectToModelTreeService} from "./objectToModelTree.service"; import {DefaultDataGeneratorService} from "../../../../shared/services/defaultDataServiceGenerator/default.data.generator.service"; import {DynamicInputsService} from "../dynamicInputs.service"; import {SharedTreeService} from "../shared.tree.service"; import {DrawingBoardModes} from "../../drawing-board.modes"; import { AvailableModelsTreeService, AvailableNodeIcons } from "../../available-models-tree/available-models-tree.service"; import {DialogService} from "ng2-bootstrap-modal"; import {VnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service"; import {ControlGeneratorUtil} from "../../../../shared/components/genericForm/formControlsServices/control.generator.util.service"; import {GenericFormService} from "../../../../shared/components/genericForm/generic-form.service"; import {FormBuilder} from "@angular/forms"; import {LogService} from "../../../../shared/utils/log/log.service"; import {IframeService} from "../../../../shared/utils/iframe.service"; import {BasicPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/basic.popup.service"; import {NetworkPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service"; import {NetworkControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator"; import {VfModulePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service"; import {VfModuleControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; import {FeatureFlagsService} from "../../../../shared/services/featureFlag/feature-flags.service"; import {VnfControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vnfGenerator/vnf.control.generator"; import {AaiService} from "../../../../shared/services/aaiService/aai.service"; import {VnfGroupPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service"; import {VnfGroupControlGenerator} from "../../../../shared/components/genericForm/formControlsServices/vnfGroupGenerator/vnfGroup.control.generator"; import {DuplicateService} from "../../duplicate/duplicate.service"; import {SdcUiComponentsModule} from "onap-ui-angular"; import {ComponentInfoService} from "../../component-info/component-info.service"; import {IModelTreeNodeModel} from "../../../objectsToTree/objectToModelTree/modelTreeNode.model"; import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.step.service"; import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service"; import {VfModuleUpgradePopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service"; import {SharedControllersService} from "../../../../shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service"; import {ModalService} from "../../../../shared/components/customModal/services/modal.service"; import {CreateDynamicComponentService} from "../../../../shared/components/customModal/services/create-dynamic-component.service"; import {PnfPopupService} from "../../../../shared/components/genericFormPopup/genericFormServices/pnf/pnf.popup.service"; class MockAppStore { getState() { return { global: { 'drawingBoardStatus': DrawingBoardModes.CREATE }, service: { serviceInstance: { "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": { "existingVNFCounterMap": { "280dec31-f16d-488b-9668-4aae55d6648a": 1 } } }, serviceHierarchy: { "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd": { vnfs: { "2017-388_PASQUALE-vPE 1": { "properties": {} }, "2017-388_PASQUALE-vPE 0": { "properties": {} }, "2017-488_PASQUALE-vPE 0": { "properties": {} } } } } } } } } describe('Model Tree Generator service', () => { let injector; let service: ObjectToModelTreeService; let httpMock: HttpTestingController; beforeEach(() => { TestBed.configureTestingModule({ imports: [HttpClientTestingModule, NgReduxTestingModule, SdcUiComponentsModule], providers: [ AvailableModelsTreeService, ObjectToTreeService, ObjectToModelTreeService, DefaultDataGeneratorService, DynamicInputsService, SharedTreeService, DialogService, VnfPopupService, PnfPopupService, VnfGroupPopupService, ControlGeneratorUtil, GenericFormService, FormBuilder, LogService, IframeService, BasicPopupService, NetworkPopupService, NetworkControlGenerator, VfModulePopupService, VfModuleUpgradePopupService, VfModuleControlGenerator, VnfGroupControlGenerator, DialogService, FeatureFlagsService, VnfControlGenerator, AaiService, DialogService, DuplicateService, ComponentInfoService, NetworkStepService, VpnStepService, ModalService, CreateDynamicComponentService, SharedControllersService, {provide: NgRedux, useClass: MockAppStore}, MockNgRedux ] }).compileComponents(); injector = getTestBed(); service = injector.get(ObjectToModelTreeService); httpMock = injector.get(HttpTestingController); }); test('ObjectToModelTreeService should be defined', () => { expect(service).toBeDefined(); }); test('calculateNumberOfNodesWithPlusIcon : should return 0 when there are no nodes', () => { service.calculateNumberOfNodesWithPlusIcon("someServiceModelId", []); expect(service.numberOfPlusButton).toEqual(0); }); test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon', () => { const serviceModel = { service: { uuid: "uuid" } }; service.calculateNumberOfNodesWithPlusIcon(serviceModel, [{ showNodeIcons: () => { return new AvailableNodeIcons(true, false) } }]); expect(service.numberOfPlusButton).toEqual(1); }); test('calculateNumberOfNodesWithPlusIcon : should return 1 there is one node with plus icon and one without', () => { const serviceModel = { service: { uuid: "uuid" } }; service.calculateNumberOfNodesWithPlusIcon(serviceModel, [ { showNodeIcons: () => { return new AvailableNodeIcons(true, false) } }, { showNodeIcons: () => { return new AvailableNodeIcons(false, true) } } ]); expect(service.numberOfPlusButton).toEqual(1); }); test('should return nodes correctly: VNF', () => { let convertToNodes = service.convertServiceHierarchyModelToTreeNodes(getServiceHeirarchyVNF()); convertToNodes.map((item: IModelTreeNodeModel) => { delete item.onAddClick; delete item.getNodeCount; delete item.showNodeIcons; delete item.getModel; delete item.componentInfoType; delete item.getMenuAction; delete item['menuActions']; delete item['trackById']; delete item.getInfo; if (item.children) { item.children.map((child) => { delete child.onAddClick; delete child.getNodeCount; delete child.showNodeIcons; delete child.getModel; delete child.componentInfoType; delete child.getMenuAction; delete child['menuActions']; delete child['trackById']; delete child.getInfo; }); } }); expect(Object.assign({}, convertToNodes)).toEqual(Object.assign({}, expectNodesResultVNF())); }); function expectNodesResultVNF() { return [{ "id": "280dec31-f16d-488b-9668-4aae55d6648a", "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413", "name": "2017-388_PASQUALE-vPE 1", "tooltip": "VF", "type": "VF", "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [], "disabled": false, "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a", "modelUniqueId": "280dec31-f16d-488b-9668-4aae55d6648a", "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'VNF' }, { "id": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "name": "2017-388_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [], "disabled": false, "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'VNF' }, { "id": "1da7b585-5e61-4993-b95e-8e6606c81e45", "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "modelUniqueId": "1da7b585-5e61-4993-b95e-8e6606c81e45", "name": "2017-488_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [{ "id": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "modelVersionId": "25284168-24bb-4698-8cb4-3f509146eca5", "modelCustomizationId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "modelUniqueId": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "tooltip": "VFmodule", "type": "VFmodule", "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], "disabled": false, "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'M' }, { "id": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "tooltip": "VFmodule", "type": "VFmodule", "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], "disabled": false, "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'M' }, { "id": "3cd946bb-50e0-40d8-96d3-c9023520b557", "modelVersionId": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "modelCustomizationId": "3cd946bb-50e0-40d8-96d3-c9023520b557", "modelUniqueId": "3cd946bb-50e0-40d8-96d3-c9023520b557", "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "tooltip": "VFmodule", "type": "VFmodule", "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], "disabled": false, "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'M' }], "disabled": false, "dynamicInputs": [], "isEcompGeneratedNaming": true, "typeName": 'VNF' }] } function getServiceHeirarchyVNF() { return { "service": { "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", "name": "action-data", "version": "1.0", "toscaModelURL": null, "category": "Network L1-3", "serviceType": "pnf", "serviceRole": "Testing", "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", "serviceEcompNaming": "false", "instantiationType": "Macro", "inputs": {}, "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other"} }, "vnfs": { "2017-388_PASQUALE-vPE 1": { "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", "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", "name": "2017-388_PASQUALE-vPE", "version": "1.0", "customizationUuid": "280dec31-f16d-488b-9668-4aae55d6648a", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", "int_ctl_net_name": "VMX-INTXI", "vmx_int_ctl_prefix": "10.0.0.10", "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", "nf_type": "vPE", "vmxvpfe_int_ctl_ip_1": "10.0.0.10", "is_AVPN_service": "false", "vmx_RSG_name": "vREXI-affinity", "vmx_int_ctl_forwarding": "l2", "vmxvre_oam_ip_0": "10.0.0.10", "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_sriov41_0_port_vlanstrip": "false", "vmxvpfe_sriov42_0_port_vlanfilter": "4001", "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", "vmxvre_instance": "0", "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", "vmxvre_flavor_name": "ns.c1r16d32.v5", "vmxvpfe_volume_size_0": "40.0", "vmxvpfe_sriov43_0_port_vlanfilter": "4001", "nf_naming": "{ecomp_generated_naming=true}", "multi_stage_design": "true", "nf_naming_code": "Navneet", "vmxvre_name_0": "vREXI", "vmxvpfe_sriov42_0_port_vlanstrip": "false", "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", "vmxvre_console": "vidconsole", "vmxvpfe_sriov44_0_port_vlanfilter": "4001", "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", "vmxvpfe_sriov44_0_port_vlanstrip": "false", "vf_module_id": "123", "nf_function": "JAI", "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", "vmxvpfe_sriov44_0_port_broadcastallow": "true", "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", "vmxvpfe_sriov42_0_port_broadcastallow": "true", "vmxvre_oam_gateway": "10.0.0.10", "vmxvre_volume_name_1": "vREXI_FAVolume", "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", "vmxvpfe_sriov43_0_port_vlanstrip": "false", "vmxvpfe_sriov41_0_port_broadcastallow": "true", "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", "vmxvpfe_sriov41_0_port_vlanfilter": "4001", "nf_role": "Testing", "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", "modelCustomizationName": "2017-388_PASQUALE-vPE 1", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, "2017-388_PASQUALE-vPE 0": { "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "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", "name": "2017-388_PASQUALE-vPE", "version": "4.0", "customizationUuid": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", "int_ctl_net_name": "VMX-INTXI", "vmx_int_ctl_prefix": "10.0.0.10", "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", "nf_type": "vPE", "vmxvpfe_int_ctl_ip_1": "10.0.0.10", "is_AVPN_service": "false", "vmx_RSG_name": "vREXI-affinity", "vmx_int_ctl_forwarding": "l2", "vmxvre_oam_ip_0": "10.0.0.10", "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_sriov41_0_port_vlanstrip": "false", "vmxvpfe_sriov42_0_port_vlanfilter": "4001", "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", "vmxvre_instance": "0", "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", "vmxvre_flavor_name": "ns.c1r16d32.v5", "vmxvpfe_volume_size_0": "40.0", "vmxvpfe_sriov43_0_port_vlanfilter": "4001", "nf_naming": "{ecomp_generated_naming=true}", "multi_stage_design": "true", "nf_naming_code": "Navneet", "vmxvre_name_0": "vREXI", "vmxvpfe_sriov42_0_port_vlanstrip": "false", "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", "vmxvre_console": "vidconsole", "vmxvpfe_sriov44_0_port_vlanfilter": "4001", "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", "vmxvpfe_sriov44_0_port_vlanstrip": "false", "vf_module_id": "123", "nf_function": "JAI", "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", "vmxvpfe_sriov44_0_port_broadcastallow": "true", "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", "vmxvpfe_sriov42_0_port_broadcastallow": "true", "vmxvre_oam_gateway": "10.0.0.10", "vmxvre_volume_name_1": "vREXI_FAVolume", "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", "vmxvpfe_sriov43_0_port_vlanstrip": "false", "vmxvpfe_sriov41_0_port_broadcastallow": "true", "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", "vmxvpfe_sriov41_0_port_vlanfilter": "4001", "nf_role": "Testing", "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", "modelCustomizationName": "2017-388_PASQUALE-vPE 0", "vfModules": {}, "volumeGroups": {}, "vfcInstanceGroups": {} }, "2017-488_PASQUALE-vPE 0": { "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", "invariantUuid": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "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", "name": "2017-488_PASQUALE-vPE", "version": "5.0", "customizationUuid": "1da7b585-5e61-4993-b95e-8e6606c81e45", "inputs": {}, "commands": {}, "properties": { "vmxvre_retype": "RE-VMX", "vnf_config_template_version": "get_input:2017488_pasqualevpe0_vnf_config_template_version", "sriov44_net_id": "48d399b3-11ee-48a8-94d2-f0ea94d6be8d", "int_ctl_net_id": "2f323477-6936-4d01-ac53-d849430281d9", "vmxvpfe_sriov41_0_port_mac": "00:11:22:EF:AC:DF", "int_ctl_net_name": "VMX-INTXI", "vmx_int_ctl_prefix": "10.0.0.10", "sriov43_net_id": "da349ca1-6de9-4548-be88-2d88e99bfef5", "sriov42_net_id": "760669ba-013d-4d9b-b0e7-4151fe2e6279", "sriov41_net_id": "25ad52d5-c165-40f8-b3b0-ddfc2373280a", "nf_type": "vPE", "vmxvpfe_int_ctl_ip_1": "10.0.0.10", "is_AVPN_service": "false", "vmx_RSG_name": "vREXI-affinity", "vmx_int_ctl_forwarding": "l2", "vmxvre_oam_ip_0": "10.0.0.10", "vmxvpfe_sriov44_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_sriov41_0_port_vlanstrip": "false", "vmxvpfe_sriov42_0_port_vlanfilter": "4001", "vmxvpfe_sriov44_0_port_unknownunicastallow": "true", "vmxvre_image_name_0": "VRE-ENGINE_17.2-S2.1.qcow2", "vmxvre_instance": "0", "vmxvpfe_sriov43_0_port_mac": "00:11:22:EF:AC:DF", "vmxvre_flavor_name": "ns.c1r16d32.v5", "vmxvpfe_volume_size_0": "40.0", "vmxvpfe_sriov43_0_port_vlanfilter": "4001", "nf_naming": "{ecomp_generated_naming=true}", "multi_stage_design": "true", "nf_naming_code": "Navneet", "vmxvre_name_0": "vREXI", "vmxvpfe_sriov42_0_port_vlanstrip": "false", "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", "vmx_RSG_id": "bd89a33c-13c3-4a04-8fde-1a57eb123141", "vmxvpfe_image_name_0": "VPE_ROUTING-ENGINE_17.2R1-S2.1.qcow2", "vmxvpfe_sriov43_0_port_unknownunicastallow": "true", "vmxvpfe_sriov44_0_port_unknownmulticastallow": "true", "vmxvre_console": "vidconsole", "vmxvpfe_sriov44_0_port_vlanfilter": "4001", "vmxvpfe_sriov42_0_port_mac": "00:11:22:EF:AC:DF", "vmxvpfe_volume_id_0": "47cede15-da2f-4397-a101-aa683220aff3", "vmxvpfe_sriov42_0_port_unknownmulticastallow": "true", "vmxvpfe_sriov44_0_port_vlanstrip": "false", "vf_module_id": "123", "nf_function": "JAI", "vmxvpfe_sriov43_0_port_unknownmulticastallow": "true", "vmxvre_int_ctl_ip_0": "10.0.0.10", "ecomp_generated_naming": "true", "AIC_CLLI": "get_input:2017488_pasqualevpe0_AIC_CLLI", "vnf_name": "mtnj309me6vre", "vmxvpfe_sriov41_0_port_unknownunicastallow": "true", "vmxvre_volume_type_1": "HITACHI", "vmxvpfe_sriov44_0_port_broadcastallow": "true", "vmxvre_volume_type_0": "HITACHI", "vmxvpfe_volume_type_0": "HITACHI", "vmxvpfe_sriov43_0_port_broadcastallow": "true", "bandwidth_units": "get_input:2017488_pasqualevpe0_bandwidth_units", "vnf_id": "123", "vmxvre_oam_prefix": "24", "availability_zone_0": "mtpocfo-kvm-az01", "ASN": "get_input:2017488_pasqualevpe0_ASN", "vmxvre_chassis_i2cid": "161", "vmxvpfe_name_0": "vPFEXI", "bandwidth": "get_input:2017488_pasqualevpe0_bandwidth", "availability_zone_max_count": "1", "vmxvre_volume_size_0": "45.0", "vmxvre_volume_size_1": "50.0", "vmxvpfe_sriov42_0_port_broadcastallow": "true", "vmxvre_oam_gateway": "10.0.0.10", "vmxvre_volume_name_1": "vREXI_FAVolume", "vmxvre_ore_present": "0", "vmxvre_volume_name_0": "vREXI_FBVolume", "vmxvre_type": "0", "vnf_instance_name": "get_input:2017488_pasqualevpe0_vnf_instance_name", "vmxvpfe_sriov41_0_port_unknownmulticastallow": "true", "oam_net_id": "b95eeb1d-d55d-4827-abb4-8ebb94941429", "vmx_int_ctl_len": "24", "vmxvpfe_sriov43_0_port_vlanstrip": "false", "vmxvpfe_sriov41_0_port_broadcastallow": "true", "vmxvre_volume_id_1": "6e86797e-03cd-4fdc-ba72-2957119c746d", "vmxvpfe_sriov41_0_port_vlanfilter": "4001", "nf_role": "Testing", "vmxvre_volume_id_0": "f4eacb79-f687-4e9d-b760-21847c8bb15a", "vmxvpfe_sriov42_0_port_unknownunicastallow": "true", "vmxvpfe_flavor_name": "ns.c20r16d25.v5" }, "type": "VF", "modelCustomizationName": "2017-488_PASQUALE-vPE 0", "vfModules": { "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} } }, "vfcInstanceGroups": {} } }, "networks": {}, "collectionResources": {}, "configurations": {}, "fabricConfigurations": {}, "serviceProxies": {}, "vfModules": { "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { "uuid": "f8360508-3f17-4414-a2ed-6bc71161e8db", "invariantUuid": "b34833bb-6aa9-4ad6-a831-70b06367a091", "customizationUuid": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "description": null, "name": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "version": "5", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "properties": { "minCountInstances": 1, "maxCountInstances": 1, "initialCount": 1, "vfModuleLabel": "PASQUALE_base_vPE_BV", "baseModule": true }, "inputs": {}, "volumeGroupAllowed": false }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {}, "volumeGroupAllowed": true } }, "volumeGroups": { "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1": { "uuid": "25284168-24bb-4698-8cb4-3f509146eca5", "invariantUuid": "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1", "customizationUuid": "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vRE_BV", "baseModule": false }, "inputs": {} }, "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2": { "uuid": "0a0dd9d4-31d3-4c3a-ae89-a02f383e6a9a", "invariantUuid": "eff8cc59-53a1-4101-aed7-8cf24ecf8339", "customizationUuid": "3cd946bb-50e0-40d8-96d3-c9023520b557", "description": null, "name": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "version": "6", "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "properties": { "minCountInstances": 0, "maxCountInstances": null, "initialCount": 0, "vfModuleLabel": "PASQUALE_vPFE_BV", "baseModule": false }, "inputs": {} } }, "pnfs": {} } } });