From dc0071571224e20d72b38543301fc1ff9dba16ec Mon Sep 17 00:00:00 2001 From: Sirisha_Manchikanti Date: Tue, 5 Oct 2021 16:37:04 +0100 Subject: Add testsuites of tosca controlloop This commit will add jmeter files for stability and performance tests of Controlloop components. Issue-ID: POLICY-3659 Signed-off-by: Sirisha_Manchikanti Change-Id: I48c206d841d7d3393f469d26fdd4f8d0b66c3478 --- .../src/main/docker/controlloop-runtime.sh | 6 + .../main/resources/etc/ClRuntimeParameters.yaml | 4 +- testsuites/performance/pom.xml | 31 + .../src/main/resources/testplans/performance.jmx | 2292 ++++++++++++++++++++ .../src/main/resources/testplans/results.sh | 32 + testsuites/pom.xml | 40 + testsuites/readme.text | 73 + testsuites/stability/pom.xml | 28 + .../src/main/resources/testplans/stability.jmx | 2268 +++++++++++++++++++ 9 files changed, 4772 insertions(+), 2 deletions(-) create mode 100644 testsuites/performance/pom.xml create mode 100644 testsuites/performance/src/main/resources/testplans/performance.jmx create mode 100644 testsuites/performance/src/main/resources/testplans/results.sh create mode 100644 testsuites/pom.xml create mode 100644 testsuites/readme.text create mode 100644 testsuites/stability/pom.xml create mode 100644 testsuites/stability/src/main/resources/testplans/stability.jmx diff --git a/packages/policy-clamp-docker/src/main/docker/controlloop-runtime.sh b/packages/policy-clamp-docker/src/main/docker/controlloop-runtime.sh index 59d31dc8e..c428fd553 100644 --- a/packages/policy-clamp-docker/src/main/docker/controlloop-runtime.sh +++ b/packages/policy-clamp-docker/src/main/docker/controlloop-runtime.sh @@ -61,5 +61,11 @@ $JAVA_HOME/bin/java -Dserver.ssl.enabled="true" \ -Dserver.ssl.keyStorePassword="${KEYSTORE_PASSWD}" \ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \ + -Dcom.sun.management.jmxremote.rmi.port=9090 \ + -Dcom.sun.management.jmxremote=true \ + -Dcom.sun.management.jmxremote.port=9090 \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.local.only=false \ -jar /app/app.jar \ --spring.config.location="${POLICY_HOME}/config/ClRuntimeParameters.yaml" diff --git a/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml b/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml index c8601cbdd..d399b82ba 100644 --- a/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml +++ b/packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml @@ -33,8 +33,8 @@ runtime: implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl databaseDriver: org.mariadb.jdbc.Driver databaseUrl: jdbc:mariadb://${mariadb.host:mariadb}:${mariadb.port:3306}/controlloop - databaseUser: policy - databasePassword: P01icY + databaseUser: policy_user + databasePassword: policy_user persistenceUnit: CommissioningMariaDb topicParameterGroup: topicSources: diff --git a/testsuites/performance/pom.xml b/testsuites/performance/pom.xml new file mode 100644 index 000000000..71a20d4f9 --- /dev/null +++ b/testsuites/performance/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + org.onap.policy.clamp + clamp-testsuites + 6.1.3-SNAPSHOT + + + clamp-performance + diff --git a/testsuites/performance/src/main/resources/testplans/performance.jmx b/testsuites/performance/src/main/resources/testplans/performance.jmx new file mode 100644 index 000000000..bb0cfc98d --- /dev/null +++ b/testsuites/performance/src/main/resources/testplans/performance.jmx @@ -0,0 +1,2292 @@ + + + + + Policy Clamp ControlLoop Performance Tests + false + true + true + + + + RUNTIME_HOST + 192.168.32.9 + = + + + RUNTIME_PORT + 6969 + = + + + POLICY_PARTICIPANT_HOST + 192.168.32.8 + = + + + POLICY_PARTICIPANT_PORT + 6970 + = + + + HOME_PATH + ./ + = + + + LOGS_PATH + ${HOME_PATH}/controlloop_perf/ + = + + + DURATION + ${__P(DURATION,14400)} + = + + + USERS + ${__P(USERS,5)} + = + + + + + + + + + + https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/controlloop/v2 + healthcheck + zb!XztG34 + + + + + true + false + + + + + + Accept + application/json + + + Content-Type + application/json + + + + + + stoptest + + false + 1 + + 1 + 1 + false + 260000 + + true + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "data_types": { + "onap.datatypes.ToscaConceptIdentifier": { + "derived_from": "tosca.datatypes.Root", + "properties": { + "name": { + "type": "string", + "required": true + }, + "version": { + "type": "string", + "required": true + } + } + }, + "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo": { + "name": "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo", + "version": "0.0.0", + "derived_from": "tosca.datatypes.Root", + "properties": { + "consulUrl": { + "name": "consulUrl", + "type": "string", + "typeVersion": "0.0.0", + "description": "Consul url for this entry", + "required": true + }, + "consul_body": { + "name": "consulBody", + "type": "string", + "typeVersion": "0.0.0", + "description": "Body of Consul entry", + "required": true + } + } + }, + "onap.datatype.controlloop.Target": { + "derived_from": "tosca.datatypes.Root", + "description": "Definition for a entity in A&AI to perform a control loop 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.controlloop.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.controlloop.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.controlloop.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.controlloop.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": {} + } + }, + "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.test123": { + "derived_from": "tosca.policies.Root", + "description": "a base policy type for all policies that govern monitoring provisioning", + "version": "1.0.0", + "name": "onap.policies.test123" + }, + "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.controlloop.operational.Common": { + "derived_from": "tosca.policies.Root", + "version": "1.0.0", + "name": "onap.policies.controlloop.operational.Common", + "description": "Operational Policy for Control Loop 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 control loop 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 control loop from DCAE.", + "required": true, + "default": false + }, + "trigger": { + "type": "string", + "description": "Initial operation to execute upon receiving an Onset event message for the Control Loop.", + "required": true + }, + "operations": { + "type": "list", + "description": "List of operations to be performed when Control Loop is triggered.", + "required": true, + "entry_schema": { + "type": "onap.datatype.controlloop.Operation" + } + } + } + }, + "onap.policies.controlloop.operational.common.Apex": { + "derived_from": "onap.policies.controlloop.operational.Common", + "type_version": "1.0.0", + "version": "1.0.0", + "name": "onap.policies.controlloop.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.controlloop.Participant": { + "version": "1.0.1", + "derived_from": "tosca.nodetypes.Root", + "properties": { + "provider": { + "type": "string", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.ControlLoopElement": { + "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 control loop element" + }, + "participantType": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "required": true, + "metadata": { + "common": true + }, + "description": "The identity of the participant type that hosts this type of Control Loop Element" + }, + "startPhase": { + "type": "integer", + "required": false, + "constraints": [ + { + "greater_or_equal": 0 + } + ], + "metadata": { + "common": true + }, + "description": "A value indicating the start phase in which this control loop element will be started, the first start phase is zero. Control Loop Elements are started in their start_phase order and stopped in reverse start phase order. Control Loop 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.controlloop.ControlLoop": { + "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 control loop element" + }, + "elements": { + "type": "list", + "required": true, + "metadata": { + "common": true + }, + "entry_schema": { + "type": "onap.datatypes.ToscaConceptIdentifier" + }, + "description": "Specifies a list of control loop element definitions that make up this control loop definition" + } + } + }, + "org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "dcae_blueprint_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + }, + "dcae_blueprint": { + "type": "onap.dcae.cloudify_blueprint", + "requred": false + }, + "consul_info": { + "type": "list", + "required": false, + "entry_schema": { + "type": "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo" + } + } + } + }, + "org.onap.policy.clamp.controlloop.PolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.CDSControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "cds_blueprint_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + } + } + } + }, + "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.dcae.controlloop.DCAEMicroserviceControlLoopParticipant": { + "version": "2.3.4", + "type": "org.onap.policy.clamp.controlloop.Participant", + "type_version": "1.0.1", + "description": "Participant for DCAE microservices", + "properties": { + "provider": "ONAP" + } + }, + "org.onap.policy.controlloop.PolicyControlLoopParticipant": { + "version": "2.3.1", + "type": "org.onap.policy.clamp.controlloop.Participant", + "type_version": "1.0.1", + "description": "Participant for DCAE microservices", + "properties": { + "provider": "ONAP" + } + }, + "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "type_version": "1.0.0", + "description": "Control loop element for the monitoring policy for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "participantType": { + "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant", + "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_OperationalPolicyControlLoopElement": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "type_version": "1.0.0", + "description": "Control loop element for the operational policy for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "participantType": { + "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant", + "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.domain.pmsh.PMSHControlLoopDefinition": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.ControlLoop", + "type_version": "1.0.0", + "description": "Control loop for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "elements": [ + { + "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice", + "version": "1.2.3" + }, + { + "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement", + "version": "1.2.3" + }, + { + "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement", + "version": "1.2.3" + } + ] + } + } + } + } +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/commission + POST + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "controlLoopList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1", + "definition": { + "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition", + "version": "1.2.3" + }, + "state": "UNINITIALISED", + "orderedState": "UNINITIALISED", + "description": "PMSH control loop instance 0", + "elements": { + "709c62b3-8918-41b9-a747-d21eb79c6c21": { + "id": "709c62b3-8918-41b9-a747-d21eb79c6c21", + "definition": { + "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement", + "version": "1.2.3" + }, + "participantType":{ + "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant", + "version":"2.3.1" + }, + "participantId":{ + "name":"org.onap.PM_Policy", + "version":"1.0.0" + }, + "state":"UNINITIALISED", + "orderedState":"UNINITIALISED", + "toscaServiceTemplateFragment":{ + "data_types":{ + "onap.datatype.controlloop.Actor":{ + "constraints":[ + + ], + "properties":{ + "payload":{ + "name":"payload", + "type":"map", + "type_version":"0.0.0", + "description":"Name/value pairs of payload information passed by Policy to the actor", + "required":false, + "entry_schema":{ + "type":"string", + "type_version":"0.0.0" + }, + "metadata":{ + "clamp_possible_values":"ClampExecution:CDS/payload" + } + }, + "target":{ + "name":"target", + "type":"onap.datatype.controlloop.Target", + "type_version":"0.0.0", + "description":"The resource the operation should be performed on.", + "required":true + }, + "actor":{ + "name":"actor", + "type":"string", + "type_version":"0.0.0", + "description":"The actor performing the operation.", + "required":true, + "metadata":{ + "clamp_possible_values":"Dictionary:DefaultActors,ClampExecution:CDS/actor" + } + }, + "operation":{ + "name":"operation", + "type":"string", + "type_version":"0.0.0", + "description":"The operation the actor is performing.", + "required":true, + "metadata":{ + "clamp_possible_values":"Dictionary:DefaultOperations,ClampExecution:CDS/operation" + } + } + }, + "name":"onap.datatype.controlloop.Actor", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"An actor/operation/target definition" + }, + "onap.datatype.controlloop.Operation":{ + "constraints":[ + + ], + "properties":{ + "failure_retries":{ + "name":"failure_retries", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation has exceeded its max retries.", + "default":"final_failure_retries", + "required":false + }, + "id":{ + "name":"id", + "type":"string", + "type_version":"0.0.0", + "description":"Unique identifier for the operation", + "required":true + }, + "failure_timeout":{ + "name":"failure_timeout", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the time out for the operation occurs.", + "default":"final_failure_timeout", + "required":false + }, + "failure":{ + "name":"failure", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke on Actor operation failure.", + "default":"final_failure", + "required":false + }, + "operation":{ + "name":"operation", + "type":"onap.datatype.controlloop.Actor", + "type_version":"0.0.0", + "description":"The definition of the operation to be performed.", + "required":true + }, + "failure_guard":{ + "name":"failure_guard", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.", + "default":"final_failure_guard", + "required":false + }, + "retries":{ + "name":"retries", + "type":"integer", + "type_version":"0.0.0", + "description":"The number of retries the actor should attempt to perform the operation.", + "default":0.0, + "required":true + }, + "timeout":{ + "name":"timeout", + "type":"integer", + "type_version":"0.0.0", + "description":"The amount of time for the actor to perform the operation.", + "required":true + }, + "failure_exception":{ + "name":"failure_exception", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation causes an exception.", + "default":"final_failure_exception", + "required":false + }, + "description":{ + "name":"description", + "type":"string", + "type_version":"0.0.0", + "description":"A user-friendly description of the intent for the operation", + "required":false + }, + "success":{ + "name":"success", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.", + "default":"final_success", + "required":false + } + }, + "name":"onap.datatype.controlloop.Operation", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"An operation supported by an actor" + }, + "onap.datatype.controlloop.Target":{ + "constraints":[ + + ], + "properties":{ + "entityIds":{ + "name":"entityIds", + "type":"map", + "type_version":"0.0.0", + "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, + "entry_schema":{ + "type":"string", + "type_version":"0.0.0" + }, + "metadata":{ + "clamp_possible_values":"ClampExecution:CSAR_RESOURCES" + } + }, + "targetType":{ + "name":"targetType", + "type":"string", + "type_version":"0.0.0", + "description":"Category for the target type", + "required":true, + "constraints":[ + { + "valid_values":[ + "VNF", + "VM", + "VFMODULE", + "PNF" + ] + } + ] + } + }, + "name":"onap.datatype.controlloop.Target", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"Definition for a entity in A&AI to perform a control loop operation on" + }, + "onap.datatypes.ToscaConceptIdentifier":{ + "constraints":[ + + ], + "properties":{ + "version":{ + "name":"version", + "type":"string", + "type_version":"0.0.0", + "required":true + }, + "name":{ + "name":"name", + "type":"string", + "type_version":"0.0.0", + "required":true + } + }, + "name":"onap.datatypes.ToscaConceptIdentifier", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + } + }, + "onap.datatypes.monitoring.managedObjectDNsBasic":{ + "constraints":[ + + ], + "properties":{ + "DN":{ + "name":"DN", + "type":"string", + "type_version":"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", + "type_version":"0.0.0", + "description":"Managed object distinguished name object", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.managedObjectDNsBasic", + "type_version":"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", + "type_version":"0.0.0", + "description":"List of measurement types", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementTypes", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "managedObjectDNsBasic":{ + "name":"managedObjectDNsBasic", + "type":"list", + "type_version":"0.0.0", + "description":"List of managed object distinguished names", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.managedObjectDNsBasics", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement Group", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementGroup", + "type_version":"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", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement type object", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementType", + "type_version":"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":{ + "modelVersionIDs":{ + "name":"modelVersionIDs", + "type":"list", + "type_version":"0.0.0", + "description":"List of model version IDs", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "modelInvariantIDs":{ + "name":"modelInvariantIDs", + "type":"list", + "type_version":"0.0.0", + "description":"List of model invariant IDs", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "modelNames":{ + "name":"modelNames", + "type":"list", + "type_version":"0.0.0", + "description":"List of model names", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "nfNames":{ + "name":"nfNames", + "type":"list", + "type_version":"0.0.0", + "description":"List of network functions", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement Groups", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementGroups", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "fileBasedGP":{ + "name":"fileBasedGP", + "type":"integer", + "type_version":"0.0.0", + "description":"File based granularity period", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "fileLocation":{ + "name":"fileLocation", + "type":"string", + "type_version":"0.0.0", + "description":"ROP file location", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "subscriptionName":{ + "name":"subscriptionName", + "type":"string", + "type_version":"0.0.0", + "description":"Name of the subscription", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "administrativeState":{ + "name":"administrativeState", + "type":"string", + "type_version":"0.0.0", + "description":"State of the subscription", + "required":true, + "constraints":[ + { + "valid_values":[ + "LOCKED", + "UNLOCKED" + ] + } + ], + "metadata":{ + + } + }, + "nfFilter":{ + "name":"nfFilter", + "type":"map", + "type_version":"0.0.0", + "description":"Network function filter", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.nfFilter", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + } + }, + "name":"onap.datatypes.monitoring.subscription", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + } + } + }, + "policy_types":{ + "onap.policies.Monitoring":{ + "properties":{ + + }, + "name":"onap.policies.Monitoring", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"a base policy type for all policies that govern monitoring provisioning" + }, + "onap.policies.test123":{ + "properties":{ + + }, + "name":"onap.policies.test123", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"a base policy type for all policies that govern monitoring provisioning" + }, + "onap.policies.controlloop.operational.Common":{ + "properties":{ + "abatement":{ + "name":"abatement", + "type":"boolean", + "type_version":"0.0.0", + "description":"Whether an abatement event message will be expected for the control loop from DCAE.", + "default":false, + "required":true + }, + "operations":{ + "name":"operations", + "type":"list", + "type_version":"0.0.0", + "description":"List of operations to be performed when Control Loop is triggered.", + "required":true, + "entry_schema":{ + "type":"onap.datatype.controlloop.Operation", + "type_version":"0.0.0" + } + }, + "trigger":{ + "name":"trigger", + "type":"string", + "type_version":"0.0.0", + "description":"Initial operation to execute upon receiving an Onset event message for the Control Loop.", + "required":true + }, + "timeout":{ + "name":"timeout", + "type":"integer", + "type_version":"0.0.0", + "description":"Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n", + "required":true + }, + "id":{ + "name":"id", + "type":"string", + "type_version":"0.0.0", + "description":"The unique control loop id.", + "required":true + } + }, + "name":"onap.policies.controlloop.operational.Common", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\nPolicy Types. This does NOT support the legacy Policy YAML policy type.\n" + }, + "onap.policies.controlloop.operational.common.Apex":{ + "properties":{ + "engineServiceParameters":{ + "name":"engineServiceParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The engine parameters like name, instanceCount, policy implementation, parameters etc.", + "required":true + }, + "eventOutputParameters":{ + "name":"eventOutputParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The event output parameters.", + "required":true + }, + "javaProperties":{ + "name":"javaProperties", + "type":"string", + "type_version":"0.0.0", + "description":"Name/value pairs of properties to be set for APEX if needed.", + "required":false + }, + "eventInputParameters":{ + "name":"eventInputParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The event input parameters.", + "required":true + } + }, + "name":"onap.policies.controlloop.operational.common.Apex", + "version":"1.0.0", + "derived_from":"onap.policies.controlloop.operational.Common", + "metadata":{ + + }, + "description":"Operational policies for Apex PDP" + }, + "onap.policies.monitoring.dcae-pm-subscription-handler":{ + "properties":{ + "pmsh_policy":{ + "name":"pmsh_policy", + "type":"onap.datatypes.monitoring.subscription", + "type_version":"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":{ + + } + } + }, + "topology_template":{ + + }, + "name":"NULL", + "version":"0.0.0" + }, + "propertiesMap": { + "provider_instance": { + "name": "provider_instance", + "version": "1.2.3", + "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart", + "typeVersion": "1.0.0", + "description": "The helm chart for the microservice", + "required": true + } + }, + "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop" + }, + "709c62b3-8918-41b9-a747-d21eb79c6c22": { + "id": "709c62b3-8918-41b9-a747-d21eb79c6c22", + "definition": { + "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement", + "version": "1.2.3" + }, + "participantType":{ + "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant", + "version":"2.3.1" + }, + "participantId":{ + "name":"org.onap.PM_Policy", + "version":"1.0.0" + }, + "state":"UNINITIALISED", + "orderedState":"UNINITIALISED", + "propertiesMap": { + "provider_instance": { + "name": "provider_instance", + "version": "1.2.3", + "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart", + "typeVersion": "1.0.0", + "description": "The helm chart for the microservice", + "required": true + } + }, + "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop" + } + } + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + POST + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + + continue + + false + -1 + + ${USERS} + 1 + true + 7200 + + true + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "orderedState": "PASSIVE", + "controlLoopIdentifierList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1" + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation/command + PUT + true + false + true + false + + + + + + + 6000 + + + + + 202 + 400 + 406 + + + Assertion.response_code + true + 34 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "orderedState": "UNINITIALISED", + "controlLoopIdentifierList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1" + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation/command + PUT + true + false + true + false + + + + + + + + 400 + 406 + 202 + + + Assertion.response_code + true + 34 + + + + 6000 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + 1000 + + + + + stoptest + + false + 1 + + 1 + 1 + false + + + true + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation?name=PMSHInstance0&version=1.0.1 + DELETE + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + 6000 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/commission?name=NULL&version=0.0.0 + DELETE + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ${LOGS_PATH}testresults.jtl + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ${LOGS_PATH}resultTree.log + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ${LOGS_PATH}resultTable.log + + + + + diff --git a/testsuites/performance/src/main/resources/testplans/results.sh b/testsuites/performance/src/main/resources/testplans/results.sh new file mode 100644 index 000000000..adb3e03dd --- /dev/null +++ b/testsuites/performance/src/main/resources/testplans/results.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +#============LICENSE_START======================================================= +#Copyright (C) 2021 Nordix Foundation. +#================================================================================ +#Licensed under the Apache License, Version 2.0 (the "License"); +#you may not use this file except in compliance with the License. +#You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +#Unless required by applicable law or agreed to in writing, software +#distributed under the License is distributed on an "AS IS" BASIS, +#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +#See the License for the specific language governing permissions and +#limitations under the License. +#============LICENSE_END========================================================= + +LOGFILE=$1 +if [[ ! -f $LOGFILE ]]; then + echo "The file '$LOGFILE' in not provided." + echo "Please provide log file to process." + exit 1 +fi + +echo "File being processed: " $LOGFILE +RES=$(awk -F "," 'NR>1 { total += $15 } END { print total/NR }' $LOGFILE) +echo "Average Latency: " $RES +LC=$(awk 'END{print NR}' $LOGFILE) +echo "Total Requests:" $LC +echo "Requests/sec:" $((LC/5)) + diff --git a/testsuites/pom.xml b/testsuites/pom.xml new file mode 100644 index 000000000..6c972e9a1 --- /dev/null +++ b/testsuites/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + org.onap.policy.clamp + policy-clamp + 6.1.3-SNAPSHOT + + + clamp-testsuites + pom + + + + true + + + + stability + performance + + diff --git a/testsuites/readme.text b/testsuites/readme.text new file mode 100644 index 000000000..2257452d5 --- /dev/null +++ b/testsuites/readme.text @@ -0,0 +1,73 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START======================================================= + Copyright (C) 2021 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +#------------------------------------------------------------------------------- + +To set up S3P test environment with all docker images, either build the docker images locally with +"mvn clean install -P docker" in clamp/packages directory Or use policy/docker/csit to bring up docker images. + +Important Instructions to setup environment using CSIT: +------------------------------------------------------- +Step 1: $cd policy/docker/csit + +Step 2: +$vi run-project-csit.sh +Comment the on_exit cleanup function call in run-project-csit.sh file. By doing this, docker images once started will not be shutdown. +All images will be up and running, to carryout any Stability or Performance tests using JMeter. +# ensure that teardown and other finalizing steps are always executed +#trap on_exit EXIT + +Step 3: +./run-project-csit.sh clamp +This command will bring up all required docker images + +Step 4: Ensure the IP's and Ports in stability.jmx and performance.jmx are changed, and reflecting to the IP's of docker images. +Example: +$cd ./clamp/testsuites/stability/src/main/resources/testplans/stability.jmx + + RUNTIME_HOST + 192.168.48.9 + = + + + +On successfull docker image bring up: +------------------------------------ +$docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +a9cb0cd103cf onap/policy-clamp-cl-runtime:latest "/opt/app/policy/bin…" 41 seconds ago Up 40 seconds 6969/tcp policy-clamp-cl-runtime +886e572b8438 onap/policy-clamp-cl-pf-ppnt:latest "/opt/app/policy/bin…" 42 seconds ago Up 41 seconds 6973/tcp policy-clamp-cl-pf-ppnt +035707b1b95f nexus3.onap.org:10001/onap/policy-api:2.5-SNAPSHOT-latest "./wait_for_port.sh …" 42 seconds ago Up 42 seconds 6969/tcp policy-api +d34204f95ff3 onap/policy-clamp-cl-http-ppnt:latest "/opt/app/policy/bin…" 43 seconds ago Up 42 seconds 6971/tcp policy-clamp-cl-http-ppnt +4470e608c9a8 onap/policy-clamp-cl-k8s-ppnt:latest "/opt/app/policy/bin…" 43 seconds ago Up 42 seconds 6972/tcp, 8083/tcp policy-clamp-cl-k8s-ppnt +62229d46b79c nexus3.onap.org:10001/onap/policy-models-simulator:2.5-SNAPSHOT-latest "bash simulators.sh" 45 seconds ago Up 43 seconds 3905/tcp, 6666/tcp, 6668-6670/tcp, 6680/tcp simulator +efaf0ca5e1f0 nexus3.onap.org:10001/mariadb:10.5.8 "docker-entrypoint.s…" 45 seconds ago Up 43 seconds 3306/tcp mariadb + +To start performance tests: +-------------------------- +nohup ./jMeter/apache-jmeter-5.2.1/bin/jmeter -n -t performance.jmx -l testresults.jtl + +To start stability tests: +-------------------------- +nohup ./jMeter/apache-jmeter-5.2.1/bin/jmeter -n -t stability.jmx -l testresults.jtl + +To remove all docker images after Stability (72hrs) and Performance(2hrs) test runs: +----------------------------------------------------------------------------------- +cd policy/docker/csit +docker-compose -f ./docker-compose-all.yml down -v + diff --git a/testsuites/stability/pom.xml b/testsuites/stability/pom.xml new file mode 100644 index 000000000..0cec5d317 --- /dev/null +++ b/testsuites/stability/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + org.onap.policy.clamp + clamp-testsuites + 6.1.3-SNAPSHOT + + clamp-stability + diff --git a/testsuites/stability/src/main/resources/testplans/stability.jmx b/testsuites/stability/src/main/resources/testplans/stability.jmx new file mode 100644 index 000000000..32bb36012 --- /dev/null +++ b/testsuites/stability/src/main/resources/testplans/stability.jmx @@ -0,0 +1,2268 @@ + + + + + Policy Clamp Controlloop Stability Tests + false + true + true + + + + RUNTIME_HOST + 192.168.48.9 + = + + + RUNTIME_PORT + 6969 + = + + + POLICY_PARTICIPANT_HOST + 192.168.48.8 + = + + + POLICY_PARTICIPANT_HOST_PORT + 6973 + = + + + + + + + + + + https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/controlloop/v2 + healthcheck + zb!XztG34 + + + + + true + false + + + + + + Content-Type + application/json + + + X-ONAP-RequestID + 709c62b3-8918-41b9-a747-d21eb79c6c20 + + + + + + stoptest + + false + 1 + + 1 + 1 + false + 260000 + + true + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "data_types": { + "onap.datatypes.ToscaConceptIdentifier": { + "derived_from": "tosca.datatypes.Root", + "properties": { + "name": { + "type": "string", + "required": true + }, + "version": { + "type": "string", + "required": true + } + } + }, + "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo": { + "name": "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo", + "version": "0.0.0", + "derived_from": "tosca.datatypes.Root", + "properties": { + "consulUrl": { + "name": "consulUrl", + "type": "string", + "typeVersion": "0.0.0", + "description": "Consul url for this entry", + "required": true + }, + "consul_body": { + "name": "consulBody", + "type": "string", + "typeVersion": "0.0.0", + "description": "Body of Consul entry", + "required": true + } + } + }, + "onap.datatype.controlloop.Target": { + "derived_from": "tosca.datatypes.Root", + "description": "Definition for a entity in A&AI to perform a control loop 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.controlloop.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.controlloop.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.controlloop.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.controlloop.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": {} + } + }, + "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.test123": { + "derived_from": "tosca.policies.Root", + "description": "a base policy type for all policies that govern monitoring provisioning", + "version": "1.0.0", + "name": "onap.policies.test123" + }, + "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.controlloop.operational.Common": { + "derived_from": "tosca.policies.Root", + "version": "1.0.0", + "name": "onap.policies.controlloop.operational.Common", + "description": "Operational Policy for Control Loop 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 control loop 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 control loop from DCAE.", + "required": true, + "default": false + }, + "trigger": { + "type": "string", + "description": "Initial operation to execute upon receiving an Onset event message for the Control Loop.", + "required": true + }, + "operations": { + "type": "list", + "description": "List of operations to be performed when Control Loop is triggered.", + "required": true, + "entry_schema": { + "type": "onap.datatype.controlloop.Operation" + } + } + } + }, + "onap.policies.controlloop.operational.common.Apex": { + "derived_from": "onap.policies.controlloop.operational.Common", + "type_version": "1.0.0", + "version": "1.0.0", + "name": "onap.policies.controlloop.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.controlloop.Participant": { + "version": "1.0.1", + "derived_from": "tosca.nodetypes.Root", + "properties": { + "provider": { + "type": "string", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.ControlLoopElement": { + "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 control loop element" + }, + "participantType": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "required": true, + "metadata": { + "common": true + }, + "description": "The identity of the participant type that hosts this type of Control Loop Element" + }, + "startPhase": { + "type": "integer", + "required": false, + "constraints": [ + { + "greater_or_equal": 0 + } + ], + "metadata": { + "common": true + }, + "description": "A value indicating the start phase in which this control loop element will be started, the first start phase is zero. Control Loop Elements are started in their start_phase order and stopped in reverse start phase order. Control Loop 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.controlloop.ControlLoop": { + "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 control loop element" + }, + "elements": { + "type": "list", + "required": true, + "metadata": { + "common": true + }, + "entry_schema": { + "type": "onap.datatypes.ToscaConceptIdentifier" + }, + "description": "Specifies a list of control loop element definitions that make up this control loop definition" + } + } + }, + "org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "dcae_blueprint_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + }, + "dcae_blueprint": { + "type": "onap.dcae.cloudify_blueprint", + "requred": false + }, + "consul_info": { + "type": "list", + "required": false, + "entry_schema": { + "type": "org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo" + } + } + } + }, + "org.onap.policy.clamp.controlloop.PolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement", + "properties": { + "policy_type_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + }, + "policy_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": false + } + } + }, + "org.onap.policy.clamp.controlloop.CDSControlLoopElement": { + "version": "1.0.1", + "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", + "properties": { + "cds_blueprint_id": { + "type": "onap.datatypes.ToscaConceptIdentifier", + "requred": true + } + } + } + }, + "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.dcae.controlloop.DCAEMicroserviceControlLoopParticipant": { + "version": "2.3.4", + "type": "org.onap.policy.clamp.controlloop.Participant", + "type_version": "1.0.1", + "description": "Participant for DCAE microservices", + "properties": { + "provider": "ONAP" + } + }, + "org.onap.policy.controlloop.PolicyControlLoopParticipant": { + "version": "2.3.1", + "type": "org.onap.policy.clamp.controlloop.Participant", + "type_version": "1.0.1", + "description": "Participant for DCAE microservices", + "properties": { + "provider": "ONAP" + } + }, + "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "type_version": "1.0.0", + "description": "Control loop element for the monitoring policy for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "participantType": { + "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant", + "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_OperationalPolicyControlLoopElement": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement", + "type_version": "1.0.0", + "description": "Control loop element for the operational policy for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "participantType": { + "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant", + "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.domain.pmsh.PMSHControlLoopDefinition": { + "version": "1.2.3", + "type": "org.onap.policy.clamp.controlloop.ControlLoop", + "type_version": "1.0.0", + "description": "Control loop for Performance Management Subscription Handling", + "properties": { + "provider": "Ericsson", + "elements": [ + { + "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice", + "version": "1.2.3" + }, + { + "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement", + "version": "1.2.3" + }, + { + "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement", + "version": "1.2.3" + } + ] + } + } + } + } +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/commission + POST + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "controlLoopList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1", + "definition": { + "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition", + "version": "1.2.3" + }, + "state": "UNINITIALISED", + "orderedState": "UNINITIALISED", + "description": "PMSH control loop instance 0", + "elements": { + "709c62b3-8918-41b9-a747-d21eb79c6c21": { + "id": "709c62b3-8918-41b9-a747-d21eb79c6c21", + "definition": { + "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement", + "version": "1.2.3" + }, + "participantType":{ + "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant", + "version":"2.3.1" + }, + "participantId":{ + "name":"org.onap.PM_Policy", + "version":"1.0.0" + }, + "state":"UNINITIALISED", + "orderedState":"UNINITIALISED", + "toscaServiceTemplateFragment":{ + "data_types":{ + "onap.datatype.controlloop.Actor":{ + "constraints":[ + + ], + "properties":{ + "payload":{ + "name":"payload", + "type":"map", + "type_version":"0.0.0", + "description":"Name/value pairs of payload information passed by Policy to the actor", + "required":false, + "entry_schema":{ + "type":"string", + "type_version":"0.0.0" + }, + "metadata":{ + "clamp_possible_values":"ClampExecution:CDS/payload" + } + }, + "target":{ + "name":"target", + "type":"onap.datatype.controlloop.Target", + "type_version":"0.0.0", + "description":"The resource the operation should be performed on.", + "required":true + }, + "actor":{ + "name":"actor", + "type":"string", + "type_version":"0.0.0", + "description":"The actor performing the operation.", + "required":true, + "metadata":{ + "clamp_possible_values":"Dictionary:DefaultActors,ClampExecution:CDS/actor" + } + }, + "operation":{ + "name":"operation", + "type":"string", + "type_version":"0.0.0", + "description":"The operation the actor is performing.", + "required":true, + "metadata":{ + "clamp_possible_values":"Dictionary:DefaultOperations,ClampExecution:CDS/operation" + } + } + }, + "name":"onap.datatype.controlloop.Actor", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"An actor/operation/target definition" + }, + "onap.datatype.controlloop.Operation":{ + "constraints":[ + + ], + "properties":{ + "failure_retries":{ + "name":"failure_retries", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation has exceeded its max retries.", + "default":"final_failure_retries", + "required":false + }, + "id":{ + "name":"id", + "type":"string", + "type_version":"0.0.0", + "description":"Unique identifier for the operation", + "required":true + }, + "failure_timeout":{ + "name":"failure_timeout", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the time out for the operation occurs.", + "default":"final_failure_timeout", + "required":false + }, + "failure":{ + "name":"failure", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke on Actor operation failure.", + "default":"final_failure", + "required":false + }, + "operation":{ + "name":"operation", + "type":"onap.datatype.controlloop.Actor", + "type_version":"0.0.0", + "description":"The definition of the operation to be performed.", + "required":true + }, + "failure_guard":{ + "name":"failure_guard", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.", + "default":"final_failure_guard", + "required":false + }, + "retries":{ + "name":"retries", + "type":"integer", + "type_version":"0.0.0", + "description":"The number of retries the actor should attempt to perform the operation.", + "default":0.0, + "required":true + }, + "timeout":{ + "name":"timeout", + "type":"integer", + "type_version":"0.0.0", + "description":"The amount of time for the actor to perform the operation.", + "required":true + }, + "failure_exception":{ + "name":"failure_exception", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke when the current operation causes an exception.", + "default":"final_failure_exception", + "required":false + }, + "description":{ + "name":"description", + "type":"string", + "type_version":"0.0.0", + "description":"A user-friendly description of the intent for the operation", + "required":false + }, + "success":{ + "name":"success", + "type":"string", + "type_version":"0.0.0", + "description":"Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.", + "default":"final_success", + "required":false + } + }, + "name":"onap.datatype.controlloop.Operation", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"An operation supported by an actor" + }, + "onap.datatype.controlloop.Target":{ + "constraints":[ + + ], + "properties":{ + "entityIds":{ + "name":"entityIds", + "type":"map", + "type_version":"0.0.0", + "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, + "entry_schema":{ + "type":"string", + "type_version":"0.0.0" + }, + "metadata":{ + "clamp_possible_values":"ClampExecution:CSAR_RESOURCES" + } + }, + "targetType":{ + "name":"targetType", + "type":"string", + "type_version":"0.0.0", + "description":"Category for the target type", + "required":true, + "constraints":[ + { + "valid_values":[ + "VNF", + "VM", + "VFMODULE", + "PNF" + ] + } + ] + } + }, + "name":"onap.datatype.controlloop.Target", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + }, + "description":"Definition for a entity in A&AI to perform a control loop operation on" + }, + "onap.datatypes.ToscaConceptIdentifier":{ + "constraints":[ + + ], + "properties":{ + "version":{ + "name":"version", + "type":"string", + "type_version":"0.0.0", + "required":true + }, + "name":{ + "name":"name", + "type":"string", + "type_version":"0.0.0", + "required":true + } + }, + "name":"onap.datatypes.ToscaConceptIdentifier", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + } + }, + "onap.datatypes.monitoring.managedObjectDNsBasic":{ + "constraints":[ + + ], + "properties":{ + "DN":{ + "name":"DN", + "type":"string", + "type_version":"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", + "type_version":"0.0.0", + "description":"Managed object distinguished name object", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.managedObjectDNsBasic", + "type_version":"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", + "type_version":"0.0.0", + "description":"List of measurement types", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementTypes", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "managedObjectDNsBasic":{ + "name":"managedObjectDNsBasic", + "type":"list", + "type_version":"0.0.0", + "description":"List of managed object distinguished names", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.managedObjectDNsBasics", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement Group", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementGroup", + "type_version":"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", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement type object", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementType", + "type_version":"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":{ + "modelVersionIDs":{ + "name":"modelVersionIDs", + "type":"list", + "type_version":"0.0.0", + "description":"List of model version IDs", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "modelInvariantIDs":{ + "name":"modelInvariantIDs", + "type":"list", + "type_version":"0.0.0", + "description":"List of model invariant IDs", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "modelNames":{ + "name":"modelNames", + "type":"list", + "type_version":"0.0.0", + "description":"List of model names", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "nfNames":{ + "name":"nfNames", + "type":"list", + "type_version":"0.0.0", + "description":"List of network functions", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"string", + "type_version":"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", + "type_version":"0.0.0", + "description":"Measurement Groups", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.measurementGroups", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + }, + "fileBasedGP":{ + "name":"fileBasedGP", + "type":"integer", + "type_version":"0.0.0", + "description":"File based granularity period", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "fileLocation":{ + "name":"fileLocation", + "type":"string", + "type_version":"0.0.0", + "description":"ROP file location", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "subscriptionName":{ + "name":"subscriptionName", + "type":"string", + "type_version":"0.0.0", + "description":"Name of the subscription", + "required":true, + "constraints":[ + + ], + "metadata":{ + + } + }, + "administrativeState":{ + "name":"administrativeState", + "type":"string", + "type_version":"0.0.0", + "description":"State of the subscription", + "required":true, + "constraints":[ + { + "valid_values":[ + "LOCKED", + "UNLOCKED" + ] + } + ], + "metadata":{ + + } + }, + "nfFilter":{ + "name":"nfFilter", + "type":"map", + "type_version":"0.0.0", + "description":"Network function filter", + "required":true, + "constraints":[ + + ], + "entry_schema":{ + "type":"onap.datatypes.monitoring.nfFilter", + "type_version":"0.0.0", + "constraints":[ + + ] + }, + "metadata":{ + + } + } + }, + "name":"onap.datatypes.monitoring.subscription", + "version":"0.0.0", + "derived_from":"tosca.datatypes.Root", + "metadata":{ + + } + } + }, + "policy_types":{ + "onap.policies.Monitoring":{ + "properties":{ + + }, + "name":"onap.policies.Monitoring", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"a base policy type for all policies that govern monitoring provisioning" + }, + "onap.policies.test123":{ + "properties":{ + + }, + "name":"onap.policies.test123", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"a base policy type for all policies that govern monitoring provisioning" + }, + "onap.policies.controlloop.operational.Common":{ + "properties":{ + "abatement":{ + "name":"abatement", + "type":"boolean", + "type_version":"0.0.0", + "description":"Whether an abatement event message will be expected for the control loop from DCAE.", + "default":false, + "required":true + }, + "operations":{ + "name":"operations", + "type":"list", + "type_version":"0.0.0", + "description":"List of operations to be performed when Control Loop is triggered.", + "required":true, + "entry_schema":{ + "type":"onap.datatype.controlloop.Operation", + "type_version":"0.0.0" + } + }, + "trigger":{ + "name":"trigger", + "type":"string", + "type_version":"0.0.0", + "description":"Initial operation to execute upon receiving an Onset event message for the Control Loop.", + "required":true + }, + "timeout":{ + "name":"timeout", + "type":"integer", + "type_version":"0.0.0", + "description":"Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n", + "required":true + }, + "id":{ + "name":"id", + "type":"string", + "type_version":"0.0.0", + "description":"The unique control loop id.", + "required":true + } + }, + "name":"onap.policies.controlloop.operational.Common", + "version":"1.0.0", + "derived_from":"tosca.policies.Root", + "metadata":{ + + }, + "description":"Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\nPolicy Types. This does NOT support the legacy Policy YAML policy type.\n" + }, + "onap.policies.controlloop.operational.common.Apex":{ + "properties":{ + "engineServiceParameters":{ + "name":"engineServiceParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The engine parameters like name, instanceCount, policy implementation, parameters etc.", + "required":true + }, + "eventOutputParameters":{ + "name":"eventOutputParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The event output parameters.", + "required":true + }, + "javaProperties":{ + "name":"javaProperties", + "type":"string", + "type_version":"0.0.0", + "description":"Name/value pairs of properties to be set for APEX if needed.", + "required":false + }, + "eventInputParameters":{ + "name":"eventInputParameters", + "type":"string", + "type_version":"0.0.0", + "description":"The event input parameters.", + "required":true + } + }, + "name":"onap.policies.controlloop.operational.common.Apex", + "version":"1.0.0", + "derived_from":"onap.policies.controlloop.operational.Common", + "metadata":{ + + }, + "description":"Operational policies for Apex PDP" + }, + "onap.policies.monitoring.dcae-pm-subscription-handler":{ + "properties":{ + "pmsh_policy":{ + "name":"pmsh_policy", + "type":"onap.datatypes.monitoring.subscription", + "type_version":"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":{ + + } + } + }, + "topology_template":{ + + }, + "name":"NULL", + "version":"0.0.0" + }, + "propertiesMap": { + "provider_instance": { + "name": "provider_instance", + "version": "1.2.3", + "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart", + "typeVersion": "1.0.0", + "description": "The helm chart for the microservice", + "required": true + } + }, + "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop" + }, + "709c62b3-8918-41b9-a747-d21eb79c6c22": { + "id": "709c62b3-8918-41b9-a747-d21eb79c6c22", + "definition": { + "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement", + "version": "1.2.3" + }, + "participantType":{ + "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant", + "version":"2.3.1" + }, + "participantId":{ + "name":"org.onap.PM_Policy", + "version":"1.0.0" + }, + "state":"UNINITIALISED", + "orderedState":"UNINITIALISED", + "propertiesMap": { + "provider_instance": { + "name": "provider_instance", + "version": "1.2.3", + "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart", + "typeVersion": "1.0.0", + "description": "The helm chart for the microservice", + "required": true + } + }, + "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop" + } + } + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + POST + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + + continue + + false + -1 + + 1 + 1 + true + 259200 + + true + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "orderedState": "PASSIVE", + "controlLoopIdentifierList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1" + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation/command + PUT + true + false + true + false + + + + + + + 6000 + + + + + 202 + 400 + 406 + + + Assertion.response_code + true + 34 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + true + + + + false + { + "orderedState": "UNINITIALISED", + "controlLoopIdentifierList": [ + { + "name": "PMSHInstance0", + "version": "1.0.1" + } + ] +} + = + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation/command + PUT + true + false + true + false + + + + + + + + 400 + 406 + 202 + + + Assertion.response_code + true + 34 + + + + 6000 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation + GET + true + false + true + false + + + + Basic Health Check + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + + stoptest + + false + 1 + + 1 + 1 + false + + + true + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/instantiation?name=PMSHInstance0&version=1.0.1 + DELETE + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + 6000 + + + + + + + + ${RUNTIME_HOST} + ${RUNTIME_PORT} + https + + /onap/controlloop/v2/commission?name=NULL&version=0.0.0 + DELETE + true + false + true + false + + + + + + + + 200 + + + Assertion.response_code + false + 1 + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ./controlloop_stability/testsummary.jtl + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ./controlloop_stability/resultTree.log + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + ./controlloop_stability/resultTable.log + + + + + -- cgit 1.2.3-korg