Add more logics about fields value for OOF model 63/71463/2
authorliboNet <libo.zhu@intel.com>
Wed, 31 Oct 2018 02:03:49 +0000 (10:03 +0800)
committerliboNet <libo.zhu@intel.com>
Wed, 31 Oct 2018 17:44:30 +0000 (01:44 +0800)
To align with OOF/Policy/SO, need add below:
. resource should be set as name field of SDC resource.
. identity should be set as a concatenation of PolicyType + "_" + Resource
. value of flavorDirective's type, expected from OOF, is "flavor_directives"
. policyScope should add the name of service from SDC to align with that from SO.
. Update the Testcase

Change-Id: I57f461ef51e0f50e6096c9c9ba84c5832cb13656
Issue-ID: POLICY-1227
Signed-off-by: liboNet <libo.zhu@intel.com>
plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ExtractFromNode.java
plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java
plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/decoding/pdpx/TestPolicyDecoderCsarPdpx.java

index 4f822b2..02b5755 100644 (file)
@@ -38,6 +38,7 @@ import org.onap.policy.distribution.reception.decoding.PolicyDecodingException;
 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
 import org.onap.sdc.toscaparser.api.CapabilityAssignment;
 import org.onap.sdc.toscaparser.api.CapabilityAssignments;
+import org.onap.sdc.toscaparser.api.elements.Metadata;
 import org.onap.sdc.toscaparser.api.NodeTemplate;
 import org.onap.sdc.toscaparser.api.RequirementAssignment;
 
@@ -82,8 +83,8 @@ public class ExtractFromNode {
      * @throws PolicyDecodingException if extract fails
      */
     public Content extractInfo(final NodeTemplate node) throws PolicyDecodingException {
-
-        LOGGER.debug("the meta data of this nodetemplate = " + sdcCsarHelper.getNodeTemplateMetadata(node));
+        Metadata metaData = sdcCsarHelper.getNodeTemplateMetadata(node);
+        LOGGER.debug("the meta data of this nodetemplate = " + metaData);
         final List<NodeTemplate> lnodeChild = sdcCsarHelper.getNodeTemplateChildren(node);
         LOGGER.debug("the size of lnodeChild = " + lnodeChild.size());
 
@@ -105,6 +106,8 @@ public class ExtractFromNode {
         LOGGER.debug("the size of cp is =" + lnodeVduCp.size());
 
         final Content content = new Content();
+        content.setResources(metaData.getValue("name"));
+        content.setIdentity(content.getPolicyType() + "_" + content.getResources());
         extractInfoVdu(lnodeVdu, content);
         extractInfoVduCp(lnodeVduCp, content);
         if (content.getFlavorFeatures().isEmpty()) {
@@ -128,7 +131,7 @@ public class ExtractFromNode {
             flavorAttribute.setAttributeName("flavorName");
             flavorAttribute.setAttributeValue("");
             final Directive flavorDirective = new Directive();
-            flavorDirective.setType("flavor_directive");
+            flavorDirective.setType("flavor_directives");
             flavorDirective.getAttributes().add(flavorAttribute);
             final FlavorFeature flavorFeature = new FlavorFeature();
             flavorFeature.setId(sdcCsarHelper.getNodeTemplatePropertyLeafValue(node, "name"));
index 97ca3f5..1451975 100644 (file)
@@ -55,6 +55,8 @@ public class PolicyDecoderCsarPdpx implements PolicyDecoder<Csar, OptimizationPo
         LOGGER.debug("the size of Vf = " + lnodeVf.size());
         final ExtractFromNode extractFromNode = new ExtractFromNode();
         extractFromNode.setSdcCsarHelper(sdcCsarHelper);
+        final String serviceName = sdcCsarHelper.getServiceMetadata().getValue("name");
+        LOGGER.debug("the name of the service = " + serviceName);
         for (final NodeTemplate node : lnodeVf) {
             final Content content = extractFromNode.extractInfo(node);
             if (content != null) {
@@ -70,6 +72,7 @@ public class PolicyDecoderCsarPdpx implements PolicyDecoder<Csar, OptimizationPo
                 configBody.setRiskType(decoderParameters.getRiskType());
                 configBody.setGuard("false");
                 content.getPolicyScope().add("HPA");
+                content.getPolicyScope().add(serviceName);
                 configBody.setContent(content);
                 policy.setConfigBody(gson.toJson(configBody));
                 policys.add(policy);
index 2159386..de14852 100644 (file)
@@ -84,7 +84,7 @@ public class TestPolicyDecoderCsarPdpx {
 
         assertTrue(policy.getConfigBody().contains("\"id\":\"vdu_vnf_1\""));
         assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.node.nfv.Vdu.Compute\""));
-        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directive\""));
+        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\""));
         assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"BasicCapabilities\""));
         assertTrue(policy.getConfigBody().contains("\"mandatory\":\"true\""));
         assertTrue(policy.getConfigBody().contains("\"architecture\":\"generic\""));
@@ -113,7 +113,7 @@ public class TestPolicyDecoderCsarPdpx {
 
         assertTrue(policy.getConfigBody().contains("\"id\":\"vdu_vnf_1\""));
         assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.node.nfv.Vdu.Compute\""));
-        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directive\""));
+        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\""));
         assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"SriovNICNetwork\""));
@@ -154,7 +154,7 @@ public class TestPolicyDecoderCsarPdpx {
 
         assertTrue(policy.getConfigBody().contains("\"id\":\"vdu_vnf_1\""));
         assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.node.nfv.Vdu.Compute\""));
-        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directive\""));
+        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\""));
         assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"pciePassthrough\""));
@@ -197,7 +197,7 @@ public class TestPolicyDecoderCsarPdpx {
 
         assertTrue(policy.getConfigBody().contains("\"id\":\"vdu_vnf_1\""));
         assertTrue(policy.getConfigBody().contains("\"type\":\"tosca.node.nfv.Vdu.Compute\""));
-        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directive\""));
+        assertTrue(policy.getConfigBody().contains("\"type\":\"flavor_directives\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_name\":\"flavorName\""));
         assertTrue(policy.getConfigBody().contains("\"attribute_value\":\"\""));
         assertTrue(policy.getConfigBody().contains("\"hpa-feature\":\"hugePages\""));