aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlalena.aria <lalena.aria@att.com>2018-07-30 14:55:25 -0400
committerlalena.aria <lalena.aria@att.com>2018-07-30 14:56:00 -0400
commitf6e8db81573312f7b1085f6b55ad2bd4b7eba20d (patch)
tree5cc7c1e974bae1efe5dd0744031e0fbdc2bd8e13
parentdcbfe0d9bebc371623518c162a568361e61bc519 (diff)
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 <lalena.aria@att.com>
-rw-r--r--ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncBaseModel.java124
-rw-r--r--ueb-listener/src/main/java/org/onap/ccsdk/sli/northbound/uebclient/SdncVFModel.java11
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<Policy> policyList = sdcCsarHelper.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nodeTemplate, policyType);
//List<Policy> policyList2 = sdcCsarHelper.getPoliciesOfTopologyTemplateByToscaPolicyType(policyType); // returns nothing
//List<Policy> 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<String, String> cleanupParams = new HashMap<String, String>();
addParameter("resource_uuid", resourceUuid, cleanupParams);
addParameter("policy_uuid", policyUuid, cleanupParams);
addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams);
+ // insert into RESOURCE_POLICY
Map<String, String> policyParams = new HashMap<String, String>();
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<String, String> cleanupParams = new HashMap<String, String>();
- 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<String, String> policyParams = new HashMap<String, String>();
- 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<String, String> mappingCleanupParams = new HashMap<String, String>();
@@ -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<Policy> 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<String, String> cleanupParams = new HashMap<String, String>();
+ addParameter("resource_uuid", resourceUuid, cleanupParams);
+ addParameter("policy_uuid", policyUuid, cleanupParams);
+ addParameter("policy_invariant_uuid", policyInvariantUuid, cleanupParams);
+
+ // insert into RESOURCE_POLICY
+ Map<String, String> policyParams = new HashMap<String, String>();
+ 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<NodeTemplate> 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<String, String> mappingCleanupParams = new HashMap<String, String>();
+ 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<String, String> mappingParams = new HashMap<String, String>();
+ 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<Policy> policyList = sdcCsarHelper.getPoliciesOfOriginOfNodeTemplateByToscaPolicyType(nodeTemplate, "org.openecomp.policies.External");
- for (Policy policy : policyList){
-
- policy.getmetadata();
- Map<String, Object> propMap = policy.getPolicyProperties();
- }
+ // For each VF node, ingest External Policy data
+ insertPolicyData (nodeTemplate, jdbcDataSource, serviceUUID, "org.openecomp.policies.External");
}
public String getVendor() {