aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/onap/clamp/clds/client/req/policy/OperationalPolicyReq.java149
-rw-r--r--src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html9
-rw-r--r--src/main/resources/application.properties11
-rw-r--r--src/main/resources/clds/templates/globalProperties.json7
-rw-r--r--src/main/resources/clds/templates/op-eNodeB-recipe.json44
-rw-r--r--src/test/java/org/onap/clamp/clds/it/OperationPolicyReqItCase.java18
-rw-r--r--src/test/resources/application.properties11
-rw-r--r--src/test/resources/clds/templates/globalProperties.json7
-rw-r--r--src/test/resources/clds/templates/op-eNodeB-recipe.json44
-rw-r--r--src/test/resources/example/model-properties/custom/modelBpmnProperties.json2
-rw-r--r--src/test/resources/example/model-properties/policy/modelBpmnProperties.json2
-rw-r--r--src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml93
-rw-r--r--src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml93
-rw-r--r--src/test/resources/example/sdc/expected-result/sdc-properties-4cc5b45a.json7
-rw-r--r--src/test/resources/example/sdc/sdcResourceDetailsExample.json11
-rw-r--r--src/test/resources/example/sdc/sdcVFResources.json28
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",