aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java13
-rw-r--r--src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java4
-rw-r--r--src/main/resources/clds/camel/routes/policy-flows.xml4
-rw-r--r--src/test/resources/http-cache/example/policy/api/v1/policytypes?connectionTimeToLive=5000/.file19
-rw-r--r--src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0?connectionTimeToLive=5000/.file80
-rw-r--r--src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0?connectionTimeToLive=5000/.header1
6 files changed, 102 insertions, 19 deletions
diff --git a/src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java b/src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java
index 44abc9dde..5e6d9d98d 100644
--- a/src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java
+++ b/src/main/java/org/onap/clamp/clds/client/PolicyEngineServices.java
@@ -27,12 +27,10 @@ import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
-import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.builder.ExchangeBuilder;
@@ -118,15 +116,12 @@ public class PolicyEngineServices {
return;
}
- List<LinkedHashMap<String, Object>> policyTypesList = (List<LinkedHashMap<String, Object>>) loadedYaml
+ LinkedHashMap<String, Object> policyTypesMap = (LinkedHashMap<String, Object>) loadedYaml
.get("policy_types");
- policyTypesList.parallelStream().forEach(policyType -> {
- Map.Entry<String, Object> policyTypeEntry =
- (Map.Entry<String, Object>) new ArrayList(policyType.entrySet()).get(0);
-
+ policyTypesMap.entrySet().stream().forEach(entryPolicyType -> {
policyModelsService.createPolicyInDbIfNeeded(
- createPolicyModelFromPolicyEngine(policyTypeEntry.getKey(),
- ((String) ((LinkedHashMap<String, Object>) policyTypeEntry.getValue()).get("version"))));
+ createPolicyModelFromPolicyEngine(entryPolicyType.getKey(),
+ ((String) ((LinkedHashMap<String, Object>) entryPolicyType.getValue()).get("version"))));
});
}
diff --git a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
index 47b3a4ff2..b3bd7e88a 100644
--- a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
+++ b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
@@ -152,8 +152,8 @@ public class MicroServicePolicy extends Policy implements Serializable {
@Override
public void updateJsonRepresentation(ToscaConverterWithDictionarySupport toscaConverter) {
- toscaConverter.convertToscaToJsonSchemaObject(this.getPolicyModel().getPolicyModelTosca(),
- this.getPolicyModel().getPolicyModelType());
+ this.setJsonRepresentation(toscaConverter.convertToscaToJsonSchemaObject(this.getPolicyModel().getPolicyModelTosca(),
+ this.getPolicyModel().getPolicyModelType()));
}
public Boolean getShared() {
diff --git a/src/main/resources/clds/camel/routes/policy-flows.xml b/src/main/resources/clds/camel/routes/policy-flows.xml
index 48e518da9..7b52f220d 100644
--- a/src/main/resources/clds/camel/routes/policy-flows.xml
+++ b/src/main/resources/clds/camel/routes/policy-flows.xml
@@ -138,7 +138,7 @@
</simple>
</setHeader>
<log loggingLevel="INFO"
- message="Endpoint to get all policy models: {{clamp.config.policy.pap.url}}/policy/api/v1/policytypes"></log>
+ message="Endpoint to get all policy models: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
<convertBodyTo type="java.lang.String"/>
@@ -172,7 +172,7 @@
</simple>
</setHeader>
<log loggingLevel="INFO"
- message="Endpoint to get policy model: {{clamp.config.policy.pap.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
+ message="Endpoint to get policy model: {{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}"></log>
<toD
uri="{{clamp.config.policy.api.url}}/policy/api/v1/policytypes/${exchangeProperty[policyModelName]}/versions/${exchangeProperty[policyModelVersion]}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authMethod=Basic&amp;authUsername={{clamp.config.policy.api.userName}}&amp;authPassword={{clamp.config.policy.api.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=20000&amp;authenticationPreemptive=true&amp;connectionClose=true"/>
<convertBodyTo type="java.lang.String"/>
diff --git a/src/test/resources/http-cache/example/policy/api/v1/policytypes&#63;connectionTimeToLive=5000/.file b/src/test/resources/http-cache/example/policy/api/v1/policytypes&#63;connectionTimeToLive=5000/.file
index 0cce9c3d9..7f5b897bf 100644
--- a/src/test/resources/http-cache/example/policy/api/v1/policytypes&#63;connectionTimeToLive=5000/.file
+++ b/src/test/resources/http-cache/example/policy/api/v1/policytypes&#63;connectionTimeToLive=5000/.file
@@ -1,34 +1,41 @@
-tosca_definitions_version: tosca_simple_yaml_1_0_0
+tosca_definitions_version: tosca_simple_yaml_1_1_0
policy_types:
- - onap.policies.controlloop.operational.common.Drools:
+ onap.policies.controlloop.operational.common.Drools:
version: 1.0.0
description: Operational Policy for Control Loops using the Drools PDP
derived_from: onapy.policies.controlloop.Operational
properties:
# Omitted for brevity, see Section 1
- - onap.policies.controlloop.operational.common.Apex:
+ onap.policies.controlloop.operational.common.Apex:
version: 1.0.0
description: Operational Policy for Control Loops using the APEX PDP
derived_from: onap.policies.controlloop.Operational
properties:
# Omitted for brevity, see Section 1
- - onap.policies.controlloop.guard.common.FrequencyLimiter:
+ onap.policies.controlloop.guard.common.FrequencyLimiter:
version: 1.0.0
description: Supports limiting the frequency of actions being taken by a Actor.
derived_from: onap.policies.controlloop.Guard
properties:
# Omitted for brevity, see Section 1
- - onap.policies.controlloop.guard.common.Blacklist:
+ onap.policies.controlloop.guard.common.Blacklist:
version: 1.0.0
description: Supports blacklist of VNF's from performing control loop actions on.
derived_from: onap.policies.controlloop.Guard
properties:
# Omitted for brevity, see Section 1
- - onap.policies.controlloop.guard.common.MinMax:
+ onap.policies.controlloop.guard.common.MinMax:
+ version: 1.0.0
+ description: Supports Min/Max number of VF Modules
+ derived_from: onap.policies.controlloop.Guard
+ properties:
+ # Omitted for brevity, see Section 1
+
+ onap.policies.controlloop.guard.common.MinMax:
version: 2.0.0
description: Supports Min/Max number of VF Modules
derived_from: onap.policies.controlloop.Guard
diff --git a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.file b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.file
new file mode 100644
index 000000000..778efae9e
--- /dev/null
+++ b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.file
@@ -0,0 +1,80 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
+ "policy_types": {
+ "onap.policies.controlloop.guard.Common": {
+ "properties": {
+ "id": {
+ "name": "id",
+ "type": "string",
+ "typeVersion": "0.0.0",
+ "description": "The Control Loop id this applies to.",
+ "required": false,
+ "constraints": [],
+ "metadata": {}
+ },
+ "actor": {
+ "name": "actor",
+ "type": "string",
+ "typeVersion": "0.0.0",
+ "description": "Specifies the Actor the guard applies to.",
+ "required": true,
+ "constraints": [],
+ "metadata": {}
+ },
+ "operation": {
+ "name": "operation",
+ "type": "string",
+ "typeVersion": "0.0.0",
+ "description": "Specified the operation that the actor is performing the guard applies to.",
+ "required": true,
+ "constraints": [],
+ "metadata": {}
+ },
+ "timeRange": {
+ "name": "timeRange",
+ "type": "tosca.datatypes.TimeInterval",
+ "typeVersion": "0.0.0",
+ "description": "An optional range of time during the day the guard policy is valid for.\n",
+ "required": false,
+ "constraints": [],
+ "metadata": {}
+ }
+ },
+ "name": "onap.policies.controlloop.guard.Common",
+ "version": "1.0.0",
+ "derived_from": "tosca.policies.Root",
+ "metadata": {},
+ "description": "This is the base Policy Type for Guard policies that guard the execution of Operational\nPolicies.\n"
+ },
+ "onap.policies.controlloop.guard.common.MinMax": {
+ "properties": {
+ "min": {
+ "name": "min",
+ "type": "integer",
+ "typeVersion": "0.0.0",
+ "description": "The minimum instances of this entity",
+ "required": true,
+ "constraints": [],
+ "metadata": {}
+ },
+ "max": {
+ "name": "max",
+ "type": "integer",
+ "typeVersion": "0.0.0",
+ "description": "The maximum instances of this entity",
+ "required": false,
+ "constraints": [],
+ "metadata": {}
+ }
+ },
+ "name": "onap.policies.controlloop.guard.common.MinMax",
+ "version": "1.0.0",
+ "derived_from": "onap.policies.controlloop.guard.Common",
+ "metadata": {},
+ "description": "Supports Min/Max number of entity for scaling operations"
+ }
+ },
+ "name": "ToscaServiceTemplateSimple",
+ "version": "1.0.0",
+ "metadata": {}
+} \ No newline at end of file
diff --git a/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.header b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.header
new file mode 100644
index 000000000..6a280d972
--- /dev/null
+++ b/src/test/resources/http-cache/example/policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0&#63;connectionTimeToLive=5000/.header
@@ -0,0 +1 @@
+{"Transfer-Encoding": "chunked", "Set-Cookie": "JSESSIONID=158qxkdtdobkd1umr3ikkgrmlx;Path=/", "Expires": "Thu, 01 Jan 1970 00:00:00 GMT", "Server": "Jetty(9.3.21.v20170918)", "Content-Type": "application/json", "X-ECOMP-RequestID": "e2ddb3c8-994f-47df-b4dc-097d4fb55c08"} \ No newline at end of file