From f6e8db81573312f7b1085f6b55ad2bd4b7eba20d Mon Sep 17 00:00:00 2001 From: "lalena.aria" Date: Mon, 30 Jul 2018 14:55:25 -0400 Subject: Add external policy ingestion for VF nodes Changes made: Added SdncBaseModel.insertPolicyData for VF nodes. Added call to insertPolicyData from VF node ingestion. Change-Id: I0df1217352354068f11b0cc01923b564c730a149 Issue-ID: CCSDK-404 Signed-off-by: lalena.aria --- .../sli/northbound/uebclient/SdncBaseModel.java | 124 ++++++++++++++++----- .../sli/northbound/uebclient/SdncVFModel.java | 11 +- 2 files changed, 101 insertions(+), 34 deletions(-) diff --git a/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncBaseModel.java b/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncBaseModel.java index 7f0e9398..57be926b 100644 --- a/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncBaseModel.java +++ b/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncBaseModel.java @@ -264,35 +264,29 @@ public class SdncBaseModel { List policyList = sdcCsarHelper.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nodeTemplate, policyType); //List policyList2 = sdcCsarHelper.getPoliciesOfTopologyTemplateByToscaPolicyType(policyType); // returns nothing //List policyList3 = sdcCsarHelper.getPoliciesOfTargetByToscaPolicyType(nodeTemplate, policyType); // returns nothing - + + String resourceUuid = getUUID(); + for (Policy policy : policyList) { - String resourceUuid = getUUID(); - // extract metadata - //policy.getmetadata(); - NPE - //Metadata metadata = policy.getMetadata(); - - //String policyUuid = extractValue(metadata, "UUID"); + // extract policy metadata String policyUuid = policy.getMetaData().getOrDefault("UUID", "").toString(); - //String policyInvariantUuid = extractValue(metadata, "invariantUUID"); String policyInvariantUuid = policy.getMetaData().getOrDefault("invariantUUID", "").toString(); - //String policyCustomizationUuid = extractValue(metadata, "customizationUUID"); String policyCustomizationUuid = policy.getMetaData().getOrDefault("customizationUUID", "").toString(); + // cleanup existing RESOURCE_POLICY data Map cleanupParams = new HashMap(); addParameter("resource_uuid", resourceUuid, cleanupParams); addParameter("policy_uuid", policyUuid, cleanupParams); addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams); + // insert into RESOURCE_POLICY Map policyParams = new HashMap(); addParameter("policy_uuid", policyUuid, policyParams); addParameter("policy_customization_uuid", policyCustomizationUuid, policyParams); addParameter("policy_invariant_uuid", policyInvariantUuid, policyParams); - //addParameter("policy_name", extractValue(metadata, "name"), policyParams); addParameter("policy_name", policy.getMetaData().getOrDefault("name", "").toString(), policyParams); - //addParameter("version", extractValue(metadata, "version"), policyParams); addParameter("version", policy.getMetaData().getOrDefault("version", "").toString(), policyParams); - //addParameter("policy_type", extractValue(metadata, "type"), policyParams); addParameter("policy_type", policy.getMetaData().getOrDefault("type", "").toString(), policyParams); // extract properties @@ -351,22 +345,24 @@ public class SdncBaseModel { String policyUuid = policy.getMetaData().getOrDefault("UUID", "").toString(); String policyInvariantUuid = policy.getMetaData().getOrDefault("invariantUUID", "").toString(); - // insert into RESOURCE_POLICY + // cleanup existing RESOURCE_POLICY data Map cleanupParams = new HashMap(); - SdncBaseModel.addParameter("resource_uuid", resourceUuid, cleanupParams); - SdncBaseModel.addParameter("policy_uuid", policyUuid, cleanupParams); - SdncBaseModel.addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams); + addParameter("resource_uuid", resourceUuid, cleanupParams); + addParameter("policy_uuid", policyUuid, cleanupParams); + addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams); + // insert into RESOURCE_POLICY Map policyParams = new HashMap(); - SdncBaseModel.addParameter("policy_uuid", policyUuid, policyParams); - SdncBaseModel.addParameter("policy_invariant_uuid", policyInvariantUuid, policyParams); - SdncBaseModel.addParameter("policy_name", policy.getMetaData().getOrDefault("name", "").toString(), policyParams); - SdncBaseModel.addParameter("version", policy.getMetaData().getOrDefault("version", "").toString(), policyParams); - SdncBaseModel.addParameter("policy_type", policy.getType(), policyParams); + addParameter("policy_uuid", policyUuid, policyParams); + addParameter("policy_invariant_uuid", policyInvariantUuid, policyParams); + addParameter("policy_name", policy.getMetaData().getOrDefault("name", "").toString(), policyParams); + addParameter("version", policy.getMetaData().getOrDefault("version", "").toString(), policyParams); + addParameter("policy_type", policy.getType(), policyParams); - SdncBaseModel.addParameter("property_type", extractValueStatic(policy, "type"), policyParams); - SdncBaseModel.addParameter("property_source", extractValueStatic(policy, "source"), policyParams); - SdncBaseModel.addParameter("property_name", extractValueStatic(policy, "name"), policyParams); + // extract properties + addParameter("property_type", extractValueStatic(policy, "type"), policyParams); + addParameter("property_source", extractValueStatic(policy, "source"), policyParams); + addParameter("property_name", extractValueStatic(policy, "name"), policyParams); try { @@ -385,8 +381,6 @@ public class SdncBaseModel { for (String targetName : policyTargetNameList) { NodeTemplate targetNode = sdcCsarHelper.getNodeTemplateByName(targetName); - // extract targetNode metadata UUID and customizationUUID - // insert into RESOURCE_POLICY_TO_TARGET_NODE_MAPPING try { Map mappingCleanupParams = new HashMap(); @@ -412,6 +406,84 @@ public class SdncBaseModel { } } + protected void insertPolicyData (NodeTemplate nodeTemplate, DBResourceManager jdbcDataSource, String parentUuid, String policyType) throws IOException { + + // Get External policies of the node + List policyList = sdcCsarHelper.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nodeTemplate, policyType); + String resourceUuid = "\"" + extractValue (nodeTemplate.getMetaData(), SdcPropertyNames.PROPERTY_NAME_UUID) + "\""; + + for (Policy policy : policyList) { + + // extract policy metadata + String policyUuid = policy.getMetaData().getOrDefault("UUID", "").toString(); + String policyInvariantUuid = policy.getMetaData().getOrDefault("invariantUUID", "").toString(); + + // cleanup existing RESOURCE_POLICY data + Map cleanupParams = new HashMap(); + addParameter("resource_uuid", resourceUuid, cleanupParams); + addParameter("policy_uuid", policyUuid, cleanupParams); + addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams); + + // insert into RESOURCE_POLICY + Map policyParams = new HashMap(); + addParameter("policy_uuid", policyUuid, policyParams); + addParameter("policy_invariant_uuid", policyInvariantUuid, policyParams); + String policyName = policy.getMetaData().getOrDefault("name", "").toString(); + addParameter("policy_name", policyName, policyParams); + addParameter("version", policy.getMetaData().getOrDefault("version", "").toString(), policyParams); + addParameter("policy_type", policy.getType(), policyParams); + + // extract properties + addParameter("property_type", extractValue(policy, "type"), policyParams); + addParameter("property_source", extractValue(policy, "source"), policyParams); + addParameter("property_name", extractValue(policy, "name"), policyParams); + + try { + + // insert into RESOURCE_POLICY + cleanupExistingToscaData(jdbcDataSource, "RESOURCE_POLICY", cleanupParams); + LOG.info("Call insertToscaData for RESOURCE_POLICY where resource_uuid = " + resourceUuid); + insertToscaData(jdbcDataSource, getSql("RESOURCE_POLICY", "resource_uuid", resourceUuid, "", policyParams), null); + + } catch (IOException e) { + LOG.error("Could not insert Tosca CSAR data into the RESOURCE_POLICY table"); + throw new IOException (e); + } + + // insert into RESOURCE_POLICY_TO_TARGET_NODE_MAPPING + List targetNodeList = sdcCsarHelper.getPolicyTargetsFromOrigin(nodeTemplate, policyName); + for (NodeTemplate targetNode : targetNodeList) { + //NodeTemplate targetNode = sdcCsarHelper.getNodeTemplateByName(targetName); + if (targetNode == null) { + LOG.error("Target node for policy " + policyName + " is NULL. Can't insert into RESOURCE_POLICY_TO_TARGET_NODE_MAPPING"); + continue; + } + + // insert into RESOURCE_POLICY_TO_TARGET_NODE_MAPPING + try { + Map mappingCleanupParams = new HashMap(); + addParameter("policy_uuid", policyUuid, mappingCleanupParams); + addParameter("parent_uuid", parentUuid, mappingCleanupParams); + addParameter("target_node_uuid", targetNode.getMetaData().getValue("UUID"), mappingCleanupParams); + SdncBaseModel.cleanupExistingToscaData(jdbcDataSource, "RESOURCE_POLICY_TO_TARGET_NODE_MAPPING", mappingCleanupParams); + + Map mappingParams = new HashMap(); + addParameter("parent_uuid", parentUuid, mappingParams); + addParameter("target_node_uuid", targetNode.getMetaData().getValue("UUID"), mappingParams); + addParameter("target_node_customization_uuid", targetNode.getMetaData().getValue("customizationUUID"), mappingParams); + addParameter("target_type", targetNode.getMetaData().getValue("type"), mappingParams); // type of the target node + LOG.info("Call insertToscaData for RESOURCE_POLICY_TO_TARGET_NODE_MAPPING where policy_uuid = " + policyUuid + " and target_node_uuid = " + targetNode.getMetaData().getValue("UUID")); + SdncBaseModel.insertToscaData(jdbcDataSource, getSql("RESOURCE_POLICY_TO_TARGET_NODE_MAPPING", "policy_uuid", "\"" + policyUuid + "\"", "", mappingParams), null); + + } catch (IOException e) { + LOG.error("Could not insert Tosca CSAR data into the RESOURCE_POLICY_TO_TARGET_NODE_MAPPING table"); + throw new IOException (e); + } + + } + } + } + protected void insertNodeCapabilitiesData (CapabilityAssignments capabilities) throws IOException { // Process the capabilities on the node template diff --git a/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncVFModel.java b/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncVFModel.java index 95f9a0d3..84f8296c 100644 --- a/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncVFModel.java +++ b/ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncVFModel.java @@ -94,7 +94,7 @@ public class SdncVFModel extends SdncBaseModel { insertVFtoNetworkRoleMappingData(); insertVFCData(); insertVFCInstanceGroupData(); - //insertVFPolicyData(); - insert Policy data for VF? + insertVFPolicyData(); } private void insertVFModelData () throws IOException { @@ -261,13 +261,8 @@ public class SdncVFModel extends SdncBaseModel { private void insertVFPolicyData() throws IOException { - // For each VF node, get Policy data (is VFC the origin or target?) - List policyList = sdcCsarHelper.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nodeTemplate, "org.openecomp.policies.External"); - for (Policy policy : policyList){ - - policy.getmetadata(); - Map propMap = policy.getPolicyProperties(); - } + // For each VF node, ingest External Policy data + insertPolicyData (nodeTemplate, jdbcDataSource, serviceUUID, "org.openecomp.policies.External"); } public String getVendor() { -- cgit 1.2.3-korg