Merge "Add stability test and performance tests for ACM"
diff --git a/testsuites/performance/src/main/resources/testplans/performance.jmx b/testsuites/performance/src/main/resources/testplans/performance.jmx
index f8aaf41..5f5d45e 100644
--- a/testsuites/performance/src/main/resources/testplans/performance.jmx
+++ b/testsuites/performance/src/main/resources/testplans/performance.jmx
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.5">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy Clamp AutomationComposition Performance" enabled="true">
<stringProp name="TestPlan.comments">Policy Clamp AutomationComposition Performance Tests</stringProp>
@@ -18,16 +18,6 @@
<stringProp name="Argument.value">30007</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
- <elementProp name="POLICY_PARTICIPANT_HOST" elementType="Argument">
- <stringProp name="Argument.name">POLICY_PARTICIPANT_HOST</stringProp>
- <stringProp name="Argument.value">localhost</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- <elementProp name="POLICY_PARTICIPANT_PORT" elementType="Argument">
- <stringProp name="Argument.name">POLICY_PARTICIPANT_PORT</stringProp>
- <stringProp name="Argument.value">30008</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
<elementProp name="HOME_PATH" elementType="Argument">
<stringProp name="Argument.name">HOME_PATH</stringProp>
<stringProp name="Argument.value">./</stringProp>
@@ -56,7 +46,7 @@
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
<collectionProp name="AuthManager.auth_list">
<elementProp name="" elementType="Authorization">
- <stringProp name="Authorization.url">https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/policy/clamp/acm/v2</stringProp>
+ <stringProp name="Authorization.url">http://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/policy/clamp/acm/v2</stringProp>
<stringProp name="Authorization.username">runtimeUser</stringProp>
<stringProp name="Authorization.password">zb!XztG34</stringProp>
<stringProp name="Authorization.domain"></stringProp>
@@ -94,1029 +84,1489 @@
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</SetupThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Comission Automation Composition definition" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Commission AutomationComposition definition" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "tosca_definitions_version": "tosca_simple_yaml_1_3",
- "data_types": {
- "onap.datatypes.ToscaConceptIdentifier": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "required": true
- },
- "version": {
- "type": "string",
- "required": true
- }
- }
- },
- "onap.datatype.acm.Target": {
- "derived_from": "tosca.datatypes.Root",
- "description": "Definition for a entity in A&AI to perform an Automation Composition operation on",
- "properties": {
- "targetType": {
- "type": "string",
- "description": "Category for the target type",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "VNF",
- "VM",
- "VFMODULE",
- "PNF"
- ]
- }
- ]
- },
- "entityIds": {
- "type": "map",
- "description": "Map of values that identify the resource. If none are provided, it is assumed that the\nentity that generated the ONSET event will be the target.\n",
- "required": false,
- "metadata": {
- "clamp_possible_values": "ClampExecution:CSAR_RESOURCES"
- },
- "entry_schema": {
- "type": "string"
- }
- }
- }
- },
- "onap.datatype.acm.Actor": {
- "derived_from": "tosca.datatypes.Root",
- "description": "An actor/operation/target definition",
- "properties": {
- "actor": {
- "type": "string",
- "description": "The actor performing the operation.",
- "required": true,
- "metadata": {
- "clamp_possible_values": "Dictionary:DefaultActors,ClampExecution:CDS/actor"
- }
- },
- "operation": {
- "type": "string",
- "description": "The operation the actor is performing.",
- "metadata": {
- "clamp_possible_values": "Dictionary:DefaultOperations,ClampExecution:CDS/operation"
- },
- "required": true
- },
- "target": {
- "type": "onap.datatype.acm.Target",
- "description": "The resource the operation should be performed on.",
- "required": true
- },
- "payload": {
- "type": "map",
- "description": "Name/value pairs of payload information passed by Policy to the actor",
- "required": false,
- "metadata": {
- "clamp_possible_values": "ClampExecution:CDS/payload"
- },
- "entry_schema": {
- "type": "string"
- }
- }
- }
- },
- "onap.datatype.acm.Operation": {
- "derived_from": "tosca.datatypes.Root",
- "description": "An operation supported by an actor",
- "properties": {
- "id": {
- "type": "string",
- "description": "Unique identifier for the operation",
- "required": true
- },
- "description": {
- "type": "string",
- "description": "A user-friendly description of the intent for the operation",
- "required": false
- },
- "operation": {
- "type": "onap.datatype.acm.Actor",
- "description": "The definition of the operation to be performed.",
- "required": true
- },
- "timeout": {
- "type": "integer",
- "description": "The amount of time for the actor to perform the operation.",
- "required": true
- },
- "retries": {
- "type": "integer",
- "description": "The number of retries the actor should attempt to perform the operation.",
- "required": true,
- "default": 0
- },
- "success": {
- "type": "string",
- "description": "Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.",
- "required": false,
- "default": "final_success"
- },
- "failure": {
- "type": "string",
- "description": "Points to the operation to invoke on Actor operation failure.",
- "required": false,
- "default": "final_failure"
- },
- "failure_timeout": {
- "type": "string",
- "description": "Points to the operation to invoke when the time out for the operation occurs.",
- "required": false,
- "default": "final_failure_timeout"
- },
- "failure_retries": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation has exceeded its max retries.",
- "required": false,
- "default": "final_failure_retries"
- },
- "failure_exception": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation causes an exception.",
- "required": false,
- "default": "final_failure_exception"
- },
- "failure_guard": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.",
- "required": false,
- "default": "final_failure_guard"
- }
- }
- },
- "onap.datatypes.monitoring.managedObjectDNsBasic": {
- "constraints": [],
- "properties": {
- "DN": {
- "name": "DN",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Managed object distinguished name",
- "required": true,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.managedObjectDNsBasic",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.managedObjectDNsBasics": {
- "constraints": [],
- "properties": {
- "managedObjectDNsBasic": {
- "name": "managedObjectDNsBasic",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Managed object distinguished name object",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.managedObjectDNsBasic",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.managedObjectDNsBasics",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementGroup": {
- "constraints": [],
- "properties": {
- "measurementTypes": {
- "name": "measurementTypes",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of measurement types",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementTypes",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "managedObjectDNsBasic": {
- "name": "managedObjectDNsBasic",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of managed object distinguished names",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.managedObjectDNsBasics",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementGroup",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementGroups": {
- "constraints": [],
- "properties": {
- "measurementGroup": {
- "name": "measurementGroup",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Measurement Group",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementGroup",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementGroups",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementType": {
- "constraints": [],
- "properties": {
- "measurementType": {
- "name": "measurementType",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Measurement type",
- "required": true,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementType",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementTypes": {
- "constraints": [],
- "properties": {
- "measurementType": {
- "name": "measurementType",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Measurement type object",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementType",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementTypes",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.nfFilter": {
- "constraints": [],
- "properties": {
- "modelNames": {
- "name": "modelNames",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model names",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "modelInvariantIDs": {
- "name": "modelInvariantIDs",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model invariant IDs",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "modelVersionIDs": {
- "name": "modelVersionIDs",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model version IDs",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "nfNames": {
- "name": "nfNames",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of network functions",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.nfFilter",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.subscription": {
- "constraints": [],
- "properties": {
- "measurementGroups": {
- "name": "measurementGroups",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "Measurement Groups",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementGroups",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "fileBasedGP": {
- "name": "fileBasedGP",
- "type": "integer",
- "typeVersion": "0.0.0",
- "description": "File based granularity period",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "fileLocation": {
- "name": "fileLocation",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "ROP file location",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "subscriptionName": {
- "name": "subscriptionName",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Name of the subscription",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "administrativeState": {
- "name": "administrativeState",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "State of the subscription",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "LOCKED",
- "UNLOCKED"
- ]
- }
- ],
- "metadata": {}
- },
- "nfFilter": {
- "name": "nfFilter",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Network function filter",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.nfFilter",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.subscription",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
- "version": "1.0.0",
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "restRequestId": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "typeVersion": "1.0.0",
- "required": true,
- "description": "The name and version of a REST request to be sent to a REST endpoint"
- },
- "httpMethod": {
- "type": "string",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "POST",
- "PUT",
- "GET",
- "DELETE"
- ]
- }
- ],
- "description": "The REST method to use"
- },
- "path": {
- "type": "string",
- "required": true,
- "description": "The path of the REST request relative to the base URL"
- },
- "body": {
- "type": "string",
- "required": false,
- "description": "The body of the REST request for PUT and POST requests"
- },
- "expectedResponse": {
- "type": "integer",
- "required": true,
- "constraints": [],
- "description": "THe expected HTTP status code for the REST request"
- }
- },
- "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity": {
- "version": "1.0.0",
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "configurationEntityId": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "typeVersion": "1.0.0",
- "required": true,
- "description": "The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element"
- },
- "restSequence": {
- "type": "list",
- "entry_schema": {
- "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
- "typeVersion": "1.0.0"
- },
- "description": "A sequence of REST commands to send to the REST endpoint"
- }
- }
- }
- }
- },
- "policy_types": {
- "onap.policies.Monitoring": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all policies that govern monitoring provisioning",
- "version": "1.0.0",
- "name": "onap.policies.Monitoring"
- },
- "onap.policies.Sirisha": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all policies that govern monitoring provisioning",
- "version": "1.0.0",
- "name": "onap.policies.Sirisha"
- },
- "onap.policies.monitoring.dcae-pm-subscription-handler": {
- "properties": {
- "pmsh_policy": {
- "name": "pmsh_policy",
- "type": "onap.datatypes.monitoring.subscription",
- "typeVersion": "0.0.0",
- "description": "PMSH Policy JSON",
- "required": false,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.policies.monitoring.dcae-pm-subscription-handler",
- "version": "1.0.0",
- "derived_from": "onap.policies.Monitoring",
- "metadata": {}
- },
- "onap.policies.acm.operational.Common": {
- "derived_from": "tosca.policies.Root",
- "version": "1.0.0",
- "name": "onap.policies.acm.operational.Common",
- "description": "Operational Policy for Automation Composition execution. Originated in Frankfurt to support TOSCA Compliant\nPolicy Types. This does NOT support the legacy Policy YAML policy type.\n",
- "properties": {
- "id": {
- "type": "string",
- "description": "The unique Automation Composition id.",
- "required": true
- },
- "timeout": {
- "type": "integer",
- "description": "Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n",
- "required": true
- },
- "abatement": {
- "type": "boolean",
- "description": "Whether an abatement event message will be expected for the Automation Composition from DCAE.",
- "required": true,
- "default": false
- },
- "trigger": {
- "type": "string",
- "description": "Initial operation to execute upon receiving an Onset event message for the Automation Composition.",
- "required": true
- },
- "operations": {
- "type": "list",
- "description": "List of operations to be performed when Automation Composition is triggered.",
- "required": true,
- "entry_schema": {
- "type": "onap.datatype.acm.Operation"
- }
- }
- }
- },
- "onap.policies.acm.operational.common.Apex": {
- "derived_from": "onap.policies.acm.operational.Common",
- "type_version": "1.0.0",
- "version": "1.0.0",
- "name": "onap.policies.acm.operational.common.Apex",
- "description": "Operational policies for Apex PDP",
- "properties": {
- "engineServiceParameters": {
- "type": "string",
- "description": "The engine parameters like name, instanceCount, policy implementation, parameters etc.",
- "required": true
- },
- "eventInputParameters": {
- "type": "string",
- "description": "The event input parameters.",
- "required": true
- },
- "eventOutputParameters": {
- "type": "string",
- "description": "The event output parameters.",
- "required": true
- },
- "javaProperties": {
- "type": "string",
- "description": "Name/value pairs of properties to be set for APEX if needed.",
- "required": false
- }
- }
- }
- },
- "node_types": {
- "org.onap.policy.clamp.acm.Participant": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "requred": false
- }
- }
- },
- "org.onap.policy.clamp.acm.AutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "required": false,
- "metadata": {
- "common": true
- },
- "description": "Specifies the organization that provides the automation composition element"
- },
- "participant_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true,
- "metadata": {
- "common": true
- }
- },
- "participantType": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "required": true,
- "metadata": {
- "common": true
- },
- "description": "The identity of the participant type that hosts this type of Automation Composition Element"
- },
- "startPhase": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "metadata": {
- "common": true
- },
- "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
- },
- "uninitializedToPassiveTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive"
- },
- "passiveToRunningTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from passive to running"
- },
- "runningToPassiveTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from running to passive"
- },
- "passiveToUninitializedTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
- }
- }
- },
- "org.onap.policy.clamp.acm.AutomationComposition": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "required": false,
- "metadata": {
- "common": true
- },
- "description": "Specifies the organization that provides the automation composition element"
- },
- "elements": {
- "type": "list",
- "required": true,
- "metadata": {
- "common": true
- },
- "entry_schema": {
- "type": "onap.datatypes.ToscaConceptIdentifier"
- },
- "description": "Specifies a list of automation composition element definitions that make up this automation composition definition"
- }
- }
- },
- "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "policy_type_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true
- },
- "policy_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": false
- }
- }
- },
- "org.onap.policy.clamp.acm.CDSAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "cds_blueprint_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true
- }
- }
- },
- "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "chart": {
- "type": "string",
- "required": true
- },
- "configs": {
- "type": "list",
- "required": false
- },
- "requirements": {
- "type": "string",
- "requred": false
- },
- "templates": {
- "type": "list",
- "required": false,
- "entry_schema": null
- },
- "values": {
- "type": "string",
- "requred": true
- }
- }
- },
- "org.onap.policy.clamp.acm.HttpAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "baseUrl": {
- "type": "string",
- "required": true,
- "description": "The base URL to be prepended to each path, identifies the host for the REST endpoints."
- },
- "httpHeaders": {
- "type": "map",
- "required": false,
- "entry_schema": {
- "type": "string"
- },
- "description": "HTTP headers to send on REST requests"
- },
- "configurationEntities": {
- "type": "map",
- "required": true,
- "entry_schema": {
- "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
- "typeVersion": "1.0.0"
- },
- "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests"
- }
- }
- }
- },
- "topology_template": {
- "inputs": {
- "pmsh_monitoring_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the PMSH monitoring policy to use",
- "default": {
- "name": "MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test",
- "version": "1.0.0"
- }
- },
- "pmsh_operational_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the PMSH operational policy to use",
- "default": {
- "name": "operational.apex.pmcontrol",
- "version": "1.0.0"
- }
- }
- },
- "node_templates": {
- "org.onap.policy.clamp.acm.PolicyParticipant": {
- "version": "2.3.1",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for DCAE microservices",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the monitoring policy for Performance Management Subscription Handling",
- "properties": {
- "provider": "Ericsson",
- "participant_id": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "policy_type_id": {
- "name": "onap.policies.monitoring.pm-subscription-handler",
- "version": "1.0.0"
- },
- "policy_id": {
- "get_input": "pmsh_monitoring_policy"
- }
- }
- },
- "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the operational policy for Performance Management Subscription Handling",
- "properties": {
- "provider": "Ericsson",
- "participant_id": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "policy_type_id": {
- "name": "onap.policies.operational.pm-subscription-handler",
- "version": "1.0.0"
- },
- "policy_id": {
- "get_input": "pmsh_operational_policy"
- }
- }
- },
- "org.onap.policy.clamp.acm.KubernetesParticipant": {
- "version": "2.3.4",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for K8S",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for PMSH",
- "properties": {
- "provider": "ONAP",
- "participant_id": {
- "name": "K8sParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.KubernetesParticipant",
- "version": "2.3.4"
- },
- "chart": {
- "chartId": {
- "name": "dcae-pmsh",
- "version": "10.0.0"
- },
- "namespace": "onap",
- "releaseName": "onap-dcae-pmsh",
- "repository": {
- "repoName": "chartmuseum",
- "address": "http://chart-museum:80",
- "userName": "onapinitializer",
- "password": "demo123456!"
- },
- "overrideParams": {
- "global.masterPassword": "test"
- }
- }
- }
- },
- "org.onap.policy.clamp.acm.HttpParticipant": {
- "version": "2.3.4",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for Http requests",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.1",
- "description": "Automation composition element for the http requests of PMSH microservice",
- "properties": {
- "provider": "ONAP",
- "participant_id": {
- "name": "HttpParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.HttpParticipant",
- "version": "2.3.4"
- },
- "uninitializedToPassiveTimeout": 180,
- "startPhase": 1,
- "baseUrl": "https://dcae-pmsh:8443",
- "httpHeaders": {
- "Content-Type": "application/json"
- },
- "configurationEntities": [
- {
- "configurationEntityId": {
- "name": "entity1",
- "version": "1.0.1"
- },
- "restSequence": [
- {
- "restRequestId": {
- "name": "request1",
- "version": "1.0.1"
- },
- "httpMethod": "POST",
- "path": "subscription",
- "body": "{ \"subscription\":{ \"subscriptionName\":\"new_sub_01\", \"operationalPolicyName\":\"pmsh-operational-policy\", \"automationCompositionName\":\"automationComposition-name\", \"nfFilter\":{ \"nfNames\":[ \"^pnf*\" ], \"modelInvariantIDs\":[ \"7129e420-d396-4efb-af02-6b83499b12f5\" ], \"modelVersionIDs\":[ \"e80a6ae3-cafd-4d24-850d-e14c084a5ca7\" ], \"modelNames\":[ \"pnf_134\" ] }, \"measurementGroups\":[ { \"measurementGroup\":{ \"measurementGroupName\":\"msgroup_01\", \"administrativeState\":\"UNLOCKED\", \"fileBasedGP\":15, \"fileLocation\":\"/pm/pm.xml\", \"measurementTypes\":[ { \"measurementType\":\"EutranCell.*\" }, { \"measurementType\":\"EutranCellRelation.pmCounter1\" }, { \"measurementType\":\"EutranCellRelation.pmCounter2\" } ], \"managedObjectDNsBasic\":[ { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1\" }, { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter2\" }, { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter3\" } ] } } ] } }",
- "expectedResponse": 201
+ "tosca_definitions_version": "tosca_simple_yaml_1_3",
+ "data_types": {
+ "onap.datatypes.ToscaConceptIdentifier": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "required": true
+ },
+ "version": {
+ "type": "string",
+ "required": true
}
- ]
}
- ]
- }
- },
- "org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.AutomationComposition",
- "type_version": "1.0.0",
- "description": "Automation composition for Hello World",
- "properties": {
- "provider": "ONAP",
- "elements": [
- {
- "name": "org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
+ },
+ "onap.datatypes.native.apex.EngineService": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the engine name",
+ "required": false,
+ "default": "ApexEngineService"
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the engine version in double dotted format",
+ "required": false,
+ "default": "1.0.0"
+ },
+ "id": {
+ "type": "integer",
+ "description": "Specifies the engine id",
+ "required": true
+ },
+ "instance_count": {
+ "type": "integer",
+ "description": "Specifies the number of engine threads that should be run",
+ "required": true
+ },
+ "deployment_port": {
+ "type": "integer",
+ "description": "Specifies the port to connect to for engine administration",
+ "required": false,
+ "default": 1
+ },
+ "policy_model_file_name": {
+ "type": "string",
+ "description": "The name of the file from which to read the APEX policy model",
+ "required": false
+ },
+ "policy_type_impl": {
+ "type": "string",
+ "description": "The policy type implementation from which to read the APEX policy model",
+ "required": false
+ },
+ "periodic_event_period": {
+ "type": "string",
+ "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
+ "required": false
+ },
+ "engine": {
+ "type": "onap.datatypes.native.apex.engineservice.Engine",
+ "description": "The parameters for all engines in the APEX engine service",
+ "required": true
+ }
}
- ]
+ },
+ "onap.datatypes.native.apex.EventHandler": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the event handler name, if not specified this is set to the key name",
+ "required": false
+ },
+ "carrier_technology": {
+ "type": "onap.datatypes.native.apex.CarrierTechnology",
+ "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
+ "required": true
+ },
+ "event_protocol": {
+ "type": "onap.datatypes.native.apex.EventProtocol",
+ "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
+ "required": true
+ },
+ "event_name": {
+ "type": "string",
+ "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
+ "required": false
+ },
+ "event_name_filter": {
+ "type": "string",
+ "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
+ "required": false
+ },
+ "synchronous_mode": {
+ "type": "boolean",
+ "description": "Specifies the event handler is syncronous (receive event and send response)",
+ "required": false,
+ "default": false
+ },
+ "synchronous_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false
+ },
+ "synchronous_timeout": {
+ "type": "integer",
+ "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false
+ },
+ "requestor_mode": {
+ "type": "boolean",
+ "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
+ "required": false,
+ "default": false
+ },
+ "requestor_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false
+ },
+ "requestor_timeout": {
+ "type": "integer",
+ "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.CarrierTechnology": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
+ "required": true
+ },
+ "plugin_parameter_class_name": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.EventProtocol": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
+ "required": true
+ },
+ "event_protocol_plugin_class": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.Environment": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable",
+ "required": true
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable",
+ "required": true
+ }
+ }
+ },
+ "onap.datatypes.native.apex.engineservice.Engine": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "context": {
+ "type": "onap.datatypes.native.apex.engineservice.engine.Context",
+ "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
+ "required": false
+ },
+ "executors": {
+ "type": "map",
+ "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
+ "required": true,
+ "entry_schema": {
+ "description": "The plugin class path for this policy executor",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "onap.datatypes.native.apex.engineservice.engine.Context": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "distributor": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
+ "required": false
+ },
+ "schemas": {
+ "type": "map",
+ "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
+ "required": false,
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.Plugin"
+ }
+ },
+ "locking": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
+ "required": false
+ },
+ "persistence": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.Plugin": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the executor such as Javascript, Jython or MVEL",
+ "required": true
+ },
+ "plugin_class_name": {
+ "type": "string",
+ "description": "The class path of the plugin class for this executor"
+ }
+ }
+ },
+ "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
+ "version": "1.0.0",
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "restRequestId": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true,
+ "description": "The name and version of a REST request to be sent to a REST endpoint"
+ },
+ "httpMethod": {
+ "type": "string",
+ "required": true,
+ "constraints": [
+ {
+ "valid_values": [
+ "POST",
+ "PUT",
+ "GET",
+ "DELETE"
+ ]
+ }
+ ],
+ "description": "The REST method to use"
+ },
+ "path": {
+ "type": "string",
+ "required": true,
+ "description": "The path of the REST request relative to the base URL"
+ },
+ "body": {
+ "type": "string",
+ "required": false,
+ "description": "The body of the REST request for PUT and POST requests"
+ },
+ "expectedResponse": {
+ "type": "integer",
+ "required": true,
+ "constraints": [],
+ "description": "THe expected HTTP status code for the REST request"
+ }
+ }
+ },
+ "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity": {
+ "version": "1.0.0",
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "configurationEntityId": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true,
+ "description": "The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element"
+ },
+ "restSequence": {
+ "type": "list",
+ "entry_schema": {
+ "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
+ "type_version": "1.0.0"
+ },
+ "description": "A sequence of REST commands to send to the REST endpoint"
+ }
+ }
}
- }
+ },
+ "policy_types": {
+ "onap.policies.Native": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all native PDP policies",
+ "version": "1.0.0",
+ "name": "onap.policies.Native"
+ },
+ "onap.policies.native.Apex": {
+ "derived_from": "onap.policies.Native",
+ "description": "a policy type for native apex policies",
+ "version": "1.0.0",
+ "name": "onap.policies.native.Apex",
+ "properties": {
+ "engine_service": {
+ "type": "onap.datatypes.native.apex.EngineService",
+ "description": "APEX Engine Service Parameters"
+ },
+ "inputs": {
+ "type": "map",
+ "description": "Inputs for handling events coming into the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.EventHandler"
+ }
+ },
+ "outputs": {
+ "type": "map",
+ "description": "Outputs for handling events going out of the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.EventHandler"
+ }
+ },
+ "environment": {
+ "type": "list",
+ "description": "Envioronmental parameters for the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.Environment"
+ }
+ }
+ }
+ }
+ },
+ "node_types": {
+ "org.onap.policy.clamp.acm.Participant": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.AutomationCompositionElement": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false,
+ "metadata": {
+ "common": true
+ },
+ "description": "Specifies the organization that provides the automation composition element"
+ },
+ "startPhase": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "metadata": {
+ "common": true
+ },
+ "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
+ },
+ "uninitializedToPassiveTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive"
+ },
+ "passiveToRunningTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from passive to running"
+ },
+ "runningToPassiveTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from running to passive"
+ },
+ "passiveToUninitializedTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.AutomationComposition": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false,
+ "metadata": {
+ "common": true
+ },
+ "description": "Specifies the organization that provides the automation composition element"
+ },
+ "elements": {
+ "type": "list",
+ "required": true,
+ "metadata": {
+ "common": true
+ },
+ "entry_schema": {
+ "type": "onap.datatypes.ToscaConceptIdentifier"
+ },
+ "description": "Specifies a list of automation composition element definitions that make up this automation composition definition"
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "policy_type_id": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true
+ },
+ "policy_id": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": false
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "chart": {
+ "type": "string",
+ "required": true
+ },
+ "configs": {
+ "type": "list",
+ "required": false
+ },
+ "requirements": {
+ "type": "string",
+ "required": false
+ },
+ "templates": {
+ "type": "list",
+ "required": false,
+ "entry_schema": null
+ },
+ "values": {
+ "type": "string",
+ "required": true
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.HttpAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "baseUrl": {
+ "type": "string",
+ "required": true,
+ "description": "The base URL to be prepended to each path, identifies the host for the REST endpoints."
+ },
+ "httpHeaders": {
+ "type": "map",
+ "required": false,
+ "entry_schema": {
+ "type": "string"
+ },
+ "description": "HTTP headers to send on REST requests"
+ },
+ "configurationEntities": {
+ "type": "map",
+ "required": true,
+ "entry_schema": {
+ "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
+ "type_version": "1.0.0"
+ },
+ "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests"
+ }
+ }
+ }
+ },
+ "topology_template": {
+ "inputs": {
+ "acm_element_policy": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "description": "The ID of the operational policy to use",
+ "default": {
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ },
+ "node_templates": {
+ "org.onap.policy.clamp.acm.PolicyParticipant": {
+ "version": "2.3.1",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for Policy microservices",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the operational policy for Performance Management Subscription Handling",
+ "properties": {
+ "provider": "Ericsson",
+ "startPhase": 0
+ }
+ },
+ "org.onap.k8s.acm.K8SAutomationCompositionParticipant": {
+ "version": "2.3.4",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for K8S",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Starter",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Bridge",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Sink",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "org.onap.policy.clamp.acm.HttpParticipant": {
+ "version": "2.3.4",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for Http requests",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Starter microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Bridge microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Sink microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.AutomationComposition",
+ "type_version": "1.0.1",
+ "description": "Automation composition for Demo",
+ "properties": {
+ "provider": "ONAP",
+ "elements": [
+ {
+ "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+ "version": "1.2.3"
+ }
+ ]
+ }
+ }
+ },
+ "policies": [
+ {
+ "onap.policies.native.apex.ac.element": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "properties": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Json": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+ }
+ }
+ }
+ },
+ "policy_type_impl": {
+ "policies": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "DecideForwardingState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DecideForwardingState"
+ },
+ "trigger": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "CreateForwardPayload",
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ },
+ "outgoingEvent": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ },
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "ReceiveEventPolicy"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "DecideForwardingState"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Dmaap",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Dmaap",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "DmaapResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": {
+ "parentKeyName": "ForwardPayloadTask",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "TaskLogic"
+ },
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('DmaapResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var dmaapResponse = new java.util.HashMap();\n dmaapResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n dmaapResponse.put('message', message);\n dmaapResponse.put('messageType', 'STATUS');\n dmaapResponse.put('messageId', msgResponse.get('messageId'));\n dmaapResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent', dmaapResponse);\n}\n\ntrue;"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Dmaap",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ }
+ },
+ {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Dmaap",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "DmaapResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "file",
+ "parameter": {
+ "entry": [
+ {
+ "key": "final_status",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "final_status"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "message",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "message"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "policy",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Json",
+ "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Integer"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.util.UUID"
+ }
+ }
+ ]
+ }
+ },
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+ "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+ "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+ "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+ "description": "Generated description for concept referred to by key \"DmaapResponseStatusEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+ "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+ "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+ "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+ "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
+ "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+ "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "DmaapConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "DmaapResponseEvent"
+ }
+ },
+ "eventName": "AcElementEvent",
+ "eventNameFilter": "AcElementEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logOutputter": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "DmaapReplyProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/POLICY_UPDATE_MSG"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "DmaapResponseStatusEvent"
+ }
+ },
+ "eventNameFilter": "(LogEvent|DmaapResponseStatusEvent)"
+ }
+ }
+ },
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ ]
}
- }
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@@ -1124,9 +1574,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/commission</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1139,7 +1589,7 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
@@ -1147,77 +1597,184 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">compositionId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.compositionId</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">props.put("compositionId", vars.get("compositionId"));</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate automation composition" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Register participants" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/participants</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Prime AC definitions" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "automationCompositionList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH automation composition instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Automation Composition Element for the PMSH instance 0 automation composition"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Automation Composition Element for the PMSH instance 0 automation composition"
- }
- }
- }
- ]
-}
-
-</stringProp>
+ "primeOrder": "PRIME"
+}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript("${primeState}" != "PRIMED")}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Priming" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "primeOrder": "PRIME"
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate acm" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "name": "DemoInstance0",
+ "version": "1.0.1",
+ "compositionId": "${compositionId}",
+ "description": "Demo automation composition instance 0",
+ "elements": {
+ "709c62b3-8918-41b9-a747-d21eb79c6c20": {
+ "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
+ "definition": {
+ "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ "description": "Policy Automation Composition Element for the Demo",
+ "properties": {
+ "policy_type_id": {
+ "name": "onap.policies.native.Apex",
+ "version": "1.0.0"
+ },
+ "policy_id": {
+ "get_input": "acm_element_policy"
+ }
+ }
+ }
+ }
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1230,7 +1787,7 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
@@ -1238,6 +1795,20 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">instanceId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.instanceId</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">instanceId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">props.put("instanceId", vars.get("instanceId"));</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
</hashTree>
</hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="AutomationComposition Test Flow" enabled="true">
@@ -1254,207 +1825,107 @@
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to PASSIVE" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
- <collectionProp name="Arguments.arguments">
- <elementProp name="" elementType="HTTPArgument">
- <boolProp name="HTTPArgument.always_encode">false</boolProp>
- <stringProp name="Argument.value">{
- "orderedState": "PASSIVE",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
-}
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">String compositionId = props.get("compositionId");
+String instanceId = props.get("instanceId");
+vars.put("compositionId", compositionId);
+vars.put("instanceId", instanceId);
</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation/command</stringProp>
- <stringProp name="HTTPSampler.method">PUT</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
- <hashTree/>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</stringProp>
- <stringProp name="51508">400</stringProp>
- <stringProp name="51514">406</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">34</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to UNINITIALISED" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
- <collectionProp name="Arguments.arguments">
- <elementProp name="" elementType="HTTPArgument">
- <boolProp name="HTTPArgument.always_encode">false</boolProp>
- <stringProp name="Argument.value">{
- "orderedState": "UNINITIALISED",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
-}
-</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation/command</stringProp>
- <stringProp name="HTTPSampler.method">PUT</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="51508">400</stringProp>
- <stringProp name="51514">406</stringProp>
- <stringProp name="49588">202</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">34</intProp>
- </ResponseAssertion>
- <hashTree/>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="false">
- <stringProp name="ConstantTimer.delay">1000</stringProp>
- </ConstantTimer>
+ </BeanShellPreProcessor>
<hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy AC instance" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "deployOrder": "DEPLOY"
+}
+</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ <stringProp name="51508">400</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">33</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy AC instance" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "deployOrder": "UNDEPLOY"
+}
+</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} </stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ <stringProp name="51508">400</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">33</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
</hashTree>
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
@@ -1470,15 +1941,26 @@
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</PostThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete instantiated acm" enabled="true">
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">String compositionId = props.get("compositionId");
+String instanceId = props.get("instanceId");
+vars.put("compositionId", compositionId);
+vars.put("instanceId", instanceId);
+</stringProp>
+ </BeanShellPreProcessor>
+ <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Uninstantiate AC instance" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation?name=PMSHInstance0&version=1.0.1</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1499,9 +1981,44 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deprime AC definition" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "primeOrder": "DEPRIME"
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete AutomationComposition Definition" enabled="true">
@@ -1510,9 +2027,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/commission?name=NULL&version=0.0.0</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1569,7 +2086,7 @@
<connectTime>true</connectTime>
</value>
</objProp>
- <stringProp name="filename">${LOGS_PATH}testresults.jtl</stringProp>
+ <stringProp name="filename">/home/ramesh/run-test/testresults.jtl</stringProp>
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
diff --git a/testsuites/stability/src/main/resources/testplans/stability.jmx b/testsuites/stability/src/main/resources/testplans/stability.jmx
index 8fe84c8..abf9781 100644
--- a/testsuites/stability/src/main/resources/testplans/stability.jmx
+++ b/testsuites/stability/src/main/resources/testplans/stability.jmx
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.5">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy Clamp ACM Stability" enabled="true">
<stringProp name="TestPlan.comments">Policy Clamp ACM Stability Tests</stringProp>
@@ -36,7 +36,7 @@
<AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
<collectionProp name="AuthManager.auth_list">
<elementProp name="" elementType="Authorization">
- <stringProp name="Authorization.url">https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/policy/clamp/acm/v2</stringProp>
+ <stringProp name="Authorization.url">http://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/policy/clamp/acm/v2</stringProp>
<stringProp name="Authorization.username">runtimeUser</stringProp>
<stringProp name="Authorization.password">zb!XztG34</stringProp>
<stringProp name="Authorization.domain"></stringProp>
@@ -81,1022 +81,1482 @@
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "tosca_definitions_version": "tosca_simple_yaml_1_3",
- "data_types": {
- "onap.datatypes.ToscaConceptIdentifier": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "required": true
- },
- "version": {
- "type": "string",
- "required": true
- }
- }
- },
- "onap.datatype.acm.Target": {
- "derived_from": "tosca.datatypes.Root",
- "description": "Definition for a entity in A&AI to perform an Automation Composition operation on",
- "properties": {
- "targetType": {
- "type": "string",
- "description": "Category for the target type",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "VNF",
- "VM",
- "VFMODULE",
- "PNF"
- ]
- }
- ]
- },
- "entityIds": {
- "type": "map",
- "description": "Map of values that identify the resource. If none are provided, it is assumed that the\nentity that generated the ONSET event will be the target.\n",
- "required": false,
- "metadata": {
- "clamp_possible_values": "ClampExecution:CSAR_RESOURCES"
- },
- "entry_schema": {
- "type": "string"
- }
- }
- }
- },
- "onap.datatype.acm.Actor": {
- "derived_from": "tosca.datatypes.Root",
- "description": "An actor/operation/target definition",
- "properties": {
- "actor": {
- "type": "string",
- "description": "The actor performing the operation.",
- "required": true,
- "metadata": {
- "clamp_possible_values": "Dictionary:DefaultActors,ClampExecution:CDS/actor"
- }
- },
- "operation": {
- "type": "string",
- "description": "The operation the actor is performing.",
- "metadata": {
- "clamp_possible_values": "Dictionary:DefaultOperations,ClampExecution:CDS/operation"
- },
- "required": true
- },
- "target": {
- "type": "onap.datatype.acm.Target",
- "description": "The resource the operation should be performed on.",
- "required": true
- },
- "payload": {
- "type": "map",
- "description": "Name/value pairs of payload information passed by Policy to the actor",
- "required": false,
- "metadata": {
- "clamp_possible_values": "ClampExecution:CDS/payload"
- },
- "entry_schema": {
- "type": "string"
- }
- }
- }
- },
- "onap.datatype.acm.Operation": {
- "derived_from": "tosca.datatypes.Root",
- "description": "An operation supported by an actor",
- "properties": {
- "id": {
- "type": "string",
- "description": "Unique identifier for the operation",
- "required": true
- },
- "description": {
- "type": "string",
- "description": "A user-friendly description of the intent for the operation",
- "required": false
- },
- "operation": {
- "type": "onap.datatype.acm.Actor",
- "description": "The definition of the operation to be performed.",
- "required": true
- },
- "timeout": {
- "type": "integer",
- "description": "The amount of time for the actor to perform the operation.",
- "required": true
- },
- "retries": {
- "type": "integer",
- "description": "The number of retries the actor should attempt to perform the operation.",
- "required": true,
- "default": 0
- },
- "success": {
- "type": "string",
- "description": "Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.",
- "required": false,
- "default": "final_success"
- },
- "failure": {
- "type": "string",
- "description": "Points to the operation to invoke on Actor operation failure.",
- "required": false,
- "default": "final_failure"
- },
- "failure_timeout": {
- "type": "string",
- "description": "Points to the operation to invoke when the time out for the operation occurs.",
- "required": false,
- "default": "final_failure_timeout"
- },
- "failure_retries": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation has exceeded its max retries.",
- "required": false,
- "default": "final_failure_retries"
- },
- "failure_exception": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation causes an exception.",
- "required": false,
- "default": "final_failure_exception"
- },
- "failure_guard": {
- "type": "string",
- "description": "Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.",
- "required": false,
- "default": "final_failure_guard"
- }
- }
- },
- "onap.datatypes.monitoring.managedObjectDNsBasic": {
- "constraints": [],
- "properties": {
- "DN": {
- "name": "DN",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Managed object distinguished name",
- "required": true,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.managedObjectDNsBasic",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.managedObjectDNsBasics": {
- "constraints": [],
- "properties": {
- "managedObjectDNsBasic": {
- "name": "managedObjectDNsBasic",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Managed object distinguished name object",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.managedObjectDNsBasic",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.managedObjectDNsBasics",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementGroup": {
- "constraints": [],
- "properties": {
- "measurementTypes": {
- "name": "measurementTypes",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of measurement types",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementTypes",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "managedObjectDNsBasic": {
- "name": "managedObjectDNsBasic",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of managed object distinguished names",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.managedObjectDNsBasics",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementGroup",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementGroups": {
- "constraints": [],
- "properties": {
- "measurementGroup": {
- "name": "measurementGroup",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Measurement Group",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementGroup",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementGroups",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementType": {
- "constraints": [],
- "properties": {
- "measurementType": {
- "name": "measurementType",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Measurement type",
- "required": true,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementType",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.measurementTypes": {
- "constraints": [],
- "properties": {
- "measurementType": {
- "name": "measurementType",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Measurement type object",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementType",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.measurementTypes",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.nfFilter": {
- "constraints": [],
- "properties": {
- "modelNames": {
- "name": "modelNames",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model names",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "modelInvariantIDs": {
- "name": "modelInvariantIDs",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model invariant IDs",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "modelVersionIDs": {
- "name": "modelVersionIDs",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of model version IDs",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "nfNames": {
- "name": "nfNames",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "List of network functions",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "string",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.nfFilter",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "onap.datatypes.monitoring.subscription": {
- "constraints": [],
- "properties": {
- "measurementGroups": {
- "name": "measurementGroups",
- "type": "list",
- "typeVersion": "0.0.0",
- "description": "Measurement Groups",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.measurementGroups",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- },
- "fileBasedGP": {
- "name": "fileBasedGP",
- "type": "integer",
- "typeVersion": "0.0.0",
- "description": "File based granularity period",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "fileLocation": {
- "name": "fileLocation",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "ROP file location",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "subscriptionName": {
- "name": "subscriptionName",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "Name of the subscription",
- "required": true,
- "constraints": [],
- "metadata": {}
- },
- "administrativeState": {
- "name": "administrativeState",
- "type": "string",
- "typeVersion": "0.0.0",
- "description": "State of the subscription",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "LOCKED",
- "UNLOCKED"
- ]
- }
- ],
- "metadata": {}
- },
- "nfFilter": {
- "name": "nfFilter",
- "type": "map",
- "typeVersion": "0.0.0",
- "description": "Network function filter",
- "required": true,
- "constraints": [],
- "entry_schema": {
- "type": "onap.datatypes.monitoring.nfFilter",
- "typeVersion": "0.0.0",
- "constraints": []
- },
- "metadata": {}
- }
- },
- "name": "onap.datatypes.monitoring.subscription",
- "version": "0.0.0",
- "derived_from": "tosca.datatypes.Root",
- "metadata": {}
- },
- "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
- "version": "1.0.0",
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "restRequestId": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "typeVersion": "1.0.0",
- "required": true,
- "description": "The name and version of a REST request to be sent to a REST endpoint"
- },
- "httpMethod": {
- "type": "string",
- "required": true,
- "constraints": [
- {
- "valid_values": [
- "POST",
- "PUT",
- "GET",
- "DELETE"
- ]
- }
- ],
- "description": "The REST method to use"
- },
- "path": {
- "type": "string",
- "required": true,
- "description": "The path of the REST request relative to the base URL"
- },
- "body": {
- "type": "string",
- "required": false,
- "description": "The body of the REST request for PUT and POST requests"
- },
- "expectedResponse": {
- "type": "integer",
- "required": true,
- "constraints": [],
- "description": "THe expected HTTP status code for the REST request"
- }
- },
- "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity": {
- "version": "1.0.0",
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "configurationEntityId": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "typeVersion": "1.0.0",
- "required": true,
- "description": "The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element"
- },
- "restSequence": {
- "type": "list",
- "entry_schema": {
- "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
- "typeVersion": "1.0.0"
- },
- "description": "A sequence of REST commands to send to the REST endpoint"
- }
- }
- }
- }
- },
- "policy_types": {
- "onap.policies.Monitoring": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all policies that govern monitoring provisioning",
- "version": "1.0.0",
- "name": "onap.policies.Monitoring"
- },
- "onap.policies.Sirisha": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all policies that govern monitoring provisioning",
- "version": "1.0.0",
- "name": "onap.policies.Sirisha"
- },
- "onap.policies.monitoring.dcae-pm-subscription-handler": {
- "properties": {
- "pmsh_policy": {
- "name": "pmsh_policy",
- "type": "onap.datatypes.monitoring.subscription",
- "typeVersion": "0.0.0",
- "description": "PMSH Policy JSON",
- "required": false,
- "constraints": [],
- "metadata": {}
- }
- },
- "name": "onap.policies.monitoring.dcae-pm-subscription-handler",
- "version": "1.0.0",
- "derived_from": "onap.policies.Monitoring",
- "metadata": {}
- },
- "onap.policies.acm.operational.Common": {
- "derived_from": "tosca.policies.Root",
- "version": "1.0.0",
- "name": "onap.policies.acm.operational.Common",
- "description": "Operational Policy for Automation Composition execution. Originated in Frankfurt to support TOSCA Compliant\nPolicy Types. This does NOT support the legacy Policy YAML policy type.\n",
- "properties": {
- "id": {
- "type": "string",
- "description": "The unique Automation Composition id.",
- "required": true
- },
- "timeout": {
- "type": "integer",
- "description": "Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n",
- "required": true
- },
- "abatement": {
- "type": "boolean",
- "description": "Whether an abatement event message will be expected for the Automation Composition from DCAE.",
- "required": true,
- "default": false
- },
- "trigger": {
- "type": "string",
- "description": "Initial operation to execute upon receiving an Onset event message for the Automation Composition.",
- "required": true
- },
- "operations": {
- "type": "list",
- "description": "List of operations to be performed when Automation Composition is triggered.",
- "required": true,
- "entry_schema": {
- "type": "onap.datatype.acm.Operation"
- }
- }
- }
- },
- "onap.policies.acm.operational.common.Apex": {
- "derived_from": "onap.policies.acm.operational.Common",
- "type_version": "1.0.0",
- "version": "1.0.0",
- "name": "onap.policies.acm.operational.common.Apex",
- "description": "Operational policies for Apex PDP",
- "properties": {
- "engineServiceParameters": {
- "type": "string",
- "description": "The engine parameters like name, instanceCount, policy implementation, parameters etc.",
- "required": true
- },
- "eventInputParameters": {
- "type": "string",
- "description": "The event input parameters.",
- "required": true
- },
- "eventOutputParameters": {
- "type": "string",
- "description": "The event output parameters.",
- "required": true
- },
- "javaProperties": {
- "type": "string",
- "description": "Name/value pairs of properties to be set for APEX if needed.",
- "required": false
- }
- }
- }
- },
- "node_types": {
- "org.onap.policy.clamp.acm.Participant": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "requred": false
- }
- }
- },
- "org.onap.policy.clamp.acm.AutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "required": false,
- "metadata": {
- "common": true
- },
- "description": "Specifies the organization that provides the automation composition element"
- },
- "participant_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true,
- "metadata": {
- "common": true
- }
- },
- "participantType": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "required": true,
- "metadata": {
- "common": true
- },
- "description": "The identity of the participant type that hosts this type of Automation Composition Element"
- },
- "startPhase": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "metadata": {
- "common": true
- },
- "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
- },
- "uninitializedToPassiveTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive"
- },
- "passiveToRunningTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from passive to running"
- },
- "runningToPassiveTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from running to passive"
- },
- "passiveToUninitializedTimeout": {
- "type": "integer",
- "required": false,
- "constraints": [
- {
- "greater_or_equal": 0
- }
- ],
- "default": 60,
- "metadata": {
- "common": true
- },
- "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
- }
- }
- },
- "org.onap.policy.clamp.acm.AutomationComposition": {
- "version": "1.0.1",
- "derived_from": "tosca.nodetypes.Root",
- "properties": {
- "provider": {
- "type": "string",
- "required": false,
- "metadata": {
- "common": true
- },
- "description": "Specifies the organization that provides the automation composition element"
- },
- "elements": {
- "type": "list",
- "required": true,
- "metadata": {
- "common": true
- },
- "entry_schema": {
- "type": "onap.datatypes.ToscaConceptIdentifier"
- },
- "description": "Specifies a list of automation composition element definitions that make up this automation composition definition"
- }
- }
- },
- "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "policy_type_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true
- },
- "policy_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": false
- }
- }
- },
- "org.onap.policy.clamp.acm.CDSAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "cds_blueprint_id": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "requred": true
- }
- }
- },
- "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "chart": {
- "type": "string",
- "required": true
- },
- "configs": {
- "type": "list",
- "required": false
- },
- "requirements": {
- "type": "string",
- "requred": false
- },
- "templates": {
- "type": "list",
- "required": false,
- "entry_schema": null
- },
- "values": {
- "type": "string",
- "requred": true
- }
- }
- },
- "org.onap.policy.clamp.acm.HttpAutomationCompositionElement": {
- "version": "1.0.1",
- "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
- "properties": {
- "baseUrl": {
- "type": "string",
- "required": true,
- "description": "The base URL to be prepended to each path, identifies the host for the REST endpoints."
- },
- "httpHeaders": {
- "type": "map",
- "required": false,
- "entry_schema": {
- "type": "string"
- },
- "description": "HTTP headers to send on REST requests"
- },
- "configurationEntities": {
- "type": "map",
- "required": true,
- "entry_schema": {
- "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
- "typeVersion": "1.0.0"
- },
- "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests"
- }
- }
- }
- },
- "topology_template": {
- "inputs": {
- "pmsh_monitoring_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the PMSH monitoring policy to use",
- "default": {
- "name": "MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test",
- "version": "1.0.0"
- }
- },
- "pmsh_operational_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the PMSH operational policy to use",
- "default": {
- "name": "operational.apex.pmcontrol",
- "version": "1.0.0"
- }
- }
- },
- "node_templates": {
- "org.onap.policy.clamp.acm.PolicyParticipant": {
- "version": "2.3.1",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for DCAE microservices",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the monitoring policy for Performance Management Subscription Handling",
- "properties": {
- "provider": "Ericsson",
- "participant_id": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "policy_type_id": {
- "name": "onap.policies.monitoring.pm-subscription-handler",
- "version": "1.0.0"
- },
- "policy_id": {
- "get_input": "pmsh_monitoring_policy"
- }
- }
- },
- "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the operational policy for Performance Management Subscription Handling",
- "properties": {
- "provider": "Ericsson",
- "participant_id": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "policy_type_id": {
- "name": "onap.policies.operational.pm-subscription-handler",
- "version": "1.0.0"
- },
- "policy_id": {
- "get_input": "pmsh_operational_policy"
- }
- }
- },
- "org.onap.policy.clamp.acm.KubernetesParticipant": {
- "version": "2.3.4",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for K8S",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for PMSH",
- "properties": {
- "provider": "ONAP",
- "participant_id": {
- "name": "K8sParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.KubernetesParticipant",
- "version": "2.3.4"
- },
- "chart": {
- "chartId": {
- "name": "dcae-pmsh",
- "version": "10.0.0"
- },
- "namespace": "onap",
- "releaseName": "onap-dcae-pmsh",
- "repository": {
- "repoName": "chartmuseum",
- "address": "http://chart-museum:80",
- "userName": "onapinitializer",
- "password": "demo123456!"
- },
- "overrideParams": {
- "global.masterPassword": "test"
- }
- }
- }
- },
- "org.onap.policy.clamp.acm.HttpParticipant": {
- "version": "2.3.4",
- "type": "org.onap.policy.clamp.acm.Participant",
- "type_version": "1.0.1",
- "description": "Participant for Http requests",
- "properties": {
- "provider": "ONAP"
- }
- },
- "org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.1",
- "description": "Automation composition element for the http requests of PMSH microservice",
- "properties": {
- "provider": "ONAP",
- "participant_id": {
- "name": "HttpParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.HttpParticipant",
- "version": "2.3.4"
- },
- "uninitializedToPassiveTimeout": 180,
- "startPhase": 1,
- "baseUrl": "https://dcae-pmsh:8443",
- "httpHeaders": {
- "Content-Type": "application/json"
- },
- "configurationEntities": [
- {
- "configurationEntityId": {
- "name": "entity1",
- "version": "1.0.1"
- },
- "restSequence": [
- {
- "restRequestId": {
- "name": "request1",
- "version": "1.0.1"
- },
- "httpMethod": "POST",
- "path": "subscription",
- "body": "{ \"subscription\":{ \"subscriptionName\":\"new_sub_01\", \"operationalPolicyName\":\"pmsh-operational-policy\", \"automationCompositionName\":\"automationComposition-name\", \"nfFilter\":{ \"nfNames\":[ \"^pnf*\" ], \"modelInvariantIDs\":[ \"7129e420-d396-4efb-af02-6b83499b12f5\" ], \"modelVersionIDs\":[ \"e80a6ae3-cafd-4d24-850d-e14c084a5ca7\" ], \"modelNames\":[ \"pnf_134\" ] }, \"measurementGroups\":[ { \"measurementGroup\":{ \"measurementGroupName\":\"msgroup_01\", \"administrativeState\":\"UNLOCKED\", \"fileBasedGP\":15, \"fileLocation\":\"/pm/pm.xml\", \"measurementTypes\":[ { \"measurementType\":\"EutranCell.*\" }, { \"measurementType\":\"EutranCellRelation.pmCounter1\" }, { \"measurementType\":\"EutranCellRelation.pmCounter2\" } ], \"managedObjectDNsBasic\":[ { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1\" }, { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter2\" }, { \"DN\":\"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter3\" } ] } } ] } }",
- "expectedResponse": 201
+ "tosca_definitions_version": "tosca_simple_yaml_1_3",
+ "data_types": {
+ "onap.datatypes.ToscaConceptIdentifier": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "required": true
+ },
+ "version": {
+ "type": "string",
+ "required": true
}
- ]
}
- ]
- }
- },
- "org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.AutomationComposition",
- "type_version": "1.0.0",
- "description": "Automation composition for Hello World",
- "properties": {
- "provider": "ONAP",
- "elements": [
- {
- "name": "org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
+ },
+ "onap.datatypes.native.apex.EngineService": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the engine name",
+ "required": false,
+ "default": "ApexEngineService"
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the engine version in double dotted format",
+ "required": false,
+ "default": "1.0.0"
+ },
+ "id": {
+ "type": "integer",
+ "description": "Specifies the engine id",
+ "required": true
+ },
+ "instance_count": {
+ "type": "integer",
+ "description": "Specifies the number of engine threads that should be run",
+ "required": true
+ },
+ "deployment_port": {
+ "type": "integer",
+ "description": "Specifies the port to connect to for engine administration",
+ "required": false,
+ "default": 1
+ },
+ "policy_model_file_name": {
+ "type": "string",
+ "description": "The name of the file from which to read the APEX policy model",
+ "required": false
+ },
+ "policy_type_impl": {
+ "type": "string",
+ "description": "The policy type implementation from which to read the APEX policy model",
+ "required": false
+ },
+ "periodic_event_period": {
+ "type": "string",
+ "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
+ "required": false
+ },
+ "engine": {
+ "type": "onap.datatypes.native.apex.engineservice.Engine",
+ "description": "The parameters for all engines in the APEX engine service",
+ "required": true
+ }
}
- ]
+ },
+ "onap.datatypes.native.apex.EventHandler": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the event handler name, if not specified this is set to the key name",
+ "required": false
+ },
+ "carrier_technology": {
+ "type": "onap.datatypes.native.apex.CarrierTechnology",
+ "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
+ "required": true
+ },
+ "event_protocol": {
+ "type": "onap.datatypes.native.apex.EventProtocol",
+ "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
+ "required": true
+ },
+ "event_name": {
+ "type": "string",
+ "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
+ "required": false
+ },
+ "event_name_filter": {
+ "type": "string",
+ "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
+ "required": false
+ },
+ "synchronous_mode": {
+ "type": "boolean",
+ "description": "Specifies the event handler is syncronous (receive event and send response)",
+ "required": false,
+ "default": false
+ },
+ "synchronous_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false
+ },
+ "synchronous_timeout": {
+ "type": "integer",
+ "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false
+ },
+ "requestor_mode": {
+ "type": "boolean",
+ "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
+ "required": false,
+ "default": false
+ },
+ "requestor_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false
+ },
+ "requestor_timeout": {
+ "type": "integer",
+ "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.CarrierTechnology": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
+ "required": true
+ },
+ "plugin_parameter_class_name": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.EventProtocol": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
+ "required": true
+ },
+ "event_protocol_plugin_class": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.Environment": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable",
+ "required": true
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable",
+ "required": true
+ }
+ }
+ },
+ "onap.datatypes.native.apex.engineservice.Engine": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "context": {
+ "type": "onap.datatypes.native.apex.engineservice.engine.Context",
+ "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
+ "required": false
+ },
+ "executors": {
+ "type": "map",
+ "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
+ "required": true,
+ "entry_schema": {
+ "description": "The plugin class path for this policy executor",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "onap.datatypes.native.apex.engineservice.engine.Context": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "distributor": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
+ "required": false
+ },
+ "schemas": {
+ "type": "map",
+ "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
+ "required": false,
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.Plugin"
+ }
+ },
+ "locking": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
+ "required": false
+ },
+ "persistence": {
+ "type": "onap.datatypes.native.apex.Plugin",
+ "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
+ "required": false
+ }
+ }
+ },
+ "onap.datatypes.native.apex.Plugin": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the executor such as Javascript, Jython or MVEL",
+ "required": true
+ },
+ "plugin_class_name": {
+ "type": "string",
+ "description": "The class path of the plugin class for this executor"
+ }
+ }
+ },
+ "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
+ "version": "1.0.0",
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "restRequestId": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true,
+ "description": "The name and version of a REST request to be sent to a REST endpoint"
+ },
+ "httpMethod": {
+ "type": "string",
+ "required": true,
+ "constraints": [
+ {
+ "valid_values": [
+ "POST",
+ "PUT",
+ "GET",
+ "DELETE"
+ ]
+ }
+ ],
+ "description": "The REST method to use"
+ },
+ "path": {
+ "type": "string",
+ "required": true,
+ "description": "The path of the REST request relative to the base URL"
+ },
+ "body": {
+ "type": "string",
+ "required": false,
+ "description": "The body of the REST request for PUT and POST requests"
+ },
+ "expectedResponse": {
+ "type": "integer",
+ "required": true,
+ "constraints": [],
+ "description": "THe expected HTTP status code for the REST request"
+ }
+ }
+ },
+ "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity": {
+ "version": "1.0.0",
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "configurationEntityId": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true,
+ "description": "The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element"
+ },
+ "restSequence": {
+ "type": "list",
+ "entry_schema": {
+ "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
+ "type_version": "1.0.0"
+ },
+ "description": "A sequence of REST commands to send to the REST endpoint"
+ }
+ }
}
- }
+ },
+ "policy_types": {
+ "onap.policies.Native": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all native PDP policies",
+ "version": "1.0.0",
+ "name": "onap.policies.Native"
+ },
+ "onap.policies.native.Apex": {
+ "derived_from": "onap.policies.Native",
+ "description": "a policy type for native apex policies",
+ "version": "1.0.0",
+ "name": "onap.policies.native.Apex",
+ "properties": {
+ "engine_service": {
+ "type": "onap.datatypes.native.apex.EngineService",
+ "description": "APEX Engine Service Parameters"
+ },
+ "inputs": {
+ "type": "map",
+ "description": "Inputs for handling events coming into the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.EventHandler"
+ }
+ },
+ "outputs": {
+ "type": "map",
+ "description": "Outputs for handling events going out of the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.EventHandler"
+ }
+ },
+ "environment": {
+ "type": "list",
+ "description": "Envioronmental parameters for the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.native.apex.Environment"
+ }
+ }
+ }
+ }
+ },
+ "node_types": {
+ "org.onap.policy.clamp.acm.Participant": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.AutomationCompositionElement": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false,
+ "metadata": {
+ "common": true
+ },
+ "description": "Specifies the organization that provides the automation composition element"
+ },
+ "startPhase": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "metadata": {
+ "common": true
+ },
+ "description": "A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously"
+ },
+ "uninitializedToPassiveTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive"
+ },
+ "passiveToRunningTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from passive to running"
+ },
+ "runningToPassiveTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from running to passive"
+ },
+ "passiveToUninitializedTimeout": {
+ "type": "integer",
+ "required": false,
+ "constraints": [
+ {
+ "greater_or_equal": 0
+ }
+ ],
+ "default": 60,
+ "metadata": {
+ "common": true
+ },
+ "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized"
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.AutomationComposition": {
+ "version": "1.0.1",
+ "derived_from": "tosca.nodetypes.Root",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "required": false,
+ "metadata": {
+ "common": true
+ },
+ "description": "Specifies the organization that provides the automation composition element"
+ },
+ "elements": {
+ "type": "list",
+ "required": true,
+ "metadata": {
+ "common": true
+ },
+ "entry_schema": {
+ "type": "onap.datatypes.ToscaConceptIdentifier"
+ },
+ "description": "Specifies a list of automation composition element definitions that make up this automation composition definition"
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "policy_type_id": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": true
+ },
+ "policy_id": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "required": false
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "chart": {
+ "type": "string",
+ "required": true
+ },
+ "configs": {
+ "type": "list",
+ "required": false
+ },
+ "requirements": {
+ "type": "string",
+ "required": false
+ },
+ "templates": {
+ "type": "list",
+ "required": false,
+ "entry_schema": null
+ },
+ "values": {
+ "type": "string",
+ "required": true
+ }
+ }
+ },
+ "org.onap.policy.clamp.acm.HttpAutomationCompositionElement": {
+ "version": "1.0.0",
+ "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
+ "properties": {
+ "baseUrl": {
+ "type": "string",
+ "required": true,
+ "description": "The base URL to be prepended to each path, identifies the host for the REST endpoints."
+ },
+ "httpHeaders": {
+ "type": "map",
+ "required": false,
+ "entry_schema": {
+ "type": "string"
+ },
+ "description": "HTTP headers to send on REST requests"
+ },
+ "configurationEntities": {
+ "type": "map",
+ "required": true,
+ "entry_schema": {
+ "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
+ "type_version": "1.0.0"
+ },
+ "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests"
+ }
+ }
+ }
+ },
+ "topology_template": {
+ "inputs": {
+ "acm_element_policy": {
+ "type": "onap.datatypes.ToscaConceptIdentifier",
+ "description": "The ID of the operational policy to use",
+ "default": {
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ },
+ "node_templates": {
+ "org.onap.policy.clamp.acm.PolicyParticipant": {
+ "version": "2.3.1",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for Policy microservices",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.PolicyAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the operational policy for Performance Management Subscription Handling",
+ "properties": {
+ "provider": "Ericsson",
+ "startPhase": 0
+ }
+ },
+ "org.onap.k8s.acm.K8SAutomationCompositionParticipant": {
+ "version": "2.3.4",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for K8S",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Starter",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Bridge",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the K8S microservice for AC Element Sink",
+ "properties": {
+ "provider": "ONAP",
+ "startPhase": 0,
+ "uninitializedToPassiveTimeout": 300,
+ "podStatusCheckInterval": 30
+ }
+ },
+ "org.onap.policy.clamp.acm.HttpParticipant": {
+ "version": "2.3.4",
+ "type": "org.onap.policy.clamp.acm.Participant",
+ "type_version": "1.0.1",
+ "description": "Participant for Http requests",
+ "properties": {
+ "provider": "ONAP"
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Starter microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Bridge microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
+ "type_version": "1.0.0",
+ "description": "Automation composition element for the http requests of AC Element Sink microservice",
+ "properties": {
+ "provider": "ONAP",
+ "uninitializedToPassiveTimeout": 300,
+ "startPhase": 1
+ }
+ },
+ "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
+ "version": "1.2.3",
+ "type": "org.onap.policy.clamp.acm.AutomationComposition",
+ "type_version": "1.0.1",
+ "description": "Automation composition for Demo",
+ "properties": {
+ "provider": "ONAP",
+ "elements": [
+ {
+ "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ {
+ "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+ "version": "1.2.3"
+ }
+ ]
+ }
+ }
+ },
+ "policies": [
+ {
+ "onap.policies.native.apex.ac.element": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "properties": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Json": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+ }
+ }
+ }
+ },
+ "policy_type_impl": {
+ "policies": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "DecideForwardingState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DecideForwardingState"
+ },
+ "trigger": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "CreateForwardPayload",
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ },
+ "outgoingEvent": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ },
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "ReceiveEventPolicy"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "DecideForwardingState"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Dmaap",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Dmaap",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "DmaapResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": {
+ "parentKeyName": "ForwardPayloadTask",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "TaskLogic"
+ },
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('DmaapResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var dmaapResponse = new java.util.HashMap();\n dmaapResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n dmaapResponse.put('message', message);\n dmaapResponse.put('messageType', 'STATUS');\n dmaapResponse.put('messageId', msgResponse.get('messageId'));\n dmaapResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent', dmaapResponse);\n}\n\ntrue;"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Dmaap",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ }
+ },
+ {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Dmaap",
+ "parameter": {
+ "entry": [
+ {
+ "key": "DmaapResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "DmaapResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DmaapResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "file",
+ "parameter": {
+ "entry": [
+ {
+ "key": "final_status",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "final_status"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "message",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "message"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "policy",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Json",
+ "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Integer"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.util.UUID"
+ }
+ }
+ ]
+ }
+ },
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+ "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+ "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+ "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "DmaapResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+ "description": "Generated description for concept referred to by key \"DmaapResponseStatusEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+ "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+ "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+ "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+ "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
+ "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+ "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "DmaapConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "DmaapResponseEvent"
+ }
+ },
+ "eventName": "AcElementEvent",
+ "eventNameFilter": "AcElementEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logOutputter": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "DmaapReplyProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://message-router:3904/events/POLICY_UPDATE_MSG"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "DmaapResponseStatusEvent"
+ }
+ },
+ "eventNameFilter": "(LogEvent|DmaapResponseStatusEvent)"
+ }
+ }
+ },
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ ]
}
- }
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@@ -1104,9 +1564,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/commission</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1119,7 +1579,7 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
@@ -1127,6 +1587,143 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">compositionId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.compositionId</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">props.put("compositionId", vars.get("compositionId"));</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Register participants" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/participants</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Prime AC definitions" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "primeOrder": "PRIME"
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript("${primeState}" != "PRIMED")}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Priming" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "primeOrder": "PRIME"
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate acm" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
@@ -1135,69 +1732,39 @@
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "automationCompositionList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
+ "name": "DemoInstance0",
+ "version": "1.0.1",
+ "compositionId": "${compositionId}",
+ "description": "Demo automation composition instance 0",
+ "elements": {
+ "709c62b3-8918-41b9-a747-d21eb79c6c20": {
+ "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
"definition": {
- "name": "org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition",
+ "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
"version": "1.2.3"
},
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH automation composition instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Automation Composition Element for the PMSH instance 0 automation composition"
+ "description": "Policy Automation Composition Element for the Demo",
+ "properties": {
+ "policy_type_id": {
+ "name": "onap.policies.native.Apex",
+ "version": "1.0.0"
},
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Automation Composition Element for the PMSH instance 0 automation composition"
+ "policy_id": {
+ "get_input": "acm_element_policy"
}
}
}
- ]
-}
-
-</stringProp>
+ }
+}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1210,7 +1777,7 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
@@ -1218,6 +1785,20 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">instanceId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.instanceId</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">instanceId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">props.put("instanceId", vars.get("instanceId"));</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
</hashTree>
</hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="AutomationComposition Test Flow" enabled="true">
@@ -1229,56 +1810,30 @@
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
- <stringProp name="ThreadGroup.duration">259200</stringProp>
+ <stringProp name="ThreadGroup.duration">120</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to PASSIVE" enabled="true">
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">String compositionId = props.get("compositionId");
+String instanceId = props.get("instanceId");
+vars.put("compositionId", compositionId);
+vars.put("instanceId", instanceId);
+</stringProp>
+ </BeanShellPreProcessor>
+ <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy AC instance" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "orderedState": "PASSIVE",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
+ "deployOrder": "DEPLOY"
}
</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
@@ -1287,9 +1842,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
<stringProp name="HTTPSampler.method">PUT</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1307,61 +1862,64 @@
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="49588">202</stringProp>
- <stringProp name="51508">400</stringProp>
- <stringProp name="51514">406</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
<boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">34</intProp>
+ <intProp name="Assertion.test_type">33</intProp>
</ResponseAssertion>
<hashTree/>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript("${deployState}" != "DEPLOYED")}</stringProp>
+ </WhileController>
<hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to UNINITIALISED" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy AC instance" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
- "orderedState": "UNINITIALISED",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
+ "deployOrder": "UNDEPLOY"
}
</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
@@ -1370,9 +1928,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} </stringProp>
<stringProp name="HTTPSampler.method">PUT</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1385,14 +1943,12 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="51508">400</stringProp>
- <stringProp name="51514">406</stringProp>
<stringProp name="49588">202</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
<boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">34</intProp>
+ <intProp name="Assertion.test_type">33</intProp>
</ResponseAssertion>
<hashTree/>
<ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
@@ -1400,36 +1956,47 @@
</ConstantTimer>
<hashTree/>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check acm state" enabled="true">
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
- <stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
- <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
- <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
- <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
- <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
- <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
- <stringProp name="HTTPSampler.connect_timeout"></stringProp>
- <stringProp name="HTTPSampler.response_timeout"></stringProp>
- <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
- </HTTPSamplerProxy>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript("${undeployState}" != "UNDEPLOYED")}</stringProp>
+ </WhileController>
<hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">false</boolProp>
- <intProp name="Assertion.test_type">1</intProp>
- </ResponseAssertion>
- <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">undeployState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
</hashTree>
</hashTree>
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
@@ -1446,15 +2013,26 @@
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</PostThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete instantiated acm" enabled="true">
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">String compositionId = props.get("compositionId");
+String instanceId = props.get("instanceId");
+vars.put("compositionId", compositionId);
+vars.put("instanceId", instanceId);
+</stringProp>
+ </BeanShellPreProcessor>
+ <hashTree/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Uninstantiate AC instance" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/instantiation?name=PMSHInstance0&version=1.0.1</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1475,9 +2053,44 @@
<intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deprime AC definition" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{
+ "primeOrder": "DEPRIME"
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
<hashTree/>
</hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete AutomationComposition Definition" enabled="true">
@@ -1486,9 +2099,9 @@
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/commission?name=NULL&version=0.0.0</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -1545,7 +2158,7 @@
<connectTime>true</connectTime>
</value>
</objProp>
- <stringProp name="filename">./acm_stability/testsummary.jtl</stringProp>
+ <stringProp name="filename">/home/ramesh/run-test/testsummary.jtl</stringProp>
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
@@ -1582,7 +2195,7 @@
<connectTime>true</connectTime>
</value>
</objProp>
- <stringProp name="filename">./acm_stability/resultTree.log</stringProp>
+ <stringProp name="filename">/home/ramesh/acm_stability/testsummary.jtl</stringProp>
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
@@ -1619,7 +2232,7 @@
<connectTime>true</connectTime>
</value>
</objProp>
- <stringProp name="filename">./acm_stability/resultTable.log</stringProp>
+ <stringProp name="filename">/home/ramesh/./acm_stability/testsummary.jtl</stringProp>
</ResultCollector>
<hashTree/>
</hashTree>