diff options
Diffstat (limited to 'vid-webpack-master/src/app/drawingBoard')
43 files changed, 536 insertions, 7904 deletions
diff --git a/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts b/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts index 25d170320..7e59f1741 100644 --- a/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts +++ b/vid-webpack-master/src/app/drawingBoard/drawingBoard.module.ts @@ -36,6 +36,8 @@ import {ComponentInfoComponent} from './service-planning/component-info/componen import {ComponentInfoService} from "./service-planning/component-info/component-info.service"; import {NetworkStepService} from "./service-planning/objectsToTree/models/vrf/vrfModal/networkStep/network.step.service"; import {VpnStepService} from "./service-planning/objectsToTree/models/vrf/vrfModal/vpnStep/vpn.step.service"; +import {ModalModule} from "onap-ui-angular/dist/modals/modal.module"; +import {ModalService} from "../shared/components/customModal/services/modal.service"; @NgModule({ @@ -48,7 +50,8 @@ import {VpnStepService} from "./service-planning/objectsToTree/models/vrf/vrfMod CommonModule, SdcUiComponentsModule, SharedModule.forRoot(), - FeatureFlagModule.forRoot()], + FeatureFlagModule.forRoot(), + ModalModule], providers: [ AaiService, ObjectToTreeService, @@ -64,7 +67,7 @@ import {VpnStepService} from "./service-planning/objectsToTree/models/vrf/vrfMod DynamicInputsService, InstanceTreeGenerator, SharedTreeService, - SdcUiServices.ModalService, + ModalService, SdcUiServices.LoaderService, CreateDynamicComponentService, ComponentInfoService, @@ -83,7 +86,7 @@ import {VpnStepService} from "./service-planning/objectsToTree/models/vrf/vrfMod SearchComponent, ComponentInfoComponent], entryComponents: [DuplicateVnfComponent], - exports: [AvailableModelsTreeComponent, DrawingBoardTreeComponent, DrawingBoardHeader, TreeNodeHeaderPropertiesComponent, SearchComponent] + exports: [AvailableModelsTreeComponent, DrawingBoardTreeComponent, DrawingBoardHeader, TreeNodeHeaderPropertiesComponent, SearchComponent, DuplicateVnfComponent] }) export class DrawingBoardModule { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html index 7864808fc..d309f2107 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.html @@ -29,10 +29,10 @@ <span [attr.data-tests-id]="'numberButton'">{{node.data.getNodeCount(node, this.serviceModelId)}}</span> </span> <span class="icon-v" *ngIf="node?.data?.showNodeIcons(node, serviceModelId)?.vIcon"> - <svg-icon + <custom-icon [mode]="'secondary'" [name]="'maximum'"> - </svg-icon> + </custom-icon> </span> <span class="icon-plus" *ngIf="_store.getState().service.serviceInstance[serviceModelId].action !== 'Delete' && node?.data?.showNodeIcons(node, serviceModelId)?.addIcon"> <span tooltip="Add" [attr.data-tests-id]="'node-'+node.data.name+'-add-btn'" (click)="onClickAdd(node, serviceModelId)"> diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts index 13147b7e5..2e04f53bb 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.component.ts @@ -88,7 +88,7 @@ export class AvailableModelsTreeComponent { @Output() highlightInstances: EventEmitter<number> = new EventEmitter<number>(); - @ViewChild('tree') tree: TreeComponent; + @ViewChild('tree', {static: false}) tree: TreeComponent; nodes = []; service = {name: ''}; @@ -134,7 +134,13 @@ export class AvailableModelsTreeComponent { this.highlightInstances.emit(node.data.modelUniqueId); if (FeatureFlagsService.getFlagState(Features.FLAG_1906_COMPONENT_INFO, this.store)) { const serviceHierarchy = this._store.getState().service.serviceHierarchy[this.serviceModelId]; - const model = node.data.getModel(node.data.name, node.data, serviceHierarchy); + + const instanceModel = this._sharedTreeService.modelByIdentifiers( + serviceHierarchy, node.data.modelTypeName, + this._sharedTreeService.modelUniqueNameOrId(node.data), node.data.name + ); + + const model = node.data.getModel(instanceModel); const modelInfoItems = node.data.getInfo(model, null); const componentInfoModel :ComponentInfoModel = this._sharedTreeService.addGeneralInfoItems(modelInfoItems, node.data.componentInfoType, model, null); ComponentInfoService.triggerComponentInfoChange.next(componentInfoModel); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts index 4abc20324..6a101d3d2 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.spec.ts @@ -14,6 +14,7 @@ describe('Available Models Tree Service', () => { let injector; let service: AvailableModelsTreeService; let httpMock: HttpTestingController; + let sharedTreeService: SharedTreeService; beforeAll(done => (async () => { TestBed.configureTestingModule({ @@ -27,6 +28,7 @@ describe('Available Models Tree Service', () => { injector = getTestBed(); service = injector.get(AvailableModelsTreeService); httpMock = injector.get(HttpTestingController); + sharedTreeService = injector.get(SharedTreeService); })().then(done).catch(done.fail)); @@ -47,7 +49,6 @@ describe('Available Models Tree Service', () => { describe('#shouldOpenModalDialogOnAddInstance', () => { - let serviceHierarchy = getServiceServiceHierarchy(); test('should open popup on add instance', () => { // add vnf should return true @@ -99,6 +100,8 @@ describe('Available Models Tree Service', () => { "isEcompGeneratedNaming": false, "typeName": "VRF", "componentInfoType": "VRF", + "data": { + }, "getModel" : ()=>{ return { min : 1 @@ -108,6 +111,9 @@ describe('Available Models Tree Service', () => { const serviceStore = { + "serviceHierarchy": { + "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc": {} + }, "serviceInstance": { "4117a0b6-e234-467d-b5b9-fe2f68c8b0fc": { "action": "Create", @@ -158,7 +164,7 @@ describe('Available Models Tree Service', () => { "physicalName": "sriovnet0", "instanceId": "46fcb25a-e7ba-4d96-99ba-3bb6eae6aba7", "serviceName": "LPPVPN", - "serv§iceUUID": "VPN1271", + "serviceUUID": "VPN1271", "tenantName": "ecomp_ispt", "lcpCloudRegionId": "USA,EMEA", "modelInfo": { @@ -221,6 +227,8 @@ describe('Available Models Tree Service', () => { } }; + spyOn(sharedTreeService, 'modelByIdentifiers').and.returnValue({}); + const serviceModelId :string = '4117a0b6-e234-467d-b5b9-fe2f68c8b0fc'; let result: boolean = service.shouldOpenVRFModal(nodes, serviceModelId, serviceStore); @@ -235,344 +243,4 @@ describe('Available Models Tree Service', () => { }); - function getServiceServiceHierarchy() { - return JSON.parse(JSON.stringify( - { - '6e59c5de-f052-46fa-aa7e-2fca9d674c44': { - 'service': { - 'uuid': '6e59c5de-f052-46fa-aa7e-2fca9d674c44', - 'invariantUuid': 'e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0', - 'name': 'ComplexService', - 'version': '1.0', - 'toscaModelURL': null, - 'category': 'Emanuel', - 'serviceType': '', - 'serviceRole': '', - 'description': 'ComplexService', - 'serviceEcompNaming': 'true', - 'instantiationType': 'Macro', - 'inputs': {} - }, - 'vnfs': { - 'VF_vGeraldine 0': { - 'uuid': 'd6557200-ecf2-4641-8094-5393ae3aae60', - 'invariantUuid': '4160458e-f648-4b30-a176-43881ffffe9e', - 'description': 'VSP_vGeraldine', - 'name': 'VF_vGeraldine', - 'version': '2.0', - 'customizationUuid': '91415b44-753d-494c-926a-456a9172bbb9', - 'inputs': {}, - 'commands': {}, - 'properties': { - 'max_instances': '3', - 'min_instances': '1', - 'gpb2_Internal2_mac': '00:11:22:EF:AC:DF', - 'sctp-b-ipv6-egress_src_start_port': '0', - 'sctp-a-ipv6-egress_rule_application': 'any', - 'Internal2_allow_transit': 'true', - 'sctp-b-IPv6_ethertype': 'IPv6', - 'sctp-a-egress_rule_application': 'any', - 'sctp-b-ingress_action': 'pass', - 'sctp-b-ingress_rule_protocol': 'icmp', - 'ncb2_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-b-ipv6-ingress-src_start_port': '0.0', - 'ncb1_Internal2_mac': '00:11:22:EF:AC:DF', - 'fsb_volume_size_0': '320.0', - 'sctp-b-egress_src_addresses': 'local', - 'sctp-a-ipv6-ingress_ethertype': 'IPv4', - 'sctp-a-ipv6-ingress-dst_start_port': '0', - 'sctp-b-ipv6-ingress_rule_application': 'any', - 'domain_name': 'default-domain', - 'sctp-a-ingress_rule_protocol': 'icmp', - 'sctp-b-egress-src_start_port': '0.0', - 'sctp-a-egress_src_addresses': 'local', - 'sctp-b-display_name': 'epc-sctp-b-ipv4v6-sec-group', - 'sctp-a-egress-src_start_port': '0.0', - 'sctp-a-ingress_ethertype': 'IPv4', - 'sctp-b-ipv6-ingress-dst_end_port': '65535', - 'sctp-b-dst_subnet_prefix_v6': '::', - 'nf_naming': '{ecomp_generated_naming=true}', - 'sctp-a-ipv6-ingress_src_subnet_prefix': '0.0.0.0', - 'sctp-b-egress-dst_start_port': '0.0', - 'ncb_flavor_name': 'nv.c20r64d1', - 'gpb1_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-b-egress_dst_subnet_prefix_len': '0.0', - 'Internal2_net_cidr': '10.0.0.10', - 'sctp-a-ingress-dst_start_port': '0.0', - 'sctp-a-egress-dst_start_port': '0.0', - 'fsb1_Internal2_mac': '00:11:22:EF:AC:DF', - 'sctp-a-egress_ethertype': 'IPv4', - 'vlc_st_service_mode': 'in-network-nat', - 'sctp-a-ipv6-egress_ethertype': 'IPv4', - 'sctp-a-egress-src_end_port': '65535.0', - 'sctp-b-ipv6-egress_rule_application': 'any', - 'sctp-b-egress_action': 'pass', - 'sctp-a-ingress-src_subnet_prefix_len': '0.0', - 'sctp-b-ipv6-ingress-src_end_port': '65535.0', - 'sctp-b-name': 'epc-sctp-b-ipv4v6-sec-group', - 'fsb2_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-a-ipv6-ingress-src_start_port': '0.0', - 'sctp-b-ipv6-egress_ethertype': 'IPv4', - 'Internal1_net_cidr': '10.0.0.10', - 'sctp-a-egress_dst_subnet_prefix': '0.0.0.0', - 'fsb_flavor_name': 'nv.c20r64d1', - 'sctp_rule_protocol': '132', - 'sctp-b-ipv6-ingress_src_subnet_prefix_len': '0', - 'sctp-a-ipv6-ingress_rule_application': 'any', - 'sctp-a-IPv6_ethertype': 'IPv6', - 'vlc2_Internal1_mac': '00:11:22:EF:AC:DF', - 'vlc_st_virtualization_type': 'virtual-machine', - 'sctp-b-ingress-dst_start_port': '0.0', - 'sctp-b-ingress-dst_end_port': '65535.0', - 'sctp-a-ipv6-ingress-src_end_port': '65535.0', - 'sctp-a-display_name': 'epc-sctp-a-ipv4v6-sec-group', - 'sctp-b-ingress_rule_application': 'any', - 'int2_sec_group_name': 'int2-sec-group', - 'vlc_flavor_name': 'nd.c16r64d1', - 'sctp-b-ipv6-egress_src_addresses': 'local', - 'vlc_st_interface_type_int1': 'other1', - 'sctp-b-egress-src_end_port': '65535.0', - 'sctp-a-ipv6-egress-dst_start_port': '0', - 'vlc_st_interface_type_int2': 'other2', - 'sctp-a-ipv6-egress_rule_protocol': 'any', - 'Internal2_shared': 'false', - 'sctp-a-ipv6-egress_dst_subnet_prefix_len': '0', - 'Internal2_rpf': 'disable', - 'vlc1_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-b-ipv6-egress_src_end_port': '65535', - 'sctp-a-ipv6-egress_src_addresses': 'local', - 'sctp-a-ingress-dst_end_port': '65535.0', - 'sctp-a-ipv6-egress_src_end_port': '65535', - 'Internal1_forwarding_mode': 'l2', - 'Internal2_dhcp': 'false', - 'sctp-a-dst_subnet_prefix_v6': '::', - 'pxe_image_name': 'MME_PXE-Boot_16ACP04_GA.qcow2', - 'vlc_st_interface_type_gtp': 'other0', - 'ncb1_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-b-src_subnet_prefix_v6': '::', - 'sctp-a-egress_dst_subnet_prefix_len': '0.0', - 'int1_sec_group_name': 'int1-sec-group', - 'Internal1_dhcp': 'false', - 'sctp-a-ipv6-egress_dst_end_port': '65535', - 'Internal2_forwarding_mode': 'l2', - 'fsb2_Internal2_mac': '00:11:22:EF:AC:DF', - 'sctp-b-egress_dst_subnet_prefix': '0.0.0.0', - 'Internal1_net_cidr_len': '17', - 'gpb2_Internal1_mac': '00:11:22:EF:AC:DF', - 'sctp-b-ingress-src_subnet_prefix_len': '0.0', - 'sctp-a-ingress_dst_addresses': 'local', - 'sctp-a-egress_action': 'pass', - 'fsb_volume_type_0': 'SF-Default-SSD', - 'ncb2_Internal2_mac': '00:11:22:EF:AC:DF', - 'vlc_st_interface_type_sctp_a': 'left', - 'vlc_st_interface_type_sctp_b': 'right', - 'sctp-a-src_subnet_prefix_v6': '::', - 'vlc_st_version': '2', - 'sctp-b-egress_ethertype': 'IPv4', - 'sctp-a-ingress_rule_application': 'any', - 'gpb1_Internal2_mac': '00:11:22:EF:AC:DF', - 'instance_ip_family_v6': 'v6', - 'sctp-a-ipv6-egress_src_start_port': '0', - 'sctp-b-ingress-src_start_port': '0.0', - 'sctp-b-ingress_dst_addresses': 'local', - 'fsb1_Internal1_mac': '00:11:22:EF:AC:DF', - 'vlc_st_interface_type_oam': 'management', - 'multi_stage_design': 'false', - 'oam_sec_group_name': 'oam-sec-group', - 'Internal2_net_gateway': '10.0.0.10', - 'sctp-a-ipv6-ingress-dst_end_port': '65535', - 'sctp-b-ipv6-egress-dst_start_port': '0', - 'Internal1_net_gateway': '10.0.0.10', - 'sctp-b-ipv6-egress_rule_protocol': 'any', - 'gtp_sec_group_name': 'gtp-sec-group', - 'sctp-a-ipv6-egress_dst_subnet_prefix': '0.0.0.0', - 'sctp-b-ipv6-egress_dst_subnet_prefix_len': '0', - 'sctp-a-ipv6-ingress_dst_addresses': 'local', - 'sctp-a-egress_rule_protocol': 'icmp', - 'sctp-b-ipv6-egress_action': 'pass', - 'sctp-a-ipv6-egress_action': 'pass', - 'Internal1_shared': 'false', - 'sctp-b-ipv6-ingress_rule_protocol': 'any', - 'Internal2_net_cidr_len': '17', - 'sctp-a-name': 'epc-sctp-a-ipv4v6-sec-group', - 'sctp-a-ingress-src_end_port': '65535.0', - 'sctp-b-ipv6-ingress_src_subnet_prefix': '0.0.0.0', - 'sctp-a-egress-dst_end_port': '65535.0', - 'sctp-a-ingress_action': 'pass', - 'sctp-b-egress_rule_protocol': 'icmp', - 'sctp-b-ipv6-ingress_action': 'pass', - 'vlc_st_service_type': 'firewall', - 'sctp-b-ipv6-egress_dst_end_port': '65535', - 'sctp-b-ipv6-ingress-dst_start_port': '0', - 'vlc2_Internal2_mac': '00:11:22:EF:AC:DF', - 'vlc_st_availability_zone': 'true', - 'fsb_volume_image_name_1': 'MME_FSB2_16ACP04_GA.qcow2', - 'sctp-b-ingress-src_subnet_prefix': '0.0.0.0', - 'sctp-a-ipv6-ingress_src_subnet_prefix_len': '0', - 'Internal1_allow_transit': 'true', - 'gpb_flavor_name': 'nv.c20r64d1', - 'availability_zone_max_count': '1', - 'fsb_volume_image_name_0': 'MME_FSB1_16ACP04_GA.qcow2', - 'sctp-b-ipv6-ingress_dst_addresses': 'local', - 'sctp-b-ipv6-egress_dst_subnet_prefix': '0.0.0.0', - 'sctp-b-ipv6-ingress_ethertype': 'IPv4', - 'vlc1_Internal2_mac': '00:11:22:EF:AC:DF', - 'sctp-a-ingress-src_subnet_prefix': '0.0.0.0', - 'sctp-a-ipv6-ingress_action': 'pass', - 'Internal1_rpf': 'disable', - 'sctp-b-ingress_ethertype': 'IPv4', - 'sctp-b-egress_rule_application': 'any', - 'sctp-b-ingress-src_end_port': '65535.0', - 'sctp-a-ipv6-ingress_rule_protocol': 'any', - 'sctp-a-ingress-src_start_port': '0.0', - 'sctp-b-egress-dst_end_port': '65535.0' - }, - 'type': 'VF', - 'modelCustomizationName': 'VF_vGeraldine 0', - 'vfModules': { - 'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': { - 'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830', - 'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b', - 'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091', - 'description': null, - 'name': 'VfVgeraldine..vflorence_vlc..module-1', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1', - 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, - 'commands': {}, - 'volumeGroupAllowed': false - }, - 'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': { - 'uuid': '41708296-e443-4c71-953f-d9a010f059e1', - 'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9', - 'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c', - 'description': null, - 'name': 'VfVgeraldine..vflorence_gpb..module-2', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2', - 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, - 'commands': {}, - 'volumeGroupAllowed': false - }, - 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { - 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', - 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', - 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', - 'description': null, - 'name': 'VfVgeraldine..base_vflorence..module-0', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', - 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}, - 'commands': {}, - 'volumeGroupAllowed': true - } - }, - 'volumeGroups': { - 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { - 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', - 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', - 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', - 'description': null, - 'name': 'VfVgeraldine..base_vflorence..module-0', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', - 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1} - } - } - } - }, - 'networks': { - 'ExtVL 0': { - 'uuid': 'ddc3f20c-08b5-40fd-af72-c6d14636b986', - 'invariantUuid': '379f816b-a7aa-422f-be30-17114ff50b7c', - 'description': 'ECOMP generic virtual link (network) base type for all other service-level and global networks', - 'name': 'ExtVL', - 'version': '37.0', - 'customizationUuid': '94fdd893-4a36-4d70-b16a-ec29c54c184f', - 'inputs': {}, - 'commands': {}, - 'properties': { - 'network_assignments': '{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}', - 'exVL_naming': '{ecomp_generated_naming=true}', - 'network_flows': '{is_network_policy=false, is_bound_to_vpn=false}', - 'network_homing': '{ecomp_selected_instance_node_target=false}' - }, - 'type': 'VL', - 'modelCustomizationName': 'ExtVL 0' - } - }, - 'configurations': { - 'Port Mirroring Configuration By Policy 0': { - 'uuid': 'b4398538-e89d-4f13-b33d-ca323434ba50', - 'invariantUuid': '6ef0ca40-f366-4897-951f-abd65d25f6f7', - 'description': 'A port mirroring configuration by policy object', - 'name': 'Port Mirroring Configuration By Policy', - 'version': '27.0', - 'customizationUuid': '3c3b7b8d-8669-4b3b-8664-61970041fad2', - 'inputs': {}, - 'commands': {}, - 'properties': {}, - 'type': 'Configuration', - 'modelCustomizationName': 'Port Mirroring Configuration By Policy 0', - 'sourceNodes': [], - 'collectorNodes': null, - 'configurationByPolicy': false - } - }, - 'serviceProxies': {}, - 'vfModules': { - 'vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1': { - 'uuid': '522159d5-d6e0-4c2a-aa44-5a542a12a830', - 'invariantUuid': '98a7c88b-b577-476a-90e4-e25a5871e02b', - 'customizationUuid': '55b1be94-671a-403e-a26c-667e9c47d091', - 'description': null, - 'name': 'VfVgeraldine..vflorence_vlc..module-1', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..vflorence_vlc..module-1', - 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, - 'commands': {}, - 'volumeGroupAllowed': false - }, - 'vf_vgeraldine0..VfVgeraldine..vflorence_gpb..module-2': { - 'uuid': '41708296-e443-4c71-953f-d9a010f059e1', - 'invariantUuid': '1cca90b8-3490-495e-87da-3f3e4c57d5b9', - 'customizationUuid': '6add59e0-7fe1-4bc4-af48-f8812422ae7c', - 'description': null, - 'name': 'VfVgeraldine..vflorence_gpb..module-2', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..vflorence_gpb..module-2', - 'properties': {'minCountInstances': 0, 'maxCountInstances': null, 'initialCount': 0}, - 'commands': {}, - 'volumeGroupAllowed': false - }, - 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { - 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', - 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', - 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', - 'description': null, - 'name': 'VfVgeraldine..base_vflorence..module-0', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', - 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1}, - 'commands': {}, - 'volumeGroupAllowed': true - } - }, - 'volumeGroups': { - 'vf_vgeraldine0..VfVgeraldine..base_vflorence..module-0': { - 'uuid': 'a27f5cfc-7f12-4f99-af08-0af9c3885c87', - 'invariantUuid': 'a6f9e51a-2b35-416a-ae15-15e58d61f36d', - 'customizationUuid': 'f8c040f1-7e51-4a11-aca8-acf256cfd861', - 'description': null, - 'name': 'VfVgeraldine..base_vflorence..module-0', - 'version': '2', - 'modelCustomizationName': 'VfVgeraldine..base_vflorence..module-0', - 'properties': {'minCountInstances': 1, 'maxCountInstances': 1, 'initialCount': 1} - } - }, - 'pnfs': {} - } - } - )); - } }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts index c9a89cf6f..56d708bb9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/available-models-tree/available-models-tree.service.ts @@ -77,7 +77,13 @@ export class AvailableModelsTreeService { shouldOpenVRFModal(nodes, serviceModelId: string , service) { for(const node of nodes){ if(node.type === 'VRF' && service.serviceInstance[serviceModelId].existingVRFCounterMap && !service.serviceInstance[serviceModelId].existingVRFCounterMap[node.modelUniqueId]){ - const vrfModel : VrfModel = node.getModel(node.name, node, service.serviceInstance[serviceModelId]); + const serviceHierarchy = service.serviceHierarchy[serviceModelId]; + + const instanceModel = this._sharedTreeService.modelByIdentifiers( + serviceHierarchy, node.modelTypeName, node.modelCustomizationId, node.name + ); + + const vrfModel : VrfModel = node.getModel(instanceModel); const vrfCounter : number = service.serviceInstance[serviceModelId].existingVRFCounterMap[node.modelUniqueId]; console.log('vrfCounter', vrfCounter); if(vrfModel.min > 0 && (_.isNil(vrfCounter) || vrfCounter === 0)){ diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html index 7a18bce89..2c046785d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.html @@ -2,12 +2,12 @@ <div class="left-header"> <span class="vid-logo-small"></span> <span class="icon-back"> - <svg-icon + <custom-icon (click)="closePage()" [testId]="'backBtn'" [size]="'large'" [name]="'navigation-arrow-back'"> - </svg-icon> + </custom-icon> </span> <div class="header-col middleDetails" style="padding-top: 7px;padding-left: 13px;line-height: 100%;" *ngIf="isServiceFailed"> @@ -59,12 +59,12 @@ <ng-template *ngIf="mode !== 'CREATE'" contextMenuItem (execute)="drawingBoardHeaderService.showAuditInfo(serviceModelId)"> <div [attr.data-tests-id]="'context-menu-header-audit-item'" style="float: left;margin-top: 8px;"> - <svg-icon + <custom-icon [ngClass]="'eye-o'" class="eye-o" [size]="'small'" [name]="'eye-o'"> - </svg-icon></div> + </custom-icon></div> <div style="padding-left: 12px;">Show Audit Info</div> </ng-template> <ng-template *ngIf="drawingBoardHeaderService?.showResumeService(serviceModelId)" contextMenuItem diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts index 8228f9531..395b5f3bf 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.component.ts @@ -80,7 +80,7 @@ export class DrawingBoardHeader { } - @ViewChild(ContextMenuComponent) public contextMenu: ContextMenuComponent; + @ViewChild(ContextMenuComponent, {static: false}) public contextMenu: ContextMenuComponent; editViewEdit(): void { window.parent.location.assign(this._drawingBoardHeaderService.generateOldViewEditPath()); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts index 7e28b2a65..8ecb3963a 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts @@ -26,6 +26,7 @@ class MockAppStore<T>{ } } +class MockDragAndDropService<T> {} describe('Generate path to old View/Edit ', () => { let injector; let service: DrawingBoardHeaderService; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.ts index 96e50178b..2daaaaf71 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/dragAndDrop/dragAndDrop.service.ts @@ -1,9 +1,7 @@ import {Injectable} from "@angular/core"; import {NgRedux} from "@angular-redux/store"; import {AppState} from "../../../../shared/store/reducers"; -import {DragAndDropModel} from "./dragAndDrop.model"; import {FeatureFlagsService, Features} from "../../../../shared/services/featureFlag/feature-flags.service"; -import * as _ from 'lodash'; @Injectable() export class DragAndDropService { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts index 4ad1b06cf..1a42db403 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.component.ts @@ -13,7 +13,6 @@ import {DrawingBoardTreeService, TreeNodeContextMenuModel} from "./drawing-board import {NetworkPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service"; import {VfModulePopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service"; import {VnfPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service"; -import {SdcUiServices} from "onap-ui-angular"; import {HighlightPipe} from "../../../shared/pipes/highlight/highlight-filter.pipe"; import {VnfGroupPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service"; import {ObjectToInstanceTreeService} from "../objectsToTree/objectToInstanceTree/objectToInstanceTree.service"; @@ -29,6 +28,7 @@ import {ComponentInfoModel} from "../component-info/component-info-model"; import {ObjectToModelTreeService} from "../objectsToTree/objectToModelTree/objectToModelTree.service"; import {DrawingBoardModes} from "../drawing-board.modes"; import {ServiceInstanceActions} from "../../../shared/models/serviceInstanceActions"; +import {ModalService} from "../../../shared/components/customModal/services/modal.service"; @Component({ selector: 'drawing-board-tree', @@ -52,7 +52,7 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { static triggerDeleteActionService: Subject<string> = new Subject<string>(); static triggerUndoDeleteActionService: Subject<string> = new Subject<string>(); static triggerreCalculateIsDirty: Subject<string> = new Subject<string>(); - @ViewChild(ContextMenuComponent) public contextMenu: ContextMenuComponent; + @ViewChild(ContextMenuComponent, {static: false}) public contextMenu: ContextMenuComponent; constructor(private _contextMenuService: ContextMenuService, private _iframeService: IframeService, @@ -60,7 +60,7 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { private store: NgRedux<AppState>, private route: ActivatedRoute, private _duplicateService: DuplicateService, - private modalService: SdcUiServices.ModalService, + private modalService: ModalService, private _drawingBoardTreeService: DrawingBoardTreeService, private _networkPopupService: NetworkPopupService, private _vfModulePopuopService: VfModulePopupService, @@ -120,7 +120,7 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { @Output() highlightNode: EventEmitter<number> = new EventEmitter<number>(); - @ViewChild('tree') tree: TreeComponent; + @ViewChild('tree', {static: false}) tree: TreeComponent; missingDataTooltip: string = Constants.Error.MISSING_VNF_DETAILS; currentNode: ITreeNode = null; flags: any; @@ -228,7 +228,13 @@ export class DrawingBoardTreeComponent implements OnInit, AfterViewInit { this.highlightNode.emit(node.data.modelUniqueId); if (FeatureFlagsService.getFlagState(Features.FLAG_1906_COMPONENT_INFO, this.store)) { const serviceHierarchy = this._store.getState().service.serviceHierarchy[this.serviceModelId]; - const model = node.data.getModel(node.data.modelName, node.data, serviceHierarchy); + + const instanceModel = this._sharedTreeService.modelByIdentifiers( + serviceHierarchy, node.data.modelTypeName, + this._sharedTreeService.modelUniqueNameOrId(node.data), node.data.modelName + ); + + const model = node.data.getModel(instanceModel); const modelInfoItems = node.data.getInfo(model, node.data); const componentInfoModel: ComponentInfoModel = this._sharedTreeService.addGeneralInfoItems(modelInfoItems, node.data.componentInfoType, model, node.data); ComponentInfoService.triggerComponentInfoChange.next(componentInfoModel); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html index ea2362949..610986279 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-tree/drawing-board-tree.html @@ -41,12 +41,12 @@ <div><span title="{{node.data.type}}" [attr.data-tests-id]="'node-type-indicator'">{{node?.data?.typeName}}</span></div> <div *ngIf="isLinkedInstance(node?.data)"> - <svg-icon + <custom-icon [ngClass]="'link'" class="icon-link" [size]="'small'" [name]="'link'"> - </svg-icon> + </custom-icon> </div> </div> <div class="model-info" [ngClass]="{'rightBorder' : pageMode === 'VIEW'}"> @@ -78,12 +78,12 @@ [enabled]="isEnabled(currentNode, serviceModelId, contextMenuOption.methodName)"> <div [attr.data-tests-id]="contextMenuOption.dataTestId"> <div style="float: left;margin-top: 3px;"> - <svg-icon + <custom-icon class="icon-edit" [ngClass]="contextMenuOption.iconClass" [size]="'small'" [name]="contextMenuOption.iconClass"> - </svg-icon></div> + </custom-icon></div> <div style="padding-left: 25px;">{{getcontextMenuOptionLabel(contextMenuOption)}}</div> </div> </ng-template> @@ -95,12 +95,12 @@ tooltipPlacement="left" [attr.data-tests-id]="'node-'+ node.data.modelId + '-' + node.data.modelName +'-alert-icon'" class="icon-alert"> - <svg-icon + <custom-icon [mode]="'warning'" [testId]="'icon-alert'" [size]="'medium'" [name]="'alert-triangle-o'"> - </svg-icon> + </custom-icon> </span> </div> diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts index 6423e8ad1..2f8ece283 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.spec.ts @@ -2,12 +2,12 @@ import {DuplicateService} from './duplicate.service'; import {LogService} from '../../../shared/utils/log/log.service'; import {NgRedux} from '@angular-redux/store'; import {ITreeNode} from "angular-tree-component/dist/defs/api"; -import {SdcUiServices} from "onap-ui-angular"; -import {IModalConfig} from 'onap-ui-angular/dist/components/common'; import {AppState} from "../../../shared/store/reducers"; import {getTestBed, TestBed} from "@angular/core/testing"; import {FeatureFlagsService} from "../../../shared/services/featureFlag/feature-flags.service"; import {SharedTreeService} from "../objectsToTree/shared.tree.service"; +import {IModalConfig} from "../../../shared/components/customModal/models/modal.model"; +import {ModalService} from "../../../shared/components/customModal/services/modal.service"; class MockAppStore<T> { getState(){ @@ -73,7 +73,7 @@ describe('Drawing board tree service', () => { LogService, {provide: FeatureFlagsService, useClass: MockFeatureFlagsService}, {provide: NgRedux, useClass: MockAppStore}, - {provide: SdcUiServices.ModalService, useClass: MockModalService} + {provide: ModalService, useClass: MockModalService} ] }); await TestBed.compileComponents(); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts index c8338cbfc..c3a5a28c0 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/duplicate/duplicate.service.ts @@ -8,19 +8,20 @@ import {VfModuleMap} from "../../../shared/models/vfModulesMap"; import * as _ from "lodash"; import {DefaultDataGeneratorService} from "../../../shared/services/defaultDataServiceGenerator/default.data.generator.service"; import {TypeNodeInformation} from "../typeNodeInformation.model"; -import {SdcUiCommon, SdcUiServices} from "onap-ui-angular"; +import {SdcUiCommon} from "onap-ui-angular"; import {changeInstanceCounter, duplicateBulkInstances} from "../../../shared/storeUtil/utils/general/general.actions"; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; import {FeatureFlagsService} from "../../../shared/services/featureFlag/feature-flags.service"; import {Utils} from "../../../shared/utils/utils"; import {SharedTreeService} from "../objectsToTree/shared.tree.service"; +import {ModalService} from "../../../shared/components/customModal/services/modal.service"; @Injectable() export class DuplicateService { constructor(private _logService: LogService, private sharedTreeService : SharedTreeService, - private _store: NgRedux<AppState>, modalService: SdcUiServices.ModalService) { + private _store: NgRedux<AppState>, modalService: ModalService) { this.modalService = modalService; } @@ -35,7 +36,7 @@ export class DuplicateService { maxNumberOfDuplicate: number = 0; storeKey: string = null; padding = '0000'; - modalService: SdcUiServices.ModalService; + modalService: ModalService; store: NgRedux<AppState>; existingNames: { [key: string]: any }; currentNode: ITreeNode = null; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts index 5ae64376a..eae534c08 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/basic.model.info.ts @@ -1,6 +1,6 @@ import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../available-models-tree/available-models-tree.service"; -import {ComponentInfoModel, ComponentInfoType} from "../../component-info/component-info-model"; +import {ComponentInfoType} from "../../component-info/component-info-model"; import {ModelInformationItem} from "../../../../shared/components/model-information/model-information.component"; export interface ILevelNodeInfo { @@ -44,12 +44,11 @@ export interface ILevelNodeInfo { updatePosition(node, that, instanceId, parentStoreKey?) : void; /*********************************************************** - * return object instance - * @param modelId - The model id - * @param serviceHierarchy - The serviceHierarchy store - * @param instance - existing instance details + * return a NodeModel object instance + * @param instanceModel - The model of the instance (usually extracted from + * serviceHierarchy store) ************************************************************/ - getModel(modelId: string, instance: any, serviceHierarchy): any; + getModel(instanceModel: any): any; /*********************************************************** * return dynamic inputs of current model @@ -63,8 +62,9 @@ export interface ILevelNodeInfo { * @param model - The model of current object * @param parentModel * @param storeKey - instance storeKey if exist (for duplicate) + * @param serviceModelId ************************************************************/ - createInstanceTreeNode(instance: any, model: any, parentModel: any, storeKey: string): any + createInstanceTreeNode(instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any /*********************************************************** * return if instance has some missing data diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts index f8ce819f7..2f143fa37 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.spec.ts @@ -24,7 +24,7 @@ describe('Collection Resource Model Info', () => { let collectionResourceModel: CollectionResourceModelInfo; let _sharedTreeService : SharedTreeService; - beforeEach(() => { + beforeEach(done => (async () => { TestBed.configureTestingModule({ imports: [HttpClientTestingModule, NgReduxTestingModule], providers: [ @@ -38,16 +38,17 @@ describe('Collection Resource Model Info', () => { FeatureFlagsService, ComponentInfoService, IframeService] - }).compileComponents(); - + }); + await TestBed.compileComponents(); injector = getTestBed(); _store = injector.get(NgRedux); _componentInfoService = injector.get(ComponentInfoService); + _sharedTreeService = injector.get(SharedTreeService); collectionResourceModel = new CollectionResourceModelInfo(_store, _sharedTreeService); - }); + })().then(done).catch(done.fail)); test('collection resource should be defined', () => { expect(collectionResourceModel).toBeDefined(); @@ -82,10 +83,7 @@ describe('Collection Resource Model Info', () => { }); test('getModel should return collectionResource model', () => { - let model: CollectionResourceModel = collectionResourceModel.getModel('CR_sanity 0', <any>{ - originalName : 'CR_sanity 0' - }, getServiceHierarchy()); - expect(model.type).toEqual('CR'); + expect(collectionResourceModel.getModel({})).toBeInstanceOf(CollectionResourceModel); }); test('cr getMenuAction: delete', ()=>{ @@ -100,1108 +98,4 @@ describe('Collection Resource Model Info', () => { expect(result['delete']['method']).toHaveBeenCalledWith(node, serviceModelId); }); - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "vidNotions": { - "instantiationUI": "legacy", - "modelCategory": "other" - } - }, - "collectionResources": { - "CR_sanity 0": { - "uuid": "3467f91f-1a2a-4013-a5ed-8ad99d4e06ad", - "invariantUuid": "d0060da6-82b8-4ca0-9758-5eb2b111b926", - "description": "CR_sanity", - "name": "CR_sanity", - "version": "1.0", - "customizationUuid": "7160c618-9314-4c09-8717-b77f3d29d946", - "inputs": {}, - "commands": {}, - "properties": { - "cr_sanity..Fixed..0_quantity": "10", - "cr_sanity..NetworkCollection..0_network_collection_function": "ABCD", - "ecomp_generated_naming": "false", - "cr_sanity..NetworkCollection..0_network_collection_description": "ABCD" - }, - "type": "CR", - "category": "Network L2-3", - "subcategory": "Infrastructure", - "resourceVendor": "ATT", - "resourceVendorRelease": "2018.06", - "resourceVendorModelNumber": "", - "customizationUUID": "7160c618-9314-4c09-8717-b77f3d29d946", - "networksCollection": { - "cr_sanity..NetworkCollection..0": { - "uuid": "445d7fa8-3e59-4606-bd76-30ba5fc677d3", - "invariantUuid": "9dc623b8-0ae8-47ad-a791-a21b8d8e94a8", - "name": "cr_sanity..NetworkCollection..0", - "version": "1", - "networkCollectionProperties": { - "networkCollectionFunction": "ABCD", - "networkCollectionDescription": "ABCD" - } - } - } - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {}, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } - }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts index 564e04bc2..d144837a9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/collectionResource/collectionResource.model.info.ts @@ -28,17 +28,15 @@ export class CollectionResourceModelInfo implements ILevelNodeInfo{ updateDynamicInputsDataFromModel = (currentModel): any => []; - getModel = (collectionResourceModelId: string, instance: CollectionResourceInstance, serviceHierarchy): CollectionResourceModel => { - const originalModelName = instance.originalName ? instance.originalName : collectionResourceModelId; - return new CollectionResourceModel(serviceHierarchy[this.name][originalModelName]); + getModel = (instanceModel): CollectionResourceModel => { + return new CollectionResourceModel(instanceModel); }; - - createInstanceTreeNode = (instance: CollectionResourceInstance, model: CollectionResourceModel, parentModel, storeKey: string): CollectionResourceTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new CollectionResourceTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; return node; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts index 6b67de6aa..aa69b5362 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.spec.ts @@ -1,11 +1,12 @@ import {HttpClientTestingModule} from "@angular/common/http/testing"; -import {TestBed} from "@angular/core/testing"; +import {getTestBed, TestBed} from "@angular/core/testing"; import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {DynamicInputsService} from "../../dynamicInputs.service"; import {ConfigurationModelInfo} from "./configuration.model.info"; import {SharedTreeService} from "../../shared.tree.service"; describe('Vnf Model Info', () => { + let injector; let _dynamicInputsService : DynamicInputsService; let _sharedTreeService : SharedTreeService; @@ -18,6 +19,9 @@ describe('Vnf Model Info', () => { DynamicInputsService] }); await TestBed.compileComponents(); + + injector = getTestBed(); + _sharedTreeService = injector.get(SharedTreeService); })().then(done).catch(done.fail)); test('ConfigurationModelInfo should be defined', () => { @@ -50,1451 +54,8 @@ describe('Vnf Model Info', () => { test('getModel should return Configuration model', () => { let configurationModelInfo: ConfigurationModelInfo = new ConfigurationModelInfo(_dynamicInputsService, _sharedTreeService); - let model = configurationModelInfo.getModel('2017-388_PASQUALE-vPE 1__configuration', getServiceHierarchy()); - expect(model.uuid).toEqual('0903e1c0-8e03-4936-b5c2-260653b96413'); + let model = configurationModelInfo.getModel({ uuid: 'foo' }); + expect(model.uuid).toEqual('foo'); }); - - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": { - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": {} - } - }, - "collectionResources": {}, - "configurations": { - "2017-388_PASQUALE-vPE 1__configuration": { - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": {} - } - - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts index 0d1a9aade..9845fb69b 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/configuration/configuration.model.info.ts @@ -26,20 +26,16 @@ export class ConfigurationModelInfo implements ILevelNodeInfo{ getType = () : string => "Configuration"; /*********************************************************** - * return configuration model - * @param configurationModelId - current Model id - * @param serviceHierarchy - serviceHierarchy + * @param instanceModel - The model of the instance (usually extracted from serviceHierarchy store) ************************************************************/ - getModel = (configurationModelId : string, serviceHierarchy) : any =>{ - if(!_.isNil(serviceHierarchy)){ - if(!_.isNil(serviceHierarchy[this.name]) && !_.isNil(serviceHierarchy[this.name][configurationModelId])){ - return serviceHierarchy[this.name][configurationModelId]; - } + getModel = (instanceModel: any) : any =>{ + if (!_.isNil(instanceModel)) { + return instanceModel; } return {}; }; - createInstanceTreeNode(instance: any, model: any, storeKey: string): any {return null;} + createInstanceTreeNode(instance: any, model: any, storeKey: string, serviceModelId: string): any {return null;} childNames: string[]; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts index 6c8382808..951145870 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.spec.ts @@ -69,7 +69,7 @@ describe('NCF Model Info', () => { typeName: "NCF" }; - const ncfTreeNode: NcfTreeNode = ncfModel.createInstanceTreeNode(instance, {}, parentModel, "6b3536cf-3a12-457f-abb5-fa2203e0d923"); + const ncfTreeNode: NcfTreeNode = ncfModel.createInstanceTreeNode(instance, {}, parentModel, "6b3536cf-3a12-457f-abb5-fa2203e0d923", "dd182d7d-6949-4b90-b3cc-5befe400742e"); expect(ncfTreeNode).toMatchObject(expected); }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts index 4db41c0d1..650d975c9 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/ncf/ncf.model.info.ts @@ -32,12 +32,12 @@ export class NcfModelInfo implements ILevelNodeInfo { updateDynamicInputsDataFromModel = (currentModel): any => []; - getModel = (modelId: string, instance: any, serviceHierarchy): any => { + getModel = (instanceModel: any): any => { return new Level1Model(); }; - createInstanceTreeNode = (instance: Level1Instance, model: Level1Model, parentModel, storeKey: string): NcfTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let modelVersion: string = null; if (parentModel.networksCollection && instance.originalName) { const ncfRealModel: NcfModelInterface = parentModel.networksCollection[instance.originalName]; @@ -47,7 +47,7 @@ export class NcfModelInfo implements ILevelNodeInfo { } let node = new NcfTreeNode(instance, model, storeKey, modelVersion); - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.typeName = this.typeName; return node; }; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts index f26ab0cf1..bb8e88288 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.spec.ts @@ -13,6 +13,7 @@ import {IframeService} from "../../../../../shared/utils/iframe.service"; import {DuplicateService} from "../../../duplicate/duplicate.service"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {NetworkModel} from "../../../../../shared/models/networkModel"; class MockAppStore<T> { getState() { @@ -146,8 +147,7 @@ describe('Network Model Info', () => { }); test('getModel should return Network model', () => { - let model = networkModel.getModel('2017-388_PASQUALE-vPE 1_1', <any>{}, getServiceHierarchy()); - expect(model.type).toEqual('VL'); + expect(networkModel.getModel({})).toBeInstanceOf(NetworkModel); }); test('showNodeIcons should return false if reachLimit of max', () => { @@ -387,1259 +387,4 @@ describe('Network Model Info', () => { }; } - - function getServiceHierarchy() { - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": { - "2017-388_PASQUALE-vPE 1_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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": "VL", - "modelCustomizationName": "2017-388_PASQUALE-vPE 1", - "vfModules": {}, - "volumeGroups": {}, - "vfcInstanceGroups": {} - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts index 486ac93c0..ce1af451c 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/network/network.model.info.ts @@ -1,13 +1,15 @@ import {DynamicInputsService} from "../../dynamicInputs.service"; import {ILevelNodeInfo} from "../basic.model.info"; -import {NetworkInstance} from "../../../../../shared/models/networkInstance"; import {NetworkModel} from "../../../../../shared/models/networkModel"; import {NetworkTreeNode} from "../../../../../shared/models/networkTreeNode"; import {SharedTreeService} from "../../shared.tree.service"; import {InputType} from "../../../../../shared/models/inputTypes"; import {NgRedux} from "@angular-redux/store"; import {AppState} from "../../../../../shared/store/reducers"; -import {GenericFormPopupComponent, PopupType} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component"; +import { + GenericFormPopupComponent, + PopupType +} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component"; import {DialogService} from "ng2-bootstrap-modal"; import {NetworkPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/network/network.popup.service"; import * as _ from "lodash"; @@ -16,14 +18,18 @@ import {AvailableNodeIcons} from "../../../available-models-tree/available-model import {DuplicateVnfComponent} from "../../../duplicate/duplicate-vnf.component"; import {changeInstanceCounter, removeInstance} from "../../../../../shared/storeUtil/utils/general/general.actions"; import {IframeService} from "../../../../../shared/utils/iframe.service"; -import {SdcUiServices} from "onap-ui-angular"; import {DuplicateService} from "../../../duplicate/duplicate.service"; import {ServiceInstanceActions} from "../../../../../shared/models/serviceInstanceActions"; -import {deleteActionNetworkInstance, undoDeleteActionNetworkInstance, updateNetworkPosition} from "../../../../../shared/storeUtil/utils/network/network.actions"; +import { + deleteActionNetworkInstance, + undoDeleteActionNetworkInstance, + updateNetworkPosition +} from "../../../../../shared/storeUtil/utils/network/network.actions"; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; import {ComponentInfoType} from "../../../component-info/component-info-model"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {ModalService} from "../../../../../shared/components/customModal/services/modal.service"; export class NetworkModelInfo implements ILevelNodeInfo { constructor(private _dynamicInputsService: DynamicInputsService, @@ -31,7 +37,7 @@ export class NetworkModelInfo implements ILevelNodeInfo { private _dialogService: DialogService, private _networkPopupService: NetworkPopupService, private _duplicateService: DuplicateService, - private modalService: SdcUiServices.ModalService, + private modalService: ModalService, private _iframeService: IframeService, private _featureFlagsService: FeatureFlagsService, private _store: NgRedux<AppState>) { @@ -58,14 +64,13 @@ export class NetworkModelInfo implements ILevelNodeInfo { }; /*********************************************************** - * return network model - * @param networkModelId - current Model id - * @param instance - * @param serviceHierarchy - serviceHierarchy + * return a NodeModel object instance + * @param instanceModel - The model of the instance (usually extracted from serviceHierarchy store) ************************************************************/ - getModel = (networkModelId: string, instance: NetworkInstance, serviceHierarchy): NetworkModel => { - const originalModelName = instance.originalName ? instance.originalName : networkModelId; - return new NetworkModel(serviceHierarchy[this.name][originalModelName], this._featureFlagsService.getAllFlags()); + getModel = (instanceModel: any): NetworkModel => { + return new NetworkModel( + instanceModel, + this._featureFlagsService.getAllFlags()); }; @@ -76,11 +81,11 @@ export class NetworkModelInfo implements ILevelNodeInfo { * @param parentModel * @param storeKey - store key if exist ************************************************************/ - createInstanceTreeNode = (instance: NetworkInstance, model: NetworkModel, parentModel, storeKey: string): NetworkTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new NetworkTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node = this._sharedTreeService.addingStatusProperty(node); @@ -225,8 +230,8 @@ export class NetworkModelInfo implements ILevelNodeInfo { }); } }, - visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node), - enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node) + visible: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => node.data.parentType !== 'VRF' && this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete: { method: (node, serviceModelId) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts index ca041e045..8675d36f2 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.spec.ts @@ -14,14 +14,17 @@ import {MockNgRedux, NgReduxTestingModule} from "@angular-redux/store/testing"; import {HttpClient, HttpHandler} from "@angular/common/http"; import {CollectionResourceModel} from "../../../../../shared/models/collectionResourceModel"; import {ComponentInfoType} from "../../../component-info/component-info-model"; +import {VNFModel} from "../../../../../shared/models/vnfModel"; +import {PNFModel} from "../../../../../shared/models/pnfModel"; describe('PNF model info', () => { let injector; let _componentInfoService: ComponentInfoService; let _store: NgRedux<AppState>; - let pnfModel: PnfModelInfo = new PnfModelInfo(); - beforeEach(() => { + let _sharedTreeService; + let pnfModel: PnfModelInfo; + beforeEach(done => (async () => { TestBed.configureTestingModule({ imports: [HttpClientTestingModule, NgReduxTestingModule], providers: [ @@ -35,12 +38,14 @@ describe('PNF model info', () => { FeatureFlagsService, ComponentInfoService, IframeService] - }).compileComponents(); - + }); + await TestBed.compileComponents(); injector = getTestBed(); _store = injector.get(NgRedux); + _sharedTreeService = injector.get(SharedTreeService); + pnfModel = new PnfModelInfo(_sharedTreeService); _componentInfoService = injector.get(ComponentInfoService); - }); + })().then(done).catch(done.fail)); test('pnf model should be defined', () => { expect(pnfModel).toBeDefined(); @@ -74,61 +79,7 @@ describe('PNF model info', () => { }); test('getModel should return pnf model', () => { - let model: CollectionResourceModel = pnfModel.getModel('PNF1', <any>{ - originalName : 'PNF1' - }, getServiceHierarchy()); - expect(model.type).toEqual('PNF'); + expect(pnfModel.getModel({})).toBeInstanceOf(PNFModel); }); - function getServiceHierarchy(){ - return { - "service": { - "uuid": "12550cd7-7708-4f53-a09e-41d3d6327ebc", - "invariantUuid": "561faa57-7bbb-40ec-a81c-c0d4133e98d4", - "name": "AIM Transport SVC_ym161f", - "version": "1.0", - "toscaModelURL": null, - "category": "Network L1-3", - "serviceType": "TRANSPORT", - "serviceRole": "AIM", - "description": "AIM Transport service", - "serviceEcompNaming": "true", - "instantiationType": "Macro", - "inputs": {}, - "vidNotions": { - "instantiationUI": "legacy", - "modelCategory": "other", - "viewEditUI": "legacy" - } - }, - "vnfs": {}, - "networks": {}, - "collectionResources": {}, - "configurations": {}, - "fabricConfigurations": {}, - "serviceProxies": {}, - "vfModules": {}, - "volumeGroups": {}, - "pnfs": { - "PNF1": { - "uuid": "1c831fa9-28a6-4778-8c1d-80b9e769f2ed", - "invariantUuid": "74e13a12-dac9-4fba-b102-cd242d9e7f02", - "description": "AIM Transport service", - "name": "AIM PNF Model", - "version": "1.0", - "customizationUuid": "dce78da7-c842-47a1-aba2-2de1cd03ab7a", - "inputs": {}, - "commands": {}, - "properties": { - "nf_function": "SDNGW", - "nf_role": "pD2IPE", - "ecomp_generated_naming": "false", - "nf_type": "ROUTER" - }, - "type": "PNF" - } - }, - "vnfGroups": {} - } - } }) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts index dc01b87ef..a7931b232 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/pnf/pnf.model.info.ts @@ -5,12 +5,15 @@ import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; import {PnfInstance} from "app/shared/models/pnfInstance"; import {PNFModel} from "../../../../../shared/models/pnfModel"; -import {PnfTreeNode} from "../../../../../shared/models/pnfTreeNode"; +import {SharedTreeService} from "../../shared.tree.service"; +import {NodeModelResponseInterface} from "../../../../../shared/models/nodeModel"; export class PnfModelInfo implements ILevelNodeInfo{ - constructor(){} + constructor( + private _sharedTreeService: SharedTreeService, + ){} name: string = 'pnfs'; type: string ='PNF'; @@ -18,7 +21,7 @@ export class PnfModelInfo implements ILevelNodeInfo{ childNames: string[]; componentInfoType = ComponentInfoType.PNF; - createInstanceTreeNode = (instance: PnfInstance, model: PNFModel, parentModel: any, storeKey: string): PnfTreeNode => null; + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => null; getInfo(model, instance): ModelInformationItem[] { return []; @@ -28,9 +31,8 @@ export class PnfModelInfo implements ILevelNodeInfo{ return {}; } - getModel = (pnfModelId: string, instance: PnfInstance, serviceHierarchy): PNFModel => { - const originalModelName = instance.originalName ? instance.originalName : pnfModelId; - return new PNFModel(serviceHierarchy[this.name][originalModelName]); + getModel = (instanceModel: any): PNFModel => { + return new PNFModel(instanceModel); }; getNextLevelObject(): any { return null; } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts index 59ef35abb..8073d1727 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.spec.ts @@ -109,10 +109,7 @@ describe('Related Vnf member Model Info', () => { }); test('getModel should return VNF model', () => { - let model: VNFModel = relatedVnfMemeber.getModel('2017-388_PASQUALE-vPE 1', <any>{ - originalName : '2017-388_PASQUALE-vPE 1' - }, getServiceHierarchy()); - expect(model.type).toEqual('VF'); + expect(relatedVnfMemeber.getModel({})).toBeInstanceOf(VNFModel); }); @@ -141,1073 +138,4 @@ describe('Related Vnf member Model Info', () => { expect(result['undoDelete']['method']).toHaveBeenCalledWith(node, serviceModelId); }); - - - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts index c8807e87d..fdd4c222d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/relatedVnfMember/relatedVnfMember.info.model.ts @@ -11,7 +11,6 @@ import { removeRelatedVnfMemberInstance, undoDeleteActionRelatedVnfMemberInstance } from "../../../../../shared/storeUtil/utils/relatedVnfMember/relatedVnfMember.actions"; -import {VnfInstance} from "../../../../../shared/models/vnfInstance"; import {VNFModel} from "../../../../../shared/models/vnfModel"; import {VnfTreeNode} from "../../../../../shared/models/vnfTreeNode"; import {InputType} from "../../../../../shared/models/inputTypes"; @@ -48,14 +47,12 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { }; /*********************************************************** - * return vnf model - * @param vnfModelId - current Model id - * @param instance - vnf instance - * @param serviceHierarchy - serviceHierarchy + * return a NodeModel object instance + * @param instanceModel - The model of the instance (usually extracted from + * serviceHierarchy store) ************************************************************/ - getModel = (vnfModelId: string, instance: VnfInstance, serviceHierarchy): VNFModel => { - const originalModelName = instance.originalName ? instance.originalName : vnfModelId; - return new VNFModel(serviceHierarchy[this.name][originalModelName]); + getModel = (instanceModel: any): VNFModel => { + return new VNFModel(instanceModel); }; @@ -65,12 +62,13 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { * @param model - vnf model * @param parentModel * @param storeKey - store key if exist + * @param serviceModelId ************************************************************/ - createInstanceTreeNode = (instance: VnfInstance, model: VNFModel, parentModel, storeKey: string): VnfTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new VnfTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage: ""; node = this._sharedTreeService.addingStatusProperty(node); @@ -128,8 +126,8 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { method : (node, serviceModelId) => { this._store.dispatch(deleteActionRelatedVnfMemberInstance(node.parent.data.vnfGroupStoreKey, node.data.vnfStoreKey, serviceModelId)); }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete : { method : (node, serviceModelId) => { @@ -137,7 +135,7 @@ export class RelatedVnfMemberInfoModel implements ILevelNodeInfo { }, visible: (node) => this._sharedTreeService.shouldShowUndoDelete(node), - enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && this._sharedTreeService.shouldShowDelete(node.parent) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) + enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && this._sharedTreeService.shouldShowDelete(node.parent, serviceModelId) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) } } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts index 216231813..c225687ea 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.spec.ts @@ -128,7 +128,29 @@ describe('VFModule Model Info', () => { }); test('getModel should return Module model', () => { - let model = vfModuleModel.getModel('2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1',null, getServiceHierarchy()); + let model = vfModuleModel.getModel({ + "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": 2, + "maxCountInstances": 3, + "initialCount": 0, + "vfModuleLabel": "PASQUALE_vRE_BV", + "baseModule": false + }, + "inputs": { + "vnf_config_template_version": { + "type": "string" + } + }, + "volumeGroupAllowed": true + }); + expect(model).toBeInstanceOf(VfModule); expect(model.uuid).toEqual('25284168-24bb-4698-8cb4-3f509146eca5'); expect(model.min).toBe(2); expect(model.max).toBe(3); @@ -629,938 +651,4 @@ describe('VFModule Model Info', () => { }; } - - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": 2, - "maxCountInstances": 3, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV", - "baseModule": false - }, - "inputs": { - "vnf_config_template_version": { - "type": "string" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": 2, - "maxCountInstances": 3, - "initialCount": 0, - "vfModuleLabel": "PASQUALE_vRE_BV", - "baseModule": false - }, - "inputs": { - "vnf_config_template_version": { - "type": "string" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts index 36b5ed072..f442e1504 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vfModule/vfModule.model.info.ts @@ -74,20 +74,17 @@ export class VFModuleModelInfo implements ILevelNodeInfo { /*********************************************************** * return vfModule model - * @param vfModuleModelId - current Model id - * @param instance - * @param serviceHierarchy - serviceHierarchy + * @param instanceModel - The model of the instance (usually extracted from + * serviceHierarchy store) ************************************************************/ - getModel = (vfModuleModelId: string, instance, serviceHierarchy): Partial<VfModule> => { - if (!_.isNil(serviceHierarchy)) { - if (!_.isNil(serviceHierarchy[this.name]) && !_.isNil(serviceHierarchy[this.name][vfModuleModelId])) { - return new VfModule(serviceHierarchy[this.name][vfModuleModelId], this._featureFlagsService.getAllFlags()); - } + getModel = (instanceModel: any): Partial<VfModule> => { + if (!_.isNil(instanceModel)) { + return new VfModule(instanceModel, this._featureFlagsService.getAllFlags()); } return {}; }; - createNode(instance: VfModuleInstance, currentModel: VfModule, parentModel: VNFModel, modelName: string, index: number): VfModuleTreeNode { + createNode(instance: VfModuleInstance, currentModel: VfModule, parentModel: VNFModel, modelName: string, index: number, serviceModelId: string): VfModuleTreeNode { let dynamicModelName = Object.keys(instance)[index]; instance = instance[Object.keys(instance)[index]]; const isEcompGeneratedNaming: boolean = this.isEcompGeneratedNaming(currentModel, parentModel); @@ -97,7 +94,7 @@ export class VFModuleModelInfo implements ILevelNodeInfo { newVfModule.missingData = this._sharedTreeService.hasMissingData(instance, newVfModule.dynamicInputs, isEcompGeneratedNaming, []); newVfModule.typeName = this.typeName; - newVfModule.menuActions = this.getMenuAction(<any>newVfModule, currentModel.uuid); + newVfModule.menuActions = this.getMenuAction(<any>newVfModule, serviceModelId); newVfModule.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; newVfModule.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; @@ -105,16 +102,16 @@ export class VFModuleModelInfo implements ILevelNodeInfo { return newVfModule; } - createInstanceTreeNode(instance: VfModuleInstance, currentModel: VfModule, parentModel: VNFModel, modelName: string): VfModuleTreeNode | VfModuleTreeNode[] { + createInstanceTreeNode(instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any { let numberOfChilds = Object.keys(instance).length; if (numberOfChilds > 1) { let result: VfModuleTreeNode[] = []; for (let i = 0; i < numberOfChilds; i++) { - result.push(this.createNode(instance, currentModel, parentModel, modelName, i)); + result.push(this.createNode(instance, model, parentModel, storeKey, i, serviceModelId)); } return result; } else { - return this.createNode(instance, currentModel, parentModel, modelName, 0); + return this.createNode(instance, model, parentModel, storeKey, 0, serviceModelId); } } @@ -356,8 +353,8 @@ export class VFModuleModelInfo implements ILevelNodeInfo { method: (node, serviceModelId) => { this._store.dispatch(deleteActionVfModuleInstance(node.data.dynamicModelName, node.parent.data.vnfStoreKey, serviceModelId)) }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete: { method: (node, serviceModelId) => { @@ -365,7 +362,7 @@ export class VFModuleModelInfo implements ILevelNodeInfo { this._store.dispatch(deleteVFModuleField(node.data.modelName, node.parent.data.vnfStoreKey, node.data.servicedId ,node.data.dynamicModelName, 'retainAssignments')); }, visible: (node) => this._sharedTreeService.shouldShowUndoDelete(node), - enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && this._sharedTreeService.shouldShowDelete(node.parent) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) + enable: (node, serviceModelId) => this._sharedTreeService.shouldShowUndoDelete(node) && this._sharedTreeService.shouldShowDelete(node.parent, serviceModelId) && !this._sharedTreeService.isServiceOnDeleteMode(serviceModelId) }, upgrade: { method: (node, serviceModelId) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts index f700ed419..53aedddcb 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.spec.ts @@ -145,10 +145,7 @@ describe('Vnf Model Info', () => { }); test('getModel should return VNF model', () => { - let model: VNFModel = vnfModel.getModel('2017-388_PASQUALE-vPE 1', <any>{ - originalName : '2017-388_PASQUALE-vPE 1' - }, getServiceHierarchy()); - expect(model.type).toEqual('VF'); + expect(vnfModel.getModel({})).toBeInstanceOf(VNFModel); }); test('showNodeIcons should return false if reachLimit of max', ()=>{ @@ -607,1072 +604,4 @@ describe('Vnf Model Info', () => { }; } - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "ATLMY8GA" - }, - "ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "mtnj309me6" - } - }, - "commands": { - "vnf_config_template_version": { - "displayName": "vnf_config_template_version", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_config_template_version" - }, - "bandwidth_units": { - "displayName": "bandwidth_units", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth_units" - }, - "bandwidth": { - "displayName": "bandwidth", - "command": "get_input", - "inputName": "pasqualevpe0_bandwidth" - }, - "AIC_CLLI": { - "displayName": "AIC_CLLI", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_AIC_CLLI" - }, - "ASN": { - "displayName": "ASN", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_ASN" - }, - "vnf_instance_name": { - "displayName": "vnf_instance_name", - "command": "get_input", - "inputName": "2017488_pasqualevpe0_vnf_instance_name" - } - }, - "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=false}", - "nf_naming_code": "Navneet", - "vmxvre_name_0": "vREXI", - "vmxvpfe_sriov42_0_port_vlanstrip": "false", - "vmxvpfe_volume_name_0": "vPFEXI_FBVolume", - "max_instances": "3", - "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", - "min_instances": "1", - "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": "false", - "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: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: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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - }, - "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": { - "vnf_config_template_version": { - "type": "string", - "description": "VPE Software Version", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_config_template_version" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_config_template_version", - "constraints": null, - "required": true, - "default": "17.2" - }, - "bandwidth_units": { - "type": "string", - "description": "Units of bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth_units" - }, - "fromInputName": "pasqualevpe0_bandwidth_units", - "constraints": null, - "required": true, - "default": "Gbps" - }, - "bandwidth": { - "type": "string", - "description": "Requested VPE bandwidth", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "bandwidth" - }, - "fromInputName": "pasqualevpe0_bandwidth", - "constraints": null, - "required": true, - "default": "10" - }, - "AIC_CLLI": { - "type": "string", - "description": "AIC Site CLLI", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "AIC_CLLI" - }, - "fromInputName": "2017488_pasqualevpe0_AIC_CLLI", - "constraints": null, - "required": true, - "default": "ATLMY8GA" - }, - "vnf_instance_name": { - "type": "string", - "description": "The hostname assigned to the vpe.", - "entry_schema": null, - "inputProperties": { - "sourceType": "HEAT", - "vfModuleLabel": "PASQUALE_vRE_BV", - "paramName": "vnf_instance_name" - }, - "fromInputName": "2017488_pasqualevpe0_vnf_instance_name", - "constraints": null, - "required": true, - "default": "mtnj309me6" - } - } - }, - "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": {} - } - } - }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts index 355b5c597..d391f4a48 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnf/vnf.model.info.ts @@ -9,7 +9,10 @@ import {SharedTreeService} from "../../shared.tree.service"; import {NgRedux} from "@angular-redux/store"; import {AppState} from "../../../../../shared/store/reducers"; import {DefaultDataGeneratorService} from "../../../../../shared/services/defaultDataServiceGenerator/default.data.generator.service"; -import {GenericFormPopupComponent, PopupType} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component"; +import { + GenericFormPopupComponent, + PopupType +} from "../../../../../shared/components/genericFormPopup/generic-form-popup.component"; import {DialogService} from 'ng2-bootstrap-modal'; import {VnfPopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vnf/vnf.popup.service"; import {VfModulePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModule/vfModule.popup.service"; @@ -17,13 +20,18 @@ import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; import {DuplicateService} from "../../../duplicate/duplicate.service"; import {DuplicateVnfComponent} from "../../../duplicate/duplicate-vnf.component"; -import {SdcUiServices} from "onap-ui-angular"; import {IframeService} from "../../../../../shared/utils/iframe.service"; import {changeInstanceCounter, removeInstance} from "../../../../../shared/storeUtil/utils/general/general.actions"; import {MessageBoxData} from "../../../../../shared/components/messageBox/messageBox.data"; import {MessageBoxService} from "../../../../../shared/components/messageBox/messageBox.service"; import {ServiceInstanceActions} from "../../../../../shared/models/serviceInstanceActions"; -import {deleteActionVnfInstance, undoDeleteActionVnfInstance, undoUpgradeVnf, updateVnfPosition, upgradeVnf} from "../../../../../shared/storeUtil/utils/vnf/vnf.actions"; +import { + deleteActionVnfInstance, + undoDeleteActionVnfInstance, + undoUpgradeVnf, + updateVnfPosition, + upgradeVnf +} from "../../../../../shared/storeUtil/utils/vnf/vnf.actions"; import * as _ from 'lodash'; import {IModalConfig} from "onap-ui-angular/dist/modals/models/modal-config"; import {ComponentInfoType} from "../../../component-info/component-info-model"; @@ -31,6 +39,7 @@ import {ComponentInfoService} from "../../../component-info/component-info.servi import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; import {VfModuleUpgradePopupService} from "../../../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service"; import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; +import {ModalService} from "../../../../../shared/components/customModal/services/modal.service"; export class VnfModelInfo implements ILevelNodeInfo { constructor(private _dynamicInputsService: DynamicInputsService, @@ -41,7 +50,7 @@ export class VnfModelInfo implements ILevelNodeInfo { private _vfModulePopupService: VfModulePopupService, private _vfModuleUpgradePopupService: VfModuleUpgradePopupService, private _duplicateService: DuplicateService, - private modalService: SdcUiServices.ModalService, + private modalService: ModalService, private _iframeService: IframeService, private _componentInfoService: ComponentInfoService, private _featureFlagsService: FeatureFlagsService, @@ -78,24 +87,25 @@ export class VnfModelInfo implements ILevelNodeInfo { * @param instance - vnf instance * @param serviceHierarchy - serviceHierarchy ************************************************************/ - getModel = (vnfModelId: string, instance: VnfInstance, serviceHierarchy): VNFModel => { - const originalModelName = instance.originalName ? instance.originalName : vnfModelId; - return new VNFModel(serviceHierarchy[this.name][originalModelName], this._featureFlagsService.getAllFlags()); + getModel = (instanceModel: any): VNFModel => { + return new VNFModel( + instanceModel, + this._featureFlagsService.getAllFlags()); }; - /*********************************************************** * return vnf instance tree node * @param instance - vnf instance * @param model - vnf model * @param parentModel * @param storeKey - store key if exist + * @param serviceModelId ************************************************************/ - createInstanceTreeNode = (instance: VnfInstance, model: VNFModel, parentModel, storeKey: string): VnfTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new VnfTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node = this._sharedTreeService.addingStatusProperty(node); @@ -260,8 +270,8 @@ export class VnfModelInfo implements ILevelNodeInfo { }); } }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete: { method: (node, serviceModelId) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts index 802047cb9..057cdd349 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.spec.ts @@ -14,6 +14,7 @@ import {DrawingBoardModes} from "../../../drawing-board.modes"; import {AaiService} from "../../../../../shared/services/aaiService/aai.service"; import {FeatureFlagsService} from "../../../../../shared/services/featureFlag/feature-flags.service"; import {ITableContent} from "../../../../../shared/components/searchMembersModal/members-table/element-table-row.model"; +import {VNFModel} from "../../../../../shared/models/vnfModel"; describe('VnfGroupingModelInfo Model Info', () => { let injector; @@ -171,10 +172,7 @@ describe('VnfGroupingModelInfo Model Info', () => { }); test('getModel should return VnfGroup model', () => { - let model: VnfGroupModel = vnfGroupModel.getModel('ResourceGroup0', <any>{ - originalName : 'ResourceGroup0' - }, getServiceHierarchy()); - expect(model.type).toEqual('VnfGroup'); + expect(vnfGroupModel.getModel({})).toBeInstanceOf(VnfGroupModel); }); test('getMenuAction: showAuditInfoVnfGroup', ()=>{ @@ -266,156 +264,5 @@ describe('VnfGroupingModelInfo Model Info', () => { ]); }); - function getServiceHierarchy(){ - return { - "service": { - "uuid": "6b528779-44a3-4472-bdff-9cd15ec93450", - "invariantUuid": "e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0", - "name": "action-data", - "version": "1.0", - "toscaModelURL": null, - "category": "", - "serviceType": "", - "serviceRole": "", - "description": "", - "serviceEcompNaming": "false", - "instantiationType": "Macro", - "inputs": { - "2017488_pasqualevpe0_ASN": { - "type": "string", - "description": "AV/PE", - "entry_schema": null, - "inputProperties": null, - "constraints": [], - "required": true, - "default": "AV_vPE" - } - }, - "vidNotions": { - "instantiationUI": "legacy", - "modelCategory": "other" - } - }, - "vnfGroups": { - "ResourceGroup0": { - "type": "VnfGroup", - "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413", - "invariantUuid": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "version": "1", - "name": "ResourceGroup0", - "modelCustomizationName": "ResourceGroup0", - "properties": { - "contained_resource_type": "VF", - "role": "SERVICE-ACCESS", - "function": "DATA", - "description": "DDD0", - "type": "LOAD-GROUP" - }, - "members": { - "vdorothea_svc_vprs_proxy 0": { - "uuid": "65fadfa8-a0d9-443f-95ad-836cd044e26c", - "invariantUuid": "f4baae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", - "name": "vDOROTHEA_Svc_vPRS Service Proxy", - "version": "1.0", - "customizationUuid": "bdb63d23-e132-4ce7-af2c-a493b4cafac9", - "inputs": {}, - "commands": {}, - "properties": {}, - "type": "Service Proxy", - "sourceModelUuid": "da7827a2-366d-4be6-8c68-a69153c61274", - "sourceModelInvariant": "24632e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "vDOROTHEA_Svc_vPRS" - }, - "vdorothea_svc_vprs_proxy 1": { - "uuid": "111dfa8-a0d9-443f-95ad-836cd044e26c", - "invariantUuid": "111ae0c-b3a5-4ca1-a777-afbffe7010bc", - "description": "A Proxy for Service vDOROTHEA_Svc_vPRS", - "name": "111_Svc_vPRS Service Proxy", - "version": "1.0", - "customizationUuid": "1113d23-e132-4ce7-af2c-a493b4cafac9", - "inputs": {}, - "commands": {}, - "properties": {}, - "type": "Service Proxy", - "sourceModelUuid": "11127a2-366d-4be6-8c68-a69153c61274", - "sourceModelInvariant": "1112e6b-584b-4f45-80d4-fefd75fd9f14", - "sourceModelName": "111_Svc_vPRS" - } - } - } - }, - "networks": {}, - "collectionResources": {}, - "configurations": {}, - "fabricConfigurations": {}, - "serviceProxies": {}, - "vfModules": {}, - "volumeGroups": {}, - "pnfs": {} - } - } - - function loadMockMembers(): any[] { - return [ - { - "action": "None", - "instanceName": "VNF1_INSTANCE_NAME", - "instanceId": "VNF1_INSTANCE_ID", - "orchStatus": null, - "productFamilyId": null, - "lcpCloudRegionId": "hvf23b", - "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", - "tenantName": "APPC-24595-T-IST-02C", - "modelInfo": { - "modelInvariantId": "vnf-instance-model-invariant-id", - "modelVersionId": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", - "modelVersion": "2.0", - "modelName": "vf_vEPDG", - "modelType": "vnf" - }, - "instanceType": "VNF1_INSTANCE_TYPE", - "provStatus": null, - "inMaint": false, - "uuid": "7a6ee536-f052-46fa-aa7e-2fca9d674c44", - "originalName": null, - "legacyRegion": null, - "lineOfBusiness": null, - "platformName": null, - "trackById": "7a6ee536-f052-46fa-aa7e-2fca9d674c44:002", - "serviceInstanceId": "service-instance-id1", - "serviceInstanceName": "service-instance-name" - }, - { - "action": "None", - "instanceName": "VNF2_INSTANCE_NAME", - "instanceId": "VNF2_INSTANCE_ID", - "orchStatus": null, - "productFamilyId": null, - "lcpCloudRegionId": "hvf23b", - "tenantId": "3e9a20a3e89e45f884e09df0cc2d2d2a", - "tenantName": "APPC-24595-T-IST-02C", - "modelInfo": { - "modelInvariantId": "vnf-instance-model-invariant-id", - "modelVersionId": "eb5f56bf-5855-4e61-bd00-3e19a953bf02", - "modelVersion": "1.0", - "modelName": "vf_vEPDG", - "modelType": "vnf" - }, - "instanceType": "VNF2_INSTANCE_TYPE", - "provStatus": null, - "inMaint": true, - "uuid": "eb5f56bf-5855-4e61-bd00-3e19a953bf02", - "originalName": null, - "legacyRegion": null, - "lineOfBusiness": null, - "platformName": null, - "trackById": "eb5f56bf-5855-4e61-bd00-3e19a953bf02:003", - "serviceInstanceId": "service-instance-id2", - "serviceInstanceName": "service-instance-name" - } - ]; - } - }); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts index 148ce22c7..2787c6174 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vnfGrouping/vnfGrouping.model.info.ts @@ -83,21 +83,20 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { getType = (): string => 'VnfGroup'; - createInstanceTreeNode(instance: any, model: any, parentModel: any, storeKey: string): any { + createInstanceTreeNode(instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any { let node = new VnfGroupTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node = this._sharedTreeService.addingStatusProperty(node); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node.limitMembers = (!_.isNil(model.properties.quantity)) ? model.properties.quantity : null; return node; } - getModel(modelId: string, instance: any, serviceHierarchy): any { - const originalModelName = instance.originalName ? instance.originalName : modelId; - return new VnfGroupModel(serviceHierarchy[this.name][originalModelName]); + getModel(instanceModel: any): any { + return new VnfGroupModel(instanceModel); } hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean): boolean { @@ -275,8 +274,8 @@ export class VnfGroupingModelInfo implements ILevelNodeInfo { }); } }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete: { method: (node, serviceModelId) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts index b951162f8..bc657aeee 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vpn/vpn.model.info.ts @@ -29,17 +29,17 @@ export class VpnModelInfo implements ILevelNodeInfo { updateDynamicInputsDataFromModel = (currentModel): any => []; - getModel = (modelId: string, instance: any, serviceHierarchy): any => { + getModel = (instanceModel: any): any => { return new Level1Model(); }; - createInstanceTreeNode = (instance: NetworkInstance, model: any, parentModel, storeKey: string): VpnTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new VpnTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node = this._sharedTreeService.addingStatusProperty(node); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; node = this._sharedTreeService.addingStatusProperty(node); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts index 07d4cee9b..f3e479aca 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.spec.ts @@ -32,6 +32,7 @@ describe('Vrf Model Info', () => { let _iframeService : IframeService; let _networkStepService : NetworkStepService; let _vpnStepService : VpnStepService; + let _featureFlagsService : FeatureFlagsService; let vrfModel: VrfModelInfo; beforeEach(() => { @@ -59,11 +60,12 @@ describe('Vrf Model Info', () => { _dialogService = injector.get(DialogService); _iframeService = injector.get(IframeService); _networkStepService = injector.get(NetworkStepService); + _featureFlagsService = injector.get(FeatureFlagsService); _vpnStepService = injector.get(VpnStepService); _store = injector.get(NgRedux); _componentInfoService = injector.get(ComponentInfoService); - vrfModel = new VrfModelInfo(_store,_sharedTreeService, _dialogService, _iframeService, _networkStepService, _vpnStepService); + vrfModel = new VrfModelInfo(_store,_sharedTreeService, _dialogService, _iframeService, _featureFlagsService, _networkStepService, _vpnStepService); }); @@ -94,9 +96,16 @@ describe('Vrf Model Info', () => { test('getModel should return VRF model with min and max are equal to 1 (hard coded)', () => { - let model: VrfModel = vrfModel.getModel('VRF Entry Configuration 0', <any>{ - originalName : 'VRF Entry Configuration 0' - }, getServiceHierarchy()); + let model: VrfModel = vrfModel.getModel({ + "uuid": "9cac02be-2489-4374-888d-2863b4511a59", + "invariantUuid": "b67a289b-1688-496d-86e8-1583c828be0a", + "properties": { + "ecomp_generated_naming": "false", + "type": "VRF-ENTRY", + }, + "type": "Configuration" + } + ); expect(model.properties['type']).toEqual('VRF-ENTRY'); expect(model.min).toEqual(1); expect(model.max).toEqual(1); @@ -159,80 +168,5 @@ describe('Vrf Model Info', () => { }; } - function getServiceHierarchy() { - return { - "service": { - "uuid": "f028b2e2-7080-4b13-91b2-94944d4c42d8", - "invariantUuid": "dfc2c44c-2429-44ca-ae26-1e6dc1f207fb", - "name": "infraVPN", - "version": "1.0", - "toscaModelURL": null, - "category": "Network Service", - "serviceType": "BONDING", - "serviceRole": "INFRASTRUCTURE-VPN", - "description": "ddd", - "serviceEcompNaming": "true", - "instantiationType": "A-La-Carte", - "inputs": {}, - "vidNotions": { - "instantiationUI": "macroService", - "modelCategory": "other", - "viewEditUI": "legacy" - } - }, - "vnfs": {}, - "networks": {}, - "collectionResources": {}, - "configurations": {}, - "fabricConfigurations": {}, - "serviceProxies": { - "misvpn_service_proxy 0": { - "uuid": "35186eb0-e6b6-4fa5-86bb-1501b342a7b1", - "invariantUuid": "73f89e21-b96c-473f-8884-8b93bcbd2f76", - "description": "A Proxy for Service MISVPN_SERVICE", - "name": "MISVPN_SERVICE Service Proxy", - "version": "3.0", - "customizationUuid": "4c2fb7e0-a0a5-4b32-b6ed-6a974e55d923", - "inputs": {}, - "commands": {}, - "properties": { - "ecomp_generated_naming": "false" - }, - "type": "Service Proxy", - "sourceModelUuid": "d5cc7d15-c842-450e-95ae-2a69e66dd23b", - "sourceModelInvariant": "c126ec86-59fe-48c0-9532-e39a9b3e5272", - "sourceModelName": "MISVPN_SERVICE" - } - }, - "vfModules": {}, - "volumeGroups": {}, - "pnfs": {}, - "vnfGroups": {}, - "vrfs": { - "VRF Entry Configuration 0": { - "uuid": "9cac02be-2489-4374-888d-2863b4511a59", - "invariantUuid": "b67a289b-1688-496d-86e8-1583c828be0a", - "description": "VRF Entry configuration object", - "name": "VRF Entry Configuration", - "version": "30.0", - "customizationUuid": "dd024d73-9bd1-425d-9db5-476338d53433", - "inputs": {}, - "commands": {}, - "properties": { - "ecomp_generated_naming": "false", - "type": "VRF-ENTRY", - "role": "INFRASTRUCTURE-CLOUD-VPN" - }, - "type": "Configuration", - "modelCustomizationName": "VRF Entry Configuration 0", - "sourceNodes": [], - "collectorNodes": null, - "configurationByPolicy": false - } - } - } - } - - }) diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts index 3dbc60adb..53985d07d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/models/vrf/vrf.model.info.ts @@ -3,7 +3,6 @@ import {ComponentInfoType} from "../../../component-info/component-info-model"; import {ITreeNode} from "angular-tree-component/dist/defs/api"; import {AvailableNodeIcons} from "../../../available-models-tree/available-models-tree.service"; import {ModelInformationItem} from "../../../../../shared/components/model-information/model-information.component"; -import {VrfInstance} from "../../../../../shared/models/vrfInstance"; import {VrfTreeNode} from "../../../../../shared/models/vrfTreeNode"; import {VrfModel} from "../../../../../shared/models/vrfModel"; import {NgRedux} from "@angular-redux/store"; @@ -50,17 +49,16 @@ export class VrfModelInfo implements ILevelNodeInfo { updateDynamicInputsDataFromModel = (currentModel): any => []; - getModel = (vrfModelId: string, instance: VrfInstance, serviceHierarchy): VrfModel => { - const originalModelName = instance.originalName ? instance.originalName : vrfModelId; - return new VrfModel(serviceHierarchy[this.name][originalModelName]); + getModel = (instanceModel: any): VrfModel => { + return new VrfModel(instanceModel); }; - createInstanceTreeNode = (instance: VrfInstance, model: VrfModel, parentModel, storeKey: string): VrfTreeNode => { + createInstanceTreeNode = (instance: any, model: any, parentModel: any, storeKey: string, serviceModelId: string): any => { let node = new VrfTreeNode(instance, model, storeKey); node.missingData = this.hasMissingData(instance, node, model.isEcompGeneratedNaming); node.typeName = this.typeName; - node.menuActions = this.getMenuAction(<any>node, model.uuid); + node.menuActions = this.getMenuAction(<any>node, serviceModelId); node.isFailed = _.isNil(instance.isFailed) ? false : instance.isFailed; node.statusMessage = !_.isNil(instance.statusMessage) ? instance.statusMessage : ""; return node; @@ -111,7 +109,13 @@ export class VrfModelInfo implements ILevelNodeInfo { let counter: number = !_.isNil(this._store.getState().service.serviceInstance[serviceModelId]) ? (this._store.getState().service.serviceInstance[serviceModelId].existingVRFCounterMap[node.data.modelUniqueId] || 0) : 0; counter -= this._sharedTreeService.getExistingInstancesWithDeleteMode(node, serviceModelId, 'vrfs'); - const model = node.data.getModel(node.data.name, node.data, serviceHierarchy); + + const instanceModel = this._sharedTreeService.modelByIdentifiers( + serviceHierarchy, node.data.modelTypeName, + this._sharedTreeService.modelUniqueNameOrId(node.data), node.data.name + ); + + const model = node.data.getModel(instanceModel); const maxInstances: number = model.max; const isReachedLimit = !(maxInstances > counter); const showAddIcon = this._sharedTreeService.shouldShowAddIcon() && !isReachedLimit; @@ -157,8 +161,8 @@ export class VrfModelInfo implements ILevelNodeInfo { method: (node, serviceModelId) => { this._store.dispatch(deleteActionVrfInstance(node.data.vrfStoreKey, serviceModelId)); }, - visible: (node) => this._sharedTreeService.shouldShowDelete(node), - enable: (node) => this._sharedTreeService.shouldShowDelete(node) + visible: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId), + enable: (node) => this._sharedTreeService.shouldShowDelete(node, serviceModelId) }, undoDelete: { method: (node, serviceModelId) => { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts index 1cec62b2c..5cf6e96f7 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.spec.ts @@ -27,13 +27,15 @@ import {VfModuleControlGenerator} from "../../../../shared/components/genericFor 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, SdcUiServices} from "onap-ui-angular"; +import {SdcUiComponentsModule} from "onap-ui-angular"; import {ErrorMsgService} from "../../../../shared/components/error-msg/error-msg.service"; import {ComponentInfoService} from "../../component-info/component-info.service"; import {NetworkStepService} from "../models/vrf/vrfModal/networkStep/network.step.service"; import {VpnStepService} from "../models/vrf/vrfModal/vpnStep/vpn.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"; class MockAppStore<T> { getState() { @@ -86,9 +88,11 @@ describe('Model Tree Generator service', () => { DialogService, ErrorMsgService, ComponentInfoService, - SdcUiServices.ModalService, + ModalService, NetworkStepService, VpnStepService, + ModalService, + CreateDynamicComponentService, { provide: NgRedux, useClass: MockAppStore }, MockNgRedux] }); @@ -2462,7 +2466,6 @@ describe('Model Tree Generator service', () => { "tenantId": "229bcdc6eaeb4ca59d55221141d01f8e", "platformName": "xxx1", "lineOfBusiness": "ONAP", - "uuid": "network-instance-model-version-id", "routeTarget": { "globalRouteTarget": "mock-global-1", "routeTargetRole": "mock-role-x" @@ -2583,6 +2586,7 @@ describe('Model Tree Generator service', () => { { "action": 'None', "modelId": "afacccf6-397d-45d6-b5ae-94c39734b168", + "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "modelUniqueId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", "missingData": true, @@ -2592,6 +2596,7 @@ describe('Model Tree Generator service', () => { "inMaint": true, "name": "2017-388_PASQUALE-vPE 0", "modelName": "2017-388_PASQUALE-vPE 0", + "modelTypeName": "vnfs", "type": "VF", "parentType": '', "isEcompGeneratedNaming": false, @@ -2619,6 +2624,7 @@ describe('Model Tree Generator service', () => { "parentType": '', "name": "2017-488_PASQUALE-vPE 0", "modelName": "2017-488_PASQUALE-vPE 0", + "modelTypeName": "vnfs", "type": "VF", "isEcompGeneratedNaming": false, "networkStoreKey": "2017-488_PASQUALE-vPE 0", @@ -2633,6 +2639,7 @@ describe('Model Tree Generator service', () => { "parentType": 'VNF', "action": 'None', "modelId": "f8360508-3f17-4414-a2ed-6bc71161e8db", + "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "modelUniqueId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", "missingData": true, @@ -2640,6 +2647,7 @@ describe('Model Tree Generator service', () => { "statusMessage": "Failed vfModel message", "name": "<Automatically Assigned>", "modelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", + "modelTypeName": "vfModules", "type": "VFmodule", "isEcompGeneratedNaming": false, "dynamicInputs": [], @@ -2664,6 +2672,7 @@ describe('Model Tree Generator service', () => { "id": "o65b26t2thj", "name": "2017488_PASQUALEvPE", "modelName": "2017-488_PASQUALE-vPE 0", + "modelTypeName": "vnfs", "type": "VF", "isEcompGeneratedNaming": false, "vnfStoreKey": "2017-488_PASQUALE-vPE 0", @@ -2680,6 +2689,7 @@ describe('Model Tree Generator service', () => { "missingData": false, "name": "yoav", "modelName": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", + "modelTypeName": "vfModules", "type": "VFmodule", "isEcompGeneratedNaming": false, "typeName": "M", @@ -2733,6 +2743,7 @@ describe('Model Tree Generator service', () => { "parentType": '', "action": 'None', "modelId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", + "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", "modelUniqueId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", "missingData": false, @@ -2742,6 +2753,7 @@ describe('Model Tree Generator service', () => { "routeTargetRole": "mock-role-x", "statusMessage": "Network failed message", "modelName": "ExtVL 0", + "modelTypeName": "networks", "type": "VL", "isEcompGeneratedNaming": true, "networkStoreKey": "ExtVL 0", @@ -2761,6 +2773,7 @@ describe('Model Tree Generator service', () => { "id": "2mdxioxca9h", "name": "<Automatically Assigned>", "modelName": "ExtVL 0", + "modelTypeName": "networks", "type": "VL", "isEcompGeneratedNaming": true, "networkStoreKey": "ExtVL 0:0001", @@ -2775,6 +2788,7 @@ describe('Model Tree Generator service', () => { "id": "z7vd1gmpbs", "name": "ExtVL", "modelName": "ExtVL 0", + "modelTypeName": "networks", "type": "VL", "isEcompGeneratedNaming": true, "networkStoreKey": "ExtVL 0_1", diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts index 8ddb4ba2d..13dca560c 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts @@ -8,10 +8,12 @@ import {ErrorMsgService} from "../../../../shared/components/error-msg/error-msg import {FeatureFlagsService, Features} from "../../../../shared/services/featureFlag/feature-flags.service"; import {NgRedux} from "@angular-redux/store"; import {AppState} from "../../../../shared/store/reducers"; +import {SharedTreeService} from "../shared.tree.service"; @Injectable() export class ObjectToInstanceTreeService { - constructor(private _objectToTreeService: ObjectToTreeService, private _errorMsgService: ErrorMsgService, private store: NgRedux<AppState>) { + constructor(private _objectToTreeService: ObjectToTreeService, private _errorMsgService: ErrorMsgService, + private store: NgRedux<AppState>, private _sharedTreeService: SharedTreeService) { this.numberOfFailed = 0; this.numberOfElements = 0; @@ -34,10 +36,11 @@ export class ObjectToInstanceTreeService { this.numberOfFailed = 0; this.numberOfElements = 0; let _this = this; + const serviceModelId:string = serviceInstance.modelInfo.modelVersionId; const firstLevelOptions: ILevelNodeInfo[] = _this._objectToTreeService.getFirstLevelOptions(); for (let option of firstLevelOptions) { _.forOwn(serviceInstance[option.name], function (instance, modelName) { - nodes.push(_this.getNodeInstance(modelName, null, instance, serviceHierarchy, option)); + nodes.push(_this.getNodeInstance(modelName, null, instance, serviceHierarchy, option, serviceModelId)); }); } return this.sortElementsByPosition(nodes); @@ -71,18 +74,23 @@ export class ObjectToInstanceTreeService { * @param instance * @param serviceHierarchy - The service Hierarchy store * @param option + * @param serviceModelId * @param parentType ****************************************************************/ - getNodeInstance(modelName: string, parentModel: any, instance: any, serviceHierarchy, option: ILevelNodeInfo, parentType ?: string) { - const model = option.getModel(modelName, instance, serviceHierarchy); - - let optionalNodes = option.createInstanceTreeNode(instance, model, parentModel, modelName); + getNodeInstance(modelName: string, parentModel: any, instance: any, serviceHierarchy, option: ILevelNodeInfo, serviceModelId: string, parentType ?: string) { + const instanceModel = this._sharedTreeService.modelByIdentifiers( + serviceHierarchy, option.name, + this._sharedTreeService.modelUniqueNameOrId(instance), modelName + ); + const model = option.getModel(instanceModel); + + let optionalNodes = option.createInstanceTreeNode(instance, model, parentModel, modelName, serviceModelId); this.increaseNumberOfFailed(optionalNodes); this.increaseNumberOfExcitingElements(); let nodes: any[] = _.isArray(optionalNodes) ? optionalNodes : [optionalNodes]; for (let node of nodes) { node = this.addingExtraDataToNode(node, modelName, parentModel, instance, serviceHierarchy, option, parentType); - let children = this.addNextInstanceTreeNode(instance, model, option, node, serviceHierarchy); + let children = this.addNextInstanceTreeNode(instance, model, option, node, serviceHierarchy, serviceModelId); if (!_.isNil(children) && children.length > 0) { node.children = this.sortElementsByPosition(children); } @@ -97,6 +105,7 @@ export class ObjectToInstanceTreeService { node.parentType = !_.isNil(parentType) ? parentType : ""; node.updatePoistionFunction = option.updatePosition; node.position = option.getNodePosition(instance, node.dynamicModelName); + node.modelTypeName = option.name; node.getModel = option.getModel.bind(option); node.getInfo = !_.isNil(option.getInfo) ? option.getInfo.bind(option) : ()=>{}; node.componentInfoType = option.componentInfoType; @@ -119,8 +128,9 @@ export class ObjectToInstanceTreeService { * @param levelNodeInfo * @param parentNode * @param serviceHierarchy - The service Hierarchy store + * @param serviceModelId ****************************************************************/ - addNextInstanceTreeNode(parentInstance, parentModel, levelNodeInfo: ILevelNodeInfo, parentNode, serviceHierarchy): any[] { + addNextInstanceTreeNode(parentInstance, parentModel, levelNodeInfo: ILevelNodeInfo, parentNode, serviceHierarchy, serviceModelId: string): any[] { if (!_.isNil(levelNodeInfo.childNames)&& levelNodeInfo.childNames.length > 0) { const that = this; parentNode.children = []; @@ -130,7 +140,7 @@ export class ObjectToInstanceTreeService { let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(that, [childName]); Object.keys(parentInstance[childName]).map((modelName) => { let nextLevelInstance = parentInstance[childName][modelName]; - let nodes: any[] | any = that.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, parentType); + let nodes: any[] | any = that.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, serviceModelId, parentType); if (_.isArray(nodes)) { parentNode.children = parentNode.children.concat(nodes); } else { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts index 0f7bf9a61..7fa679bb5 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.spec.ts @@ -37,6 +37,8 @@ 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"; class MockAppStore<T> { getState() { @@ -112,6 +114,8 @@ describe('Model Tree Generator service', () => { ComponentInfoService, NetworkStepService, VpnStepService, + ModalService, + CreateDynamicComponentService, SharedControllersService, {provide: NgRedux, useClass: MockAppStore}, MockNgRedux ] @@ -207,6 +211,7 @@ describe('Model Tree Generator service', () => { "name": "2017-388_PASQUALE-vPE 1", "tooltip": "VF", "type": "VF", + "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [], @@ -224,6 +229,7 @@ describe('Model Tree Generator service', () => { "name": "2017-388_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", + "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [], @@ -239,6 +245,7 @@ describe('Model Tree Generator service', () => { "name": "2017-488_PASQUALE-vPE 0", "tooltip": "VF", "type": "VF", + "modelTypeName": "vnfs", "count": 0, "max": 1, "children": [{ @@ -249,6 +256,7 @@ describe('Model Tree Generator service', () => { "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "tooltip": "VFmodule", "type": "VFmodule", + "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], @@ -264,6 +272,7 @@ describe('Model Tree Generator service', () => { "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", "tooltip": "VFmodule", "type": "VFmodule", + "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], @@ -279,6 +288,7 @@ describe('Model Tree Generator service', () => { "name": "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2", "tooltip": "VFmodule", "type": "VFmodule", + "modelTypeName": "vfModules", "count": 0, "max": 1, "children": [], diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts index f1ebdaff9..c3c8fa1b3 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToModelTree/objectToModelTree.service.ts @@ -121,11 +121,11 @@ export class ObjectToModelTreeService { node.getNodeCount = (node, serviceId) => levelNodeInfo.getNodeCount(node, serviceId); node.getMenuAction = (node, serviceId) => levelNodeInfo.getMenuAction(node, serviceId); node.showNodeIcons = (node, serviceId) => levelNodeInfo.showNodeIcons(node, serviceId); - node.typeName = levelNodeInfo.typeName; node.getModel = levelNodeInfo.getModel.bind(levelNodeInfo); - node.getInfo = !_.isNil(levelNodeInfo.getInfo) ? levelNodeInfo.getInfo.bind(levelNodeInfo) : () => { - }; + node.getInfo = !_.isNil(levelNodeInfo.getInfo) ? levelNodeInfo.getInfo.bind(levelNodeInfo) : () => {}; node.componentInfoType = levelNodeInfo.componentInfoType; + node.typeName = levelNodeInfo.typeName; + node.modelTypeName = levelNodeInfo.name; return node; } } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts index 9b68627e2..a70b7efeb 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToTree.service.ts @@ -15,7 +15,6 @@ import {VfModulePopupService} from "../../../shared/components/genericFormPopup/ import {VnfGroupingModelInfo} from "./models/vnfGrouping/vnfGrouping.model.info"; import {VnfGroupPopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vnfGroup/vnfGroup.popup.service"; import {DuplicateService} from "../duplicate/duplicate.service"; -import {SdcUiServices} from "onap-ui-angular"; import {IframeService} from "../../../shared/utils/iframe.service"; import {ComponentInfoService} from "../component-info/component-info.service"; import {PnfModelInfo} from "./models/pnf/pnf.model.info"; @@ -24,8 +23,9 @@ import {AaiService} from "../../../shared/services/aaiService/aai.service"; import {VrfModelInfo} from "./models/vrf/vrf.model.info"; import {NetworkStepService} from "./models/vrf/vrfModal/networkStep/network.step.service"; import {VpnStepService} from "./models/vrf/vrfModal/vpnStep/vpn.step.service"; -import { VfModuleUpgradePopupService } from "../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service"; +import {VfModuleUpgradePopupService} from "../../../shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service"; import {FeatureFlagsService} from "../../../shared/services/featureFlag/feature-flags.service"; +import {ModalService} from "../../../shared/components/customModal/services/modal.service"; @Injectable() export class ObjectToTreeService { @@ -39,7 +39,7 @@ export class ObjectToTreeService { private _vfModuleUpgradePopupService : VfModuleUpgradePopupService, private _vnfGroupPopupService : VnfGroupPopupService, private _duplicateService : DuplicateService, - private _modalService: SdcUiServices.ModalService, + private _modalService: ModalService, private _iframeService : IframeService, private _componentInfoService : ComponentInfoService, private _networkStepService : NetworkStepService, @@ -50,15 +50,13 @@ export class ObjectToTreeService { } - - /*********************************************************** * return all first optional first level of the model tree ************************************************************/ getFirstLevelOptions(): ILevelNodeInfo[] { return [new VnfModelInfo(this._dynamicInputsService, this._sharedTreeService, this._defaultDataGeneratorService, this._dialogService, this._vnfPopupService, this._vfModulePopupService, this._vfModuleUpgradePopupService,this._duplicateService, this._modalService, this._iframeService, this._componentInfoService, this._featureFlagsService, this._store) , new NetworkModelInfo(this._dynamicInputsService, this._sharedTreeService, this._dialogService, this._networkPopupService, this._duplicateService, this._modalService, this._iframeService, this._featureFlagsService, this._store), - new PnfModelInfo(), + new PnfModelInfo(this._sharedTreeService), new VrfModelInfo(this._store, this._sharedTreeService, this._dialogService, this._iframeService, this._featureFlagsService, this._networkStepService, this._vpnStepService), new CollectionResourceModelInfo(this._store, this._sharedTreeService), new ConfigurationModelInfo(this._dynamicInputsService, this._sharedTreeService), diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts index 3a65b93ef..8905d4110 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.spec.ts @@ -42,6 +42,8 @@ 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"; class MockAppStore<T> { getState() { @@ -61,7 +63,7 @@ function getNodeWithData(menuAction:string){ }; nodeData['menuActions'][menuAction] = { method: (node, serviceModelId) => {} - } + }; const node = { parent: { data: nodeData, @@ -114,6 +116,8 @@ describe('Shared Tree Service', () => { ComponentInfoService, NetworkStepService, VpnStepService, + ModalService, + CreateDynamicComponentService, {provide: NgRedux, useClass: MockAppStore} ] }); @@ -130,7 +134,7 @@ describe('Shared Tree Service', () => { test('SharedTreeService upgradeBottomUp should call redux actions', () => { const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"; - const node = getNodeWithData("upgrade") + const node = getNodeWithData("upgrade"); spyOn(node.parent.data.menuActions['upgrade'], 'method'); service.upgradeBottomUp(node, serviceModelId); expect(node.parent.data.menuActions['upgrade'].method).toBeCalledWith(node.parent, serviceModelId); @@ -140,7 +144,7 @@ describe('Shared Tree Service', () => { test('SharedTreeService undoUpgradeBottomUp should call redux actions', () => { const serviceModelId = "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"; - const node = getNodeWithData("undoUpgrade") + const node = getNodeWithData("undoUpgrade"); spyOn(node.parent.data.menuActions['undoUpgrade'], 'method'); service.undoUpgradeBottomUp(node, serviceModelId); expect(node.parent.data.menuActions['undoUpgrade'].method).toBeCalledWith(node.parent, serviceModelId); @@ -162,7 +166,37 @@ describe('Shared Tree Service', () => { expect(MessageBoxService.openModal.next).toHaveBeenCalled(); }); - test('openAuditInfoModal should open modal for failed instance', () => { + each([ + ['volumeGroups by entry name', "volumeGroups", + "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"], + ['vfmodule by customizationUuid', "vfModules", + "f7e7c365-60cf-49a9-9ebf-a1aa11b9d401", "2017488PasqualeVpe..PASQUALE_vRE_BV..module-1"], + ['vnf by customizationUuid', "vnfs", + "1da7b585-5e61-4993-b95e-8e6606c81e45", "2017-488_PASQUALE-vPE 0"], + ['vnfGroups by invariantUuid because no customizationUuid', "vnfGroups", + "4bb2e27e-ddab-4790-9c6d-1f731bc14a45", "groupingservicefortest..ResourceInstanceGroup..0"], + ]).test('modelByIdentifier should success: %s', (description, modelTypeName, modelUniqueIdOrName, expectedModelCustomizationName) => { + let serviceModelFromHierarchy = + getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"]; + + expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName)) + .toHaveProperty("modelCustomizationName", expectedModelCustomizationName); + }); + + each([ + ['vfmodule by invariantUuid when there is customizationUuid', "vfModules", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"], + ['network by non-existing modelUniqueIdOrName', "networks", "7253ff5c-97f0-4b8b-937c-77aeb4d79aa1"], + ['collectionResource has no resource', "collectionResources", "whatever"], + ['non-existing model-type', "fooBar", "whatever"], + ]).test('modelByIdentifier should fail: %s', (description, modelTypeName, modelUniqueIdOrName) => { + let serviceModelFromHierarchy = + getStore().service.serviceHierarchy["1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"]; + + expect(service.modelByIdentifiers(serviceModelFromHierarchy, modelTypeName, modelUniqueIdOrName)) + .toBeUndefined(); + }); + + test('openAuditInfoModalInsideIframe should open modal for failed instance', () => { jest.spyOn(AuditInfoModalComponent.openInstanceAuditInfoModal, 'next'); let modelInfoServiceMock: ILevelNodeInfo = new VnfModelInfo(null, null, @@ -230,7 +264,6 @@ describe('Shared Tree Service', () => { }); - test('statusProperties should be prop on node according to node properties', () => { let node = service.addingStatusProperty({orchStatus: 'completed', provStatus: 'inProgress', inMaint: false}); expect(node.statusProperties).toBeDefined(); @@ -250,6 +283,39 @@ describe('Shared Tree Service', () => { testId: 'inMaint' })]); }); + + each([ + [false, 'method is not in menu actions', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {}, true], + [false, 'there is no action in node', null, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true], + [true, 'edit mode, action is none, method in menu action', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true], + [false, 'edit mode, action is none, method in menu action, macro service', ServiceInstanceActions.None, DrawingBoardModes.EDIT, {someMethod: "someValue"}, false], + [false, 'edit mode, action is not none, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true], + [false, 'edit mode, action is CREATE, method in menu action', ServiceInstanceActions.Resume, DrawingBoardModes.EDIT, {someMethod: "someValue"}, true] + ]).test('shouldShowButtonGeneric return %s if %s ', (expected, description, action, mode, menuActions, isALaCarte) => { + jest.spyOn(store, 'getState').mockReturnValue(<any>{ + global: { + drawingBoardStatus: mode + }, + service : { + serviceInstance: { + someModelId : { + isALaCarte + } + } + + } + }); + let node = <any>{ + data:{ + action: action, + menuActions: menuActions + }, + }; + + let res = service.shouldShowButtonGeneric(node, "someMethod", "someModelId"); + expect(res).toBe(expected); + }); + const enableRemoveAndEditItemsDataProvider = [ ['Create action CREATE mode', DrawingBoardModes.CREATE ,ServiceInstanceActions.Create, true], ['Create action VIEW mode',DrawingBoardModes.VIEW , ServiceInstanceActions.Create,false], @@ -272,205 +338,61 @@ describe('Shared Tree Service', () => { let res = service.shouldShowRemoveAndEdit(node); expect(res).toBe(enabled); }); -}); -function generateService() { - return { - "vnfs": { - "2017-488_PASQUALE-vPE 0": { - "inMaint": false, - "rollbackOnFailure": "true", - "originalName": "2017-488_PASQUALE-vPE 0", - "isMissingData": false, - "trackById": "stigekyxrqi", - "vfModules": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0": { - "2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0gytfi": { - "isMissingData": false, - "sdncPreReload": null, - "modelInfo": { - "modelType": "VFmodule", - "modelInvariantId": "b34833bb-6aa9-4ad6-a831-70b06367a091", - "modelVersionId": "f8360508-3f17-4414-a2ed-6bc71161e8db", - "modelName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0", - "modelVersion": "5", - "modelCustomizationId": "a55961b2-2065-4ab0-a5b7-2fcee1c227e3", - "modelCustomizationName": "2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0" - }, - "instanceParams": [{}], - "trackById": "3oj23o7nupo" + + + const isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider = [ + ['node is part of model, but vfmodule diff by customization', + true, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'], + + ['vnf model-name not found', + false, 'mDNS 01222020 1', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', '82160e6e-d9c4-45ef-bd19-01573ab11b61'], + + ['vfmodule invariant-id not found', + false, 'mDNS 01222020 0', 'wrong invariant-id', '82160e6e-d9c4-45ef-bd19-01573ab11b61'], + + ['vfmodule customization-id match', + false, 'mDNS 01222020 0', '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', 'c9b32003-febc-44e0-a97f-7630fa7fa4a0'], + ]; + + each(isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDifferProvider).test('isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer: when %s should return %s', (description, expected, vnfModelName, invariantUuid, customizationUuid) => { + const serviceModelId : string = 'a243da28-c11e-45a8-9f26-0284a9a789bc'; + spyOn(store, 'getState').and.returnValue({ + service : { + serviceHierarchy : { + [serviceModelId] : { + vnfs : { + [vnfModelName] : { + vfModules : { + vfModuleModelName : { + invariantUuid : invariantUuid, + customizationUuid : customizationUuid + } + } + } } } - }, - "vnfStoreKey": "2017-488_PASQUALE-vPE 0", - "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "AAIAIC25", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "lineOfBusiness": "ONAP", - "platformName": "xxx1", - "modelInfo": { - "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "modelVersionId": "69e09f68-8b63-4cc9-b9ff-860960b5db09", - "modelName": "2017-488_PASQUALE-vPE", - "modelVersion": "5.0", - "modelCustomizationName": "2017-488_PASQUALE-vPE 0", - "modelCustomizationId": "1da7b585-5e61-4993-b95e-8e6606c81e45", - "uuid": "69e09f68-8b63-4cc9-b9ff-860960b5db09" - }, - "legacyRegion": "11111111", - "instanceParams": [{}] - }, - "2017-388_PASQUALE-vPE 0": { - "inMaint": false, - "rollbackOnFailure": "true", - "originalName": "2017-388_PASQUALE-vPE 0", - "isMissingData": false, - "trackById": "nib719t5vca", - "vfModules": {}, - "vnfStoreKey": "2017-388_PASQUALE-vPE 0", - "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "AAIAIC25", - "legacyRegion": "11111", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "platformName": "platform", - "lineOfBusiness": "zzz1", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "72e465fe-71b1-4e7b-b5ed-9496118ff7a8", - "modelVersionId": "afacccf6-397d-45d6-b5ae-94c39734b168", - "modelName": "2017-388_PASQUALE-vPE", - "modelVersion": "4.0", - "modelCustomizationId": "b3c76f73-eeb5-4fb6-9d31-72a889f1811c", - "modelCustomizationName": "2017-388_PASQUALE-vPE 0", - "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" - }, - "uuid": "afacccf6-397d-45d6-b5ae-94c39734b168" - }, - "2017-388_PASQUALE-vPE 1": { - "inMaint": false, - "rollbackOnFailure": "true", - "originalName": "2017-388_PASQUALE-vPE 1", - "isMissingData": false, - "trackById": "cv7l1ak8vpe", - "vfModules": {}, - "vnfStoreKey": "2017-388_PASQUALE-vPE 1", - "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "AAIAIC25", - "legacyRegion": "123", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "platformName": "platform", - "lineOfBusiness": "ONAP", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "00beb8f9-6d39-452f-816d-c709b9cbb87d", - "modelVersionId": "0903e1c0-8e03-4936-b5c2-260653b96413", - "modelName": "2017-388_PASQUALE-vPE", - "modelVersion": "1.0", - "modelCustomizationId": "280dec31-f16d-488b-9668-4aae55d6648a", - "modelCustomizationName": "2017-388_PASQUALE-vPE 1", - "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" - }, - "uuid": "0903e1c0-8e03-4936-b5c2-260653b96413" - } - }, - "instanceParams": [{}], - "validationCounter": 0, - "existingNames": {"yoav": ""}, - "existingVNFCounterMap": { - "69e09f68-8b63-4cc9-b9ff-860960b5db09": 1, - "afacccf6-397d-45d6-b5ae-94c39734b168": 1, - "0903e1c0-8e03-4936-b5c2-260653b96413": 1 - }, - "existingVnfGroupCounterMap": { - "daeb6568-cef8-417f-9075-ed259ce59f48": 0, - "c2b300e6-45de-4e5e-abda-3032bee2de56": -1 - }, - "existingNetworksCounterMap": {"ddc3f20c-08b5-40fd-af72-c6d14636b986": 1}, - "networks": { - "ExtVL 0": { - "inMaint": false, - "rollbackOnFailure": "true", - "originalName": "ExtVL 0", - "isMissingData": false, - "trackById": "s6okajvv2n8", - "networkStoreKey": "ExtVL 0", - "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "AAIAIC25", - "legacyRegion": "12355555", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "platformName": "platform", - "lineOfBusiness": null, - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "379f816b-a7aa-422f-be30-17114ff50b7c", - "modelVersionId": "ddc3f20c-08b5-40fd-af72-c6d14636b986", - "modelName": "ExtVL", - "modelVersion": "37.0", - "modelCustomizationId": "94fdd893-4a36-4d70-b16a-ec29c54c184f", - "modelCustomizationName": "ExtVL 0", - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" - }, - "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986" + } } - }, - "vnfGroups": { - "groupingservicefortest..ResourceInstanceGroup..0": { - "inMaint": false, - "rollbackOnFailure": "true", - "originalName": "groupingservicefortest..ResourceInstanceGroup..0", - "isMissingData": false, - "trackById": "se0obn93qq", - "vnfGroupStoreKey": "groupingservicefortest..ResourceInstanceGroup..0", - "instanceName": "groupingservicefortestResourceInstanceGroup0", - "instanceParams": [{}], - "modelInfo": { - "modelInvariantId": "4bb2e27e-ddab-4790-9c6d-1f731bc14a45", - "modelVersionId": "daeb6568-cef8-417f-9075-ed259ce59f48", - "modelName": "groupingservicefortest..ResourceInstanceGroup..0", - "modelVersion": "1", - "modelCustomizationName": "groupingservicefortest..ResourceInstanceGroup..0", - "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48" - }, - "uuid": "daeb6568-cef8-417f-9075-ed259ce59f48" + }); + + const node = <any>{ + data:{ + modelInvariantId : '9fdc68e9-9f53-431c-b8a2-7e337b9a0d0a', + modelCustomizationId : 'c9b32003-febc-44e0-a97f-7630fa7fa4a0', + modelName : 'vfModuleModelName' + }, + parent : { + data : { + modelName : "mDNS 01222020 0" + } } - }, - "instanceName": "yoav", - "globalSubscriberId": "e433710f-9217-458d-a79d-1c7aff376d89", - "subscriptionServiceType": "TYLER SILVIA", - "owningEntityId": "d61e6f2d-12fa-4cc2-91df-7c244011d6fc", - "productFamilyId": "d8a6ed93-251c-47ca-adc9-86671fd19f4c", - "lcpCloudRegionId": "AAIAIC25", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", - "aicZoneId": "ATL53", - "pause": null, - "projectName": "WATKINS", - "rollbackOnFailure": "true", - "bulkSize": 1, - "aicZoneName": "AAIATLTE-ATL53", - "owningEntityName": "WayneHolland", - "testApi": "VNF_API", - "isEcompGeneratedNaming": false, - "tenantName": "USP-SIP-IC-24335-T-01", - "modelInfo": { - "modelInvariantId": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", - "modelVersionId": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", - "modelName": "action-data", - "modelVersion": "1.0", - "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd" - }, - "isALaCarte": false, - "name": "action-data", - "version": "1.0", - "description": "PASQUALE vMX vPE based on Juniper 17.2 release. Updated with updated VF for v8.0 of VLM", - "category": "Network L1-3", - "uuid": "1a80c596-27e5-4ca9-b5bb-e03a7fd4c0fd", - "invariantUuid": "cdb90b57-ed78-4d44-a5b4-7f43a02ec632", - "serviceType": "pnf", - "serviceRole": "Testing", - "vidNotions": {"instantiationUI": "legacy", "modelCategory": "other", "viewEditUI": "legacy"}, - "isMultiStepDesign": true - }; -} + }; + + const isDiffCustomizationUuidResponse : boolean = service.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId); + expect(isDiffCustomizationUuidResponse).toEqual(expected); + }); + +}); function getStore() { return { diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts index 1115d1bc6..9e7a0211e 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/shared.tree.service.ts @@ -19,7 +19,6 @@ import {NodeInstance} from "../../../shared/models/nodeInstance"; @Injectable() export class SharedTreeService { - private _sharedTreeService: SharedTreeService; constructor(private _store: NgRedux<AppState>) { } @@ -54,6 +53,51 @@ export class SharedTreeService { : (nodeInstance.modelInfo.modelCustomizationId || nodeInstance.modelInfo.modelInvariantId); }; + modelUniqueNameOrId = (instance): string => { + if (_.isNil(instance)) { + return null; + } + + const innerInstance = _.find(instance) || {}; + + return instance.originalName + || this.modelUniqueId(instance) + || innerInstance.originalName + || this.modelUniqueId(innerInstance); + }; + + /** + * Finds a model inside a full service model + * @param serviceModelFromHierarchy + * @param modelTypeName "vnfs" | "networks" | "vfModules" | "collectionResources" | ... + * @param modelUniqueNameOrId Either an entry name (i.e. "originalName"), modelCustomizationId or modelInvariantId. + * Note that modelInvariantId will work only where model lacks a modelCustomizationId. + * @param modelName An optional entry name (i.e. "originalName"); will not try to use as id + */ + modelByIdentifiers = (serviceModelFromHierarchy, modelTypeName: string, modelUniqueNameOrId: string, modelName?: string): any => { + const logErrorAndReturnUndefined = () => + console.info(`modelByIdentifiers: could not find a model matching query`, { + modelTypeName, modelUniqueNameOrId, modelName, serviceModelFromHierarchy + }); + + if (_.isNil(serviceModelFromHierarchy)) return logErrorAndReturnUndefined(); + + const modelsOfType = serviceModelFromHierarchy[modelTypeName]; + if (_.isNil(modelsOfType)) return logErrorAndReturnUndefined(); + + const modelIfModelIdentifierIsEntryName = modelsOfType[modelUniqueNameOrId]; + const modelIfModeNameExists = _.isNil(modelName) ? null : modelsOfType[modelName]; + + if (!_.isNil(modelIfModelIdentifierIsEntryName)) { + return modelIfModelIdentifierIsEntryName; + } else if (!_.isNil(modelIfModeNameExists)) { + return modelIfModeNameExists; + } else { + // try modelUniqueNameOrId as an id + return _.find(modelsOfType, o => (o.customizationUuid || o.invariantUuid) === modelUniqueNameOrId) || logErrorAndReturnUndefined() + } + }; + hasMissingData(instance, dynamicInputs: any, isEcompGeneratedNaming: boolean, requiredFields: string[]): boolean { if (!isEcompGeneratedNaming && _.isEmpty(instance.instanceName)) { return true; @@ -120,8 +164,8 @@ export class SharedTreeService { /********************************************** * should return true if can delete **********************************************/ - shouldShowDelete(node): boolean { - return this.shouldShowButtonGeneric(node, "delete") + shouldShowDelete(node, serviceModelId): boolean { + return this.shouldShowButtonGeneric(node, "delete", serviceModelId) } /********************************************** @@ -173,21 +217,74 @@ export class SharedTreeService { ****************************************************/ shouldShowUpgrade(node, serviceModelId): boolean { if (FeatureFlagsService.getFlagState(Features.FLAG_FLASH_REPLACE_VF_MODULE, this._store) && - this.isThereAnUpdatedLatestVersion(serviceModelId)) { - return this.shouldShowButtonGeneric(node, VNFMethods.UPGRADE); + (this.isThereAnUpdatedLatestVersion(serviceModelId)) || this.isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(node, serviceModelId)) { + return this.shouldShowButtonGeneric(node, VNFMethods.UPGRADE, serviceModelId); } else { return false } } - private isThereAnUpdatedLatestVersion(serviceModelId) : boolean{ - let serviceInstance = this._store.getState().service.serviceInstance[serviceModelId]; + + isVfmoduleAlmostPartOfModelOnlyCustomizationUuidDiffer(vfModuleNode, serviceModelId) : boolean { + /* + for `true`, should all: + 1. parent vnf found by model-mane + 2. vfmodule found by invariant + 3. vfmodule diff by customization + */ + + if (_.isNil(vfModuleNode.data)) { + return false; + } + + const vnfHierarchy = this.getParentVnfHierarchy(vfModuleNode, serviceModelId); + if (_.isNil(vnfHierarchy)) { + return false; + } + + const vfModuleHierarchyByInvariantId = this.getVfModuleHFromVnfHierarchyByInvariantId(vfModuleNode, vnfHierarchy); + if(_.isNil(vfModuleHierarchyByInvariantId)){ + return false; + } + + return vfModuleHierarchyByInvariantId.customizationUuid + && (vfModuleHierarchyByInvariantId.customizationUuid !== vfModuleNode.data.modelCustomizationId); + } + + getParentVnfHierarchy(vfModuleNode, serviceModelId) { + if (vfModuleNode.parent && vfModuleNode.parent.data) { + return this._store.getState().service.serviceHierarchy[serviceModelId].vnfs[vfModuleNode.parent.data.modelName]; + } else { + return null; + } + } + + getVfModuleHFromVnfHierarchyByInvariantId(vfModuleNode, parentVnfHierarchy) { + if(vfModuleNode.data.modelInvariantId && parentVnfHierarchy && parentVnfHierarchy.vfModules){ + return _.find(parentVnfHierarchy.vfModules, o => o.invariantUuid === vfModuleNode.data.modelInvariantId); + } + return null; + } + + + isThereAnUpdatedLatestVersion(serviceModelId) : boolean{ + let serviceInstance = this.getServiceInstance(serviceModelId); return !_.isNil(serviceInstance.latestAvailableVersion) && (Number(serviceInstance.modelInfo.modelVersion) < serviceInstance.latestAvailableVersion); } - private shouldShowButtonGeneric(node, method) { + private getServiceInstance(serviceModelId): any { + return this._store.getState().service.serviceInstance[serviceModelId]; + } + + shouldShowButtonGeneric(node, method, serviceModelId) { const mode = this._store.getState().global.drawingBoardStatus; + const isMacro = !(this.getServiceInstance(serviceModelId).isALaCarte); + + if (isMacro) { //if macro action allowed only for service level + return false; + } + if (!_.isNil(node) && !_.isNil(node.data) && !_.isNil(node.data.action) && !_.isNil(node.data.menuActions[method])) { if (mode !== DrawingBoardModes.EDIT || node.data.action === ServiceInstanceActions.Create) { return false; @@ -269,7 +366,7 @@ export class SharedTreeService { ************************************************/ getExistingInstancesWithDeleteMode(node, serviceModelId: string, type: string): number { let counter = 0; - const existingInstances = this._store.getState().service.serviceInstance[serviceModelId][type]; + const existingInstances = this.getServiceInstance(serviceModelId)[type]; const modelUniqueId = node.data.modelUniqueId; if (!_.isNil(existingInstances)) { for (let instanceKey in existingInstances) { @@ -358,7 +455,13 @@ export class SharedTreeService { AuditInfoModalComponent.openInstanceAuditInfoModal.next({ instanceId: serviceModelId, type: instanceType, - model: modelInfoService.getModel(node.data.modelName, instance, this._store.getState().service.serviceHierarchy[serviceModelId]), + model: modelInfoService.getModel( + this.modelByIdentifiers( + this._store.getState().service.serviceHierarchy[serviceModelId], + modelInfoService.name, + this.modelUniqueNameOrId(instance), node.data.modelName + ) + ), instance }); } diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.ts index cbe8445ca..59988f7c3 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/service-planning.component.ts @@ -26,8 +26,8 @@ export class ServicePlanningComponent implements OnInit { } pageMode: DrawingBoardModes = DrawingBoardModes.CREATE; - @ViewChild(DrawingBoardTreeComponent) drawingModelTree; - @ViewChild(AvailableModelsTreeComponent) availableModelTree; + @ViewChild(DrawingBoardTreeComponent, {static: false}) drawingModelTree; + @ViewChild(AvailableModelsTreeComponent, {static: false}) availableModelTree; isShowTree(): boolean { return true; |