From 2f1d6225bef920a217a25441b7dcaeb457113dc5 Mon Sep 17 00:00:00 2001 From: sarada prasad sahoo Date: Tue, 23 Apr 2019 10:16:13 +0530 Subject: enabled NFV Affinity and Anti-affinity Rules Fix the issue tosca.policies.nfv.AffinityRule and tosca.policies.nfv.AntiAffinityRule which was getting failed at first attempt with 404 error Change-Id: I6630193343729051b41e4eb880832dee85b098ee Issue-ID: SDC-2231 Signed-off-by: sarada prasad sahoo --- .../components/impl/PolicyTypeImportManager.java | 7 ++-- .../import/tosca/policy-types/policyTypes.json | 9 +++- .../import/tosca/policy-types/policyTypes.yml | 48 +++++++++++----------- 3 files changed, 36 insertions(+), 28 deletions(-) (limited to 'catalog-be') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeImportManager.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeImportManager.java index 5aedb4ee0e..edd3b936a2 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeImportManager.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/PolicyTypeImportManager.java @@ -97,9 +97,6 @@ public class PolicyTypeImportManager { if (result.isLeft()) { for (String targetId : policyType.getTargets()) { boolean isValid = toscaOperationFacade.getLatestByToscaResourceName(targetId).isLeft(); - if (!isValid) { - isValid = groupOperation.isGroupExist(targetId, false); - } if (!isValid) { // check if it is a groupType final Either groupTypeFound = groupTypeOperation @@ -107,6 +104,10 @@ public class PolicyTypeImportManager { isValid = groupTypeFound.isLeft() && !groupTypeFound.left().value().isEmpty(); } + if (!isValid) { + isValid = groupOperation.isGroupExist(targetId, false); + } + if (!isValid) { ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.TARGETS_NON_VALID, policyType.getType(), targetId); result = Either.right(responseFormat); diff --git a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json index b86f00c52f..6885e5076c 100644 --- a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json +++ b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json @@ -94,6 +94,13 @@ "tosca.policies.nfv.SupportedVnfInterface": { "displayName": "NFV Supported VnfInterface", "icon": "policy-nfv-supported-vnfinterface" + }, + "tosca.policies.nfv.AffinityRule": { + "displayName": "NFV AffinityRule", + "icon": "policy-nfv-affinityrule" + }, + "tosca.policies.nfv.AntiAffinityRule": { + "displayName": "NFV AntiAffinityRule", + "icon": "policy-nfv-anti-affinityrule" } - } diff --git a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml index 09020ac63a..4cc9031eed 100644 --- a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml @@ -229,30 +229,6 @@ tosca.policies.nfv.VirtualLinkBitrateInitialDelta: required: true targets: [ tosca.nodes.nfv.VnfVirtualLink ] -# tosca.policies.nfv.AffinityRule: -# derived_from: tosca.policies.Placement -# description: The AffinityRule describes the affinity rules applicable for the defined targets -# properties: -# scope: -# type: string -# description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. -# required: true -# constraints: -# - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] -# targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ] -# -# tosca.policies.nfv.AntiAffinityRule: -# derived_from: tosca.policies.Placement -# description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets -# properties: -# scope: -# type: string -# description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. -# required: true -# constraints: -# - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] -# targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ] - tosca.policies.nfv.SecurityGroupRule: derived_from: tosca.policies.Root description: The SecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited connection points as defined in ETSI GS NFV-IFA 011 [1]. @@ -315,3 +291,27 @@ tosca.policies.nfv.SupportedVnfInterface: description: Provide additional data to access the interface endpoint required: false targets: [ tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.VduCp ] + +tosca.policies.nfv.AffinityRule: + derived_from: tosca.policies.Placement + description: The AffinityRule describes the affinity rules applicable for the defined targets + properties: + scope: + type: string + description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. + required: true + constraints: + - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] + targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ] + +tosca.policies.nfv.AntiAffinityRule: + derived_from: tosca.policies.Placement + description: The AntiAffinityRule describes the anti-affinity rules applicable for the defined targets + properties: + scope: + type: string + description: scope of the rule is an NFVI_node, an NFVI_PoP, etc. + required: true + constraints: + - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] + targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ] -- cgit 1.2.3-korg