diff options
16 files changed, 61 insertions, 475 deletions
diff --git a/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java b/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java index d3e8a541..911cd6ad 100644 --- a/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java +++ b/src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java @@ -24,10 +24,7 @@ package org.onap.clamp.clds.client.req.policy; import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFLogger.Level; import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; @@ -44,9 +41,7 @@ import org.onap.clamp.clds.model.properties.Global; import org.onap.clamp.clds.model.properties.ModelProperties; import org.onap.clamp.clds.model.properties.PolicyChain; import org.onap.clamp.clds.model.properties.PolicyItem; -import org.onap.clamp.clds.model.properties.Tca; import org.onap.policy.api.AttributeType; -import org.onap.policy.controlloop.policy.OperationsAccumulateParams; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.controlloop.policy.PolicyResult; import org.onap.policy.controlloop.policy.Target; @@ -80,35 +75,16 @@ public class OperationalPolicyReq { * @throws BuilderException * @throws UnsupportedEncodingException */ - public static Map<AttributeType, Map<String, String>> formatAttributes(ClampProperties refProp, ModelProperties prop, - String modelElementId, PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { + public static Map<AttributeType, Map<String, String>> formatAttributes(ClampProperties refProp, + ModelProperties prop, String modelElementId, PolicyChain policyChain) + throws BuilderException, UnsupportedEncodingException { Global global = prop.getGlobal(); prop.setCurrentModelElementId(modelElementId); prop.setPolicyUniqueId(policyChain.getPolicyId()); - String templateName = ""; - String operationTopic = ""; - String notificationTopic = ""; - String controller = ""; - Tca tca = prop.getType(Tca.class); - if (tca != null && tca.isFound()) { - if (!global.getActionSet().equalsIgnoreCase("enbRecipe")) { - throw new BadRequestException( - "Operation Policy validation problem: action set is not selected properly."); - } - templateName = refProp.getStringValue("op.eNodeB.templateName", global.getService()); - operationTopic = refProp.getStringValue("op.eNodeB.operationTopic", global.getService()); - notificationTopic = refProp.getStringValue("op.eNodeB.notificationTopic", global.getService()); - controller = refProp.getStringValue("op.eNodeB.controller", global.getService()); - } else { - if (!global.getActionSet().equalsIgnoreCase("vnfRecipe")) { - throw new BadRequestException( - "Operation Policy validation problem: Action set is not selected properly."); - } - templateName = refProp.getStringValue("op.templateName", global.getService()); - operationTopic = refProp.getStringValue("op.operationTopic", global.getService()); - notificationTopic = refProp.getStringValue("op.notificationTopic", global.getService()); - controller = refProp.getStringValue("op.controller", global.getService()); - } + String templateName = refProp.getStringValue("op.templateName", global.getService()); + String operationTopic = refProp.getStringValue("op.operationTopic", global.getService()); + String notificationTopic = refProp.getStringValue("op.notificationTopic", global.getService()); + String controller = refProp.getStringValue("op.controller", global.getService()); String recipeTopic = refProp.getStringValue("op.recipeTopic", global.getService()); // ruleAttributes logger.info("templateName=" + templateName); @@ -138,8 +114,7 @@ public class OperationalPolicyReq { } else { logger.info("operationTopic=" + operationTopic); // format yaml - String yaml = (tca != null && tca.isFound()) ? formateNodeBYaml(refProp, prop, modelElementId, policyChain) - : formatYaml(refProp, prop, modelElementId, policyChain); + String yaml = formatYaml(refProp, prop, modelElementId, policyChain); ruleAttributes.put("OperationTopic", operationTopic); ruleAttributes.put("ControlLoopYaml", yaml); } @@ -240,74 +215,6 @@ public class OperationalPolicyReq { return URLEncoder.encode(results.getSpecification(), "UTF-8"); } - /** - * Format Operational Policy yaml. - * - * @param refProp - * @param prop - * @param modelElementId - * @param policyChain - * @return - * @throws BuilderException - * @throws UnsupportedEncodingException - */ - protected static String formateNodeBYaml(ClampProperties refProp, ModelProperties prop, String modelElementId, - PolicyChain policyChain) throws BuilderException, UnsupportedEncodingException { - // get property objects - Global global = prop.getGlobal(); - prop.setCurrentModelElementId(modelElementId); - prop.setPolicyUniqueId(policyChain.getPolicyId()); - // convert values to SDC objects - Service service = new Service(global.getService()); - Resource[] vfResources = convertToResource(global.getResourceVf(), ResourceType.VF); - Resource[] vfcResources = convertToResource(global.getResourceVfc(), ResourceType.VFC); - // create builder - ControlLoopPolicyBuilder builder = ControlLoopPolicyBuilder.Factory.buildControlLoop(prop.getControlName(), - policyChain.getTimeout(), service, vfResources); - builder.addResource(vfcResources); - // process each policy - Map<String, Policy> policyObjMap = new HashMap<>(); - List<PolicyItem> policyItemList = addAOTSActorRecipe(refProp, global.getService(), - policyChain.getPolicyItems()); - Policy lastPolicyObj = new Policy(); - for (PolicyItem policyItem : policyItemList) { - Target target = new Target(); - target.setType(TargetType.VM); - target.setResourceID(policyItem.getTargetResourceId()); - String policyName = policyItem.getRecipe() + " Policy"; - Policy policyObj; - if (policyItemList.indexOf(policyItem) == 0) { - // To set up time window payload for trigger policy - Map<String, String> payloadMap = new HashMap<>(); - payloadMap.put("timeWindow", refProp.getStringValue("op.eNodeB.timeWindow")); - String policyDescription = policyItem.getRecipe() - + " Policy - the trigger (no parent) policy - created by CLDS"; - policyObj = builder.setTriggerPolicy(policyName, policyDescription, policyItem.getActor(), target, - policyItem.getRecipe(), payloadMap, policyItem.getMaxRetries(), policyItem.getRetryTimeLimit()); - } else { - Policy parentPolicyObj = policyObjMap.get(policyItem.getParentPolicy()); - String policyDescription = policyItem.getRecipe() + " Policy - triggered conditionally by " - + parentPolicyObj.getName() + " - created by CLDS"; - policyObj = builder.setPolicyForPolicyResult(policyName, policyDescription, policyItem.getActor(), - target, policyItem.getRecipe(), null, policyItem.getMaxRetries(), - policyItem.getRetryTimeLimit(), parentPolicyObj.getId(), - convertToPolicyResult(policyItem.getParentPolicyConditions())); - lastPolicyObj = policyObj; - logger.info("policyObj.id=" + policyObj.getId() + "; parentPolicyObj.id=" + parentPolicyObj.getId()); - } - policyObjMap.put(policyItem.getId(), policyObj); - } - // To set up operations accumulate params - OperationsAccumulateParams operationsAccumulateParams = new OperationsAccumulateParams(); - operationsAccumulateParams.setLimit(Integer.valueOf(refProp.getStringValue("op.eNodeB.limit"))); - operationsAccumulateParams.setPeriod(refProp.getStringValue("op.eNodeB.period")); - builder.addOperationsAccumulateParams(lastPolicyObj.getId(), operationsAccumulateParams); - // Build the specification - Results results = builder.buildSpecification(); - validate(results); - return URLEncoder.encode(results.getSpecification(), "UTF-8"); - } - private static void validate(Results results) { if (results.isValid()) { logger.info("results.getSpecification()=" + results.getSpecification()); @@ -324,46 +231,6 @@ public class OperationalPolicyReq { } /** - * Adding AOTS actor and other recipe for yaml - * - * @param inOrigList - * @return - */ - private static List<PolicyItem> addAOTSActorRecipe(ClampProperties refProp, String service, List<PolicyItem> inOrigList) { - List<PolicyItem> outList = new ArrayList<>(); - try { - PolicyItem policyItem = inOrigList.get(0); - ObjectNode rootNode = (ObjectNode) refProp.getJsonTemplate("op.eNodeB.recipe", service); - Iterator<JsonNode> itr = rootNode.get("eNodeBRecipes").elements(); - while (itr.hasNext()) { - PolicyItem policyItemObj = (PolicyItem) policyItem.clone(); - JsonNode recipeNode = itr.next(); - policyItemObj.setId(recipeNode.path("Recipe").asText()); - policyItemObj.setActor(recipeNode.path("Actor").asText()); - policyItemObj.setRecipe(recipeNode.path("Recipe").asText()); - policyItemObj.setParentPolicy(recipeNode.path("ParentPolicy").asText()); - if (!recipeNode.path("Retry").asText().isEmpty()) { - policyItemObj.setMaxRetries(Integer.parseInt(recipeNode.path("Retry").asText())); - } - if (!recipeNode.path("TimeLimit").asText().isEmpty()) { - policyItemObj.setRetryTimeLimit(Integer.parseInt(recipeNode.path("TimeLimit").asText())); - } - if (!recipeNode.path("PPConditions").asText().isEmpty()) { - List<String> parentPolicyConditions = new ArrayList<>(); - for (String ppCondition : recipeNode.path("PPConditions").asText().split(",")) { - parentPolicyConditions.add(ppCondition); - } - policyItemObj.setParentPolicyConditions(parentPolicyConditions); - } - outList.add(policyItemObj); - } - } catch (Exception e) { - logger.log(Level.ERROR, "Error", e); - } - return outList; - } - - /** * Order list of PolicyItems so that parents come before any of their * children * diff --git a/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html b/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html index a0b8f4e7..c905be3a 100644 --- a/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html +++ b/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html @@ -837,15 +837,6 @@ label { }); } break; - } else if (asSel == "enbRecipe"){ - if (vf_Services["policy"][asSel]){ - $.each((vf_Services["policy"][asSel]), function(val, text) { - $('#recipe').append( - $('<option></option>').val(val).html(text) - ); - }); - } - break; } }; }; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c1c01161..2ff9205d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -168,17 +168,6 @@ clamp.config.op.operationTopic=APPC-CL clamp.config.op.notificationTopic=POLICY-CL-MGT
clamp.config.op.controller=amsterdam
clamp.config.op.policy.appc=APPC
-# by service: vSCP
-clamp.config.op.templateName.vSCP=ClosedLoopTemplate
-clamp.config.op.controller.vSCP=1607-f5fw
-clamp.config.op.eNodeB.templateName=ClosedLoopControlName
-clamp.config.op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00
-clamp.config.op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL
-clamp.config.op.eNodeB.controller=amsterdam
-clamp.config.op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json
-clamp.config.op.eNodeB.timeWindow=35
-clamp.config.op.eNodeB.limit=2
-clamp.config.op.eNodeB.period=10s
#
# Sdc service properties
clamp.config.sdc.catalog.url=http://sdc.api.simpledemo.onap.org:8080/sdc/v1/catalog/
diff --git a/src/main/resources/clds/templates/globalProperties.json b/src/main/resources/clds/templates/globalProperties.json index 9ac9d944..c9bbbf72 100644 --- a/src/main/resources/clds/templates/globalProperties.json +++ b/src/main/resources/clds/templates/globalProperties.json @@ -36,8 +36,7 @@ }, "global": { "actionSet": { - "vnfRecipe": "VNF", - "enbRecipe": "eNodeB" + "vnfRecipe": "VNF" }, "location": { "DC1": "Data Center 1", @@ -55,10 +54,6 @@ "migrate": "Migrate", "healthCheck": "Health Check" }, - "enbRecipe": { - "": "", - "reset": "Reset" - }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { diff --git a/src/main/resources/clds/templates/op-eNodeB-recipe.json b/src/main/resources/clds/templates/op-eNodeB-recipe.json deleted file mode 100644 index 7098987a..00000000 --- a/src/main/resources/clds/templates/op-eNodeB-recipe.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "eNodeBRecipes": [ - { - "Actor": "AOTS", - "Recipe": "checkENodeBTicketHours", - "ParentPolicy": "", - "PPConditions": "", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkEquipmentStatus", - "ParentPolicy": "checkENodeBTicketHours", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkEimStatus", - "ParentPolicy": "checkEquipmentStatus", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkMaintenanceWindow", - "ParentPolicy": "checkEimStatus", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "SDNR", - "Recipe": "Reset", - "ParentPolicy": "checkMaintenanceWindow", - "PPConditions": "Success", - "Retry": "", - "TimeLimit": "" - } - ] -} diff --git a/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java b/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java index 43f212cf..a91da8a0 100644 --- a/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java +++ b/src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java @@ -74,20 +74,24 @@ public class OperationPolicyReqItCase { // now validate the Yaml, to do so we replace the dynamic ID by a known // key so that we can compare it String yaml = URLDecoder.decode(attributes.get(0).get(AttributeType.RULE).get("ControlLoopYaml"), "UTF-8"); - yaml = yaml.replaceAll("trigger_policy: (.*)", "trigger_policy: <generatedId>"); - yaml = yaml.replaceAll("id: (.*)", "id: <generatedId>"); - yaml = yaml.replaceAll("success: (.*)", "success: <generatedId>"); - // Remove this field as not always present (depends of policy api) - yaml = yaml.replaceAll(" pnf: null" + System.lineSeparator(), ""); - yaml = yaml.substring(yaml.indexOf("controlLoop:"), yaml.length()); + yaml = replaceGeneratedValues(yaml); assertEquals(ResourceFileUtil.getResourceAsString("example/operational-policy/yaml-policy-chain-1.yaml"), yaml); yaml = URLDecoder.decode(attributes.get(1).get(AttributeType.RULE).get("ControlLoopYaml"), "UTF-8"); + yaml = replaceGeneratedValues(yaml); + assertEquals(ResourceFileUtil.getResourceAsString("example/operational-policy/yaml-policy-chain-2.yaml"), yaml); + } + + private String replaceGeneratedValues(String yaml) { yaml = yaml.replaceAll("trigger_policy: (.*)", "trigger_policy: <generatedId>"); yaml = yaml.replaceAll("id: (.*)", "id: <generatedId>"); yaml = yaml.replaceAll("success: (.*)", "success: <generatedId>"); // Remove this field as not always present (depends of policy api) yaml = yaml.replaceAll(" pnf: null" + System.lineSeparator(), ""); + yaml = yaml.replaceAll("failure: (.*)", "failure: <generatedId>"); + yaml = yaml.replaceAll("failure_exception: (.*)", "failure_exception: <generatedId>"); + yaml = yaml.replaceAll("failure_retries: (.*)", "failure_retries: <generatedId>"); + yaml = yaml.replaceAll("failure_timeout: (.*)", "failure_timeout: <generatedId>"); yaml = yaml.substring(yaml.indexOf("controlLoop:"), yaml.length()); - assertEquals(ResourceFileUtil.getResourceAsString("example/operational-policy/yaml-policy-chain-2.yaml"), yaml); + return yaml; } } diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index e0775ec6..535f54af 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -166,17 +166,6 @@ clamp.config.op.operationTopic=APPC-CL clamp.config.op.notificationTopic=POLICY-CL-MGT
clamp.config.op.controller=amsterdam
clamp.config.op.policy.appc=APPC
-# by service: vSCP
-clamp.config.op.templateName.vSCP=ClosedLoopTemplate
-clamp.config.op.controller.vSCP=1607-f5fw
-clamp.config.op.eNodeB.templateName=ClosedLoopControlName
-clamp.config.op.eNodeB.operationTopic=com.onap.sdnr.RanCLRequest-v00
-clamp.config.op.eNodeB.notificationTopic=com.onap-policy.IST-ENODEB-CL
-clamp.config.op.eNodeB.controller=amsterdam
-clamp.config.op.eNodeB.recipe=classpath:/clds/templates/op-eNodeB-recipe.json
-clamp.config.op.eNodeB.timeWindow=35
-clamp.config.op.eNodeB.limit=2
-clamp.config.op.eNodeB.period=10s
#
# Sdc service properties
clamp.config.sdc.catalog.url=http://localhost:${docker.http-cache.port.host}/sdc/v1/catalog/
diff --git a/src/test/resources/clds/templates/globalProperties.json b/src/test/resources/clds/templates/globalProperties.json index 9ac9d944..c9bbbf72 100644 --- a/src/test/resources/clds/templates/globalProperties.json +++ b/src/test/resources/clds/templates/globalProperties.json @@ -36,8 +36,7 @@ }, "global": { "actionSet": { - "vnfRecipe": "VNF", - "enbRecipe": "eNodeB" + "vnfRecipe": "VNF" }, "location": { "DC1": "Data Center 1", @@ -55,10 +54,6 @@ "migrate": "Migrate", "healthCheck": "Health Check" }, - "enbRecipe": { - "": "", - "reset": "Reset" - }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { diff --git a/src/test/resources/clds/templates/op-eNodeB-recipe.json b/src/test/resources/clds/templates/op-eNodeB-recipe.json deleted file mode 100644 index 7098987a..00000000 --- a/src/test/resources/clds/templates/op-eNodeB-recipe.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "eNodeBRecipes": [ - { - "Actor": "AOTS", - "Recipe": "checkENodeBTicketHours", - "ParentPolicy": "", - "PPConditions": "", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkEquipmentStatus", - "ParentPolicy": "checkENodeBTicketHours", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkEimStatus", - "ParentPolicy": "checkEquipmentStatus", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "AOTS", - "Recipe": "checkMaintenanceWindow", - "ParentPolicy": "checkEimStatus", - "PPConditions": "Success", - "Retry": "0", - "TimeLimit": "120" - }, - { - "Actor": "SDNR", - "Recipe": "Reset", - "ParentPolicy": "checkMaintenanceWindow", - "PPConditions": "Success", - "Retry": "", - "TimeLimit": "" - } - ] -} diff --git a/src/test/resources/example/model-properties/custom/modelBpmnProperties.json b/src/test/resources/example/model-properties/custom/modelBpmnProperties.json index fc2f1fd9..740edeea 100644 --- a/src/test/resources/example/model-properties/custom/modelBpmnProperties.json +++ b/src/test/resources/example/model-properties/custom/modelBpmnProperties.json @@ -21,7 +21,7 @@ "name": "actionSet", "value": [ - "enbRecipe" + "vnfRecipe" ] }, diff --git a/src/test/resources/example/model-properties/policy/modelBpmnProperties.json b/src/test/resources/example/model-properties/policy/modelBpmnProperties.json index 99f67b62..5c2214e8 100644 --- a/src/test/resources/example/model-properties/policy/modelBpmnProperties.json +++ b/src/test/resources/example/model-properties/policy/modelBpmnProperties.json @@ -21,7 +21,7 @@ "name": "actionSet", "value": [ - "enbRecipe" + "vnfRecipe" ] }, diff --git a/src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml b/src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml index afe9fdd8..fec0e1e6 100644 --- a/src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml +++ b/src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml @@ -16,93 +16,36 @@ controlLoop: trigger_policy: <generatedId> version: 2.0.0 policies: -- actor: AOTS - description: checkENodeBTicketHours Policy - the trigger (no parent) policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION +- actor: APPC + description: restart Policy - the trigger (no parent) policy - created by CLDS + failure: <generatedId> + failure_exception: <generatedId> failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT + failure_retries: <generatedId> + failure_timeout: <generatedId> id: <generatedId> - name: checkENodeBTicketHours Policy - operationsAccumulateParams: null - payload: - timeWindow: '35' - recipe: checkENodeBTicketHours - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: AOTS - description: checkEquipmentStatus Policy - triggered conditionally by checkENodeBTicketHours Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: checkEquipmentStatus Policy - operationsAccumulateParams: null - payload: null - recipe: checkEquipmentStatus - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: AOTS - description: checkEimStatus Policy - triggered conditionally by checkEquipmentStatus Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: checkEimStatus Policy + name: restart Policy operationsAccumulateParams: null payload: null - recipe: checkEimStatus - retry: 0 + recipe: restart + retry: 3 success: <generatedId> target: resourceID: resource-id type: VM - timeout: 120 -- actor: AOTS - description: checkMaintenanceWindow Policy - triggered conditionally by checkEimStatus Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION + timeout: 180 +- actor: APPC + description: rebuild Policy - triggered conditionally by restart Policy - created by CLDS + failure: <generatedId> + failure_exception: <generatedId> failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT + failure_retries: <generatedId> + failure_timeout: <generatedId> id: <generatedId> - name: checkMaintenanceWindow Policy + name: rebuild Policy operationsAccumulateParams: null payload: null - recipe: checkMaintenanceWindow - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: SDNR - description: Reset Policy - triggered conditionally by checkMaintenanceWindow Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: Reset Policy - operationsAccumulateParams: - limit: 2 - period: 10s - payload: null - recipe: Reset + recipe: rebuild retry: 3 success: <generatedId> target: diff --git a/src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml b/src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml index afe9fdd8..fec0e1e6 100644 --- a/src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml +++ b/src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml @@ -16,93 +16,36 @@ controlLoop: trigger_policy: <generatedId> version: 2.0.0 policies: -- actor: AOTS - description: checkENodeBTicketHours Policy - the trigger (no parent) policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION +- actor: APPC + description: restart Policy - the trigger (no parent) policy - created by CLDS + failure: <generatedId> + failure_exception: <generatedId> failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT + failure_retries: <generatedId> + failure_timeout: <generatedId> id: <generatedId> - name: checkENodeBTicketHours Policy - operationsAccumulateParams: null - payload: - timeWindow: '35' - recipe: checkENodeBTicketHours - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: AOTS - description: checkEquipmentStatus Policy - triggered conditionally by checkENodeBTicketHours Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: checkEquipmentStatus Policy - operationsAccumulateParams: null - payload: null - recipe: checkEquipmentStatus - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: AOTS - description: checkEimStatus Policy - triggered conditionally by checkEquipmentStatus Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: checkEimStatus Policy + name: restart Policy operationsAccumulateParams: null payload: null - recipe: checkEimStatus - retry: 0 + recipe: restart + retry: 3 success: <generatedId> target: resourceID: resource-id type: VM - timeout: 120 -- actor: AOTS - description: checkMaintenanceWindow Policy - triggered conditionally by checkEimStatus Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION + timeout: 180 +- actor: APPC + description: rebuild Policy - triggered conditionally by restart Policy - created by CLDS + failure: <generatedId> + failure_exception: <generatedId> failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT + failure_retries: <generatedId> + failure_timeout: <generatedId> id: <generatedId> - name: checkMaintenanceWindow Policy + name: rebuild Policy operationsAccumulateParams: null payload: null - recipe: checkMaintenanceWindow - retry: 0 - success: <generatedId> - target: - resourceID: resource-id - type: VM - timeout: 120 -- actor: SDNR - description: Reset Policy - triggered conditionally by checkMaintenanceWindow Policy - created by CLDS - failure: FINAL_FAILURE - failure_exception: FINAL_FAILURE_EXCEPTION - failure_guard: FINAL_FAILURE_GUARD - failure_retries: FINAL_FAILURE_RETRIES - failure_timeout: FINAL_FAILURE_TIMEOUT - id: <generatedId> - name: Reset Policy - operationsAccumulateParams: - limit: 2 - period: 10s - payload: null - recipe: Reset + recipe: rebuild retry: 3 success: <generatedId> target: diff --git a/src/test/resources/example/sdc/expected-result/sdc-properties-4cc5b45a.json b/src/test/resources/example/sdc/expected-result/sdc-properties-4cc5b45a.json index 8c5f39d8..5e0ba72a 100644 --- a/src/test/resources/example/sdc/expected-result/sdc-properties-4cc5b45a.json +++ b/src/test/resources/example/sdc/expected-result/sdc-properties-4cc5b45a.json @@ -36,8 +36,7 @@ }, "global": { "actionSet": { - "vnfRecipe": "VNF", - "enbRecipe": "eNodeB" + "vnfRecipe": "VNF" }, "location": { "DC1": "Data Center 1", @@ -55,10 +54,6 @@ "migrate": "Migrate", "healthCheck": "Health Check" }, - "enbRecipe": { - "": "", - "reset": "Reset" - }, "maxRetries": "3", "retryTimeLimit": 180, "resource": { diff --git a/src/test/resources/example/sdc/sdcResourceDetailsExample.json b/src/test/resources/example/sdc/sdcResourceDetailsExample.json index 6087d020..3e904b10 100644 --- a/src/test/resources/example/sdc/sdcResourceDetailsExample.json +++ b/src/test/resources/example/sdc/sdcResourceDetailsExample.json @@ -108,17 +108,6 @@ "artifactVersion": "1", "artifactLabel": "heatartifact2", "artifactGroupType": "DEPLOYMENT" - }, - { - "artifactName": "eNodeB_Thresholds.csv", - "artifactType": "OTHER", - "artifactURL": "/sdc/v1/catalog/resources/84855843-5247-4e97-a2bd-5395a510253b/artifacts/d57ac7ec-f3c3-4793-983a-c75ac3a43153", - "artifactDescription": "kpis with nfNamingCode", - "artifactChecksum": "YTc1MDU0ZDFhODUwMGM5YmIwM2FmMWUzMmRiY2NlMGI=", - "artifactUUID": "d57ac7ec-f3c3-4793-983a-c75ac3a43153", - "artifactVersion": "1", - "artifactLabel": "kpis", - "artifactGroupType": "DEPLOYMENT" } ], diff --git a/src/test/resources/example/sdc/sdcVFResources.json b/src/test/resources/example/sdc/sdcVFResources.json index 62c58bee..7bf99bb4 100644 --- a/src/test/resources/example/sdc/sdcVFResources.json +++ b/src/test/resources/example/sdc/sdcVFResources.json @@ -622,20 +622,7 @@ "lifecycleState": "READY_FOR_CERTIFICATION", "lastUpdaterUserId": "rx827p" }, - - { - "uuid": "e01dfc8f-2529-423b-9765-08b57df6ba51", - "invariantUUID": "6c7aaec2-59eb-41d9-8681-b7f976ab668d", - "name": "eNodeB-vf", - "version": "1.1", - "toscaModelURL": "/sdc/v1/catalog/resources/e01dfc8f-2529-423b-9765-08b57df6ba51/toscaModel", - "category": "Application L4+", - "subCategory": "Application Server", - "resourceType": "VF", - "lifecycleState": "CERTIFICATION_IN_PROGRESS", - "lastUpdaterUserId": "rx827p" - }, - + { "uuid": "d26e8473-b1c9-4751-bf7c-be0e10ba71ac", "invariantUUID": "e06a2a94-5ff9-4ab7-879f-c2d5cfaef1ca", @@ -1482,19 +1469,6 @@ }, { - "uuid": "e01dfc8f-2529-423b-9765-08b57df6ba51", - "invariantUUID": "6c7aaec2-59eb-41d9-8681-b7f976ab668d", - "name": "eNodeB-vf", - "version": "2.0", - "toscaModelURL": "/sdc/v1/catalog/resources/e01dfc8f-2529-423b-9765-08b57df6ba51/toscaModel", - "category": "Application L4+", - "subCategory": "Application Server", - "resourceType": "VF", - "lifecycleState": "CERTIFIED", - "lastUpdaterUserId": "af3193" - }, - - { "uuid": "1cad2e90-0259-498f-884d-7bbe5a156fb2", "invariantUUID": "76b01019-a533-4c31-871d-6275924c7543", "name": "vPE-AV-renana", |