aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-10-05 16:37:04 +0100
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-10-13 11:55:32 +0100
commitdc0071571224e20d72b38543301fc1ff9dba16ec (patch)
tree438428cad9d1992817bd9749b190de99218d18bc
parent680b87d278673b1768be1c13fca90d6f7dfef3af (diff)
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 <sirisha.manchikanti@est.tech> Change-Id: I48c206d841d7d3393f469d26fdd4f8d0b66c3478
-rw-r--r--packages/policy-clamp-docker/src/main/docker/controlloop-runtime.sh6
-rw-r--r--packages/policy-clamp-tarball/src/main/resources/etc/ClRuntimeParameters.yaml4
-rw-r--r--testsuites/performance/pom.xml31
-rw-r--r--testsuites/performance/src/main/resources/testplans/performance.jmx2292
-rw-r--r--testsuites/performance/src/main/resources/testplans/results.sh32
-rw-r--r--testsuites/pom.xml40
-rw-r--r--testsuites/readme.text73
-rw-r--r--testsuites/stability/pom.xml28
-rw-r--r--testsuites/stability/src/main/resources/testplans/stability.jmx2268
9 files changed, 4772 insertions, 2 deletions
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 @@
+<!--
+ ============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=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.clamp</groupId>
+ <artifactId>clamp-testsuites</artifactId>
+ <version>6.1.3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>clamp-performance</artifactId>
+</project>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
+ <hashTree>
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy Clamp ControlLoop Performance" enabled="true">
+ <stringProp name="TestPlan.comments">Policy Clamp ControlLoop Performance Tests</stringProp>
+ <boolProp name="TestPlan.functional_mode">false</boolProp>
+ <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+ <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="RUNTIME_HOST" elementType="Argument">
+ <stringProp name="Argument.name">RUNTIME_HOST</stringProp>
+ <stringProp name="Argument.value">192.168.32.9</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="RUNTIME_PORT" elementType="Argument">
+ <stringProp name="Argument.name">RUNTIME_PORT</stringProp>
+ <stringProp name="Argument.value">6969</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="POLICY_PARTICIPANT_HOST" elementType="Argument">
+ <stringProp name="Argument.name">POLICY_PARTICIPANT_HOST</stringProp>
+ <stringProp name="Argument.value">192.168.32.8</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="POLICY_PARTICIPANT_PORT" elementType="Argument">
+ <stringProp name="Argument.name">POLICY_PARTICIPANT_PORT</stringProp>
+ <stringProp name="Argument.value">6970</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="HOME_PATH" elementType="Argument">
+ <stringProp name="Argument.name">HOME_PATH</stringProp>
+ <stringProp name="Argument.value">./</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="LOGS_PATH" elementType="Argument">
+ <stringProp name="Argument.name">LOGS_PATH</stringProp>
+ <stringProp name="Argument.value">${HOME_PATH}/controlloop_perf/</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="DURATION" elementType="Argument">
+ <stringProp name="Argument.name">DURATION</stringProp>
+ <stringProp name="Argument.value">${__P(DURATION,14400)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="USERS" elementType="Argument">
+ <stringProp name="Argument.name">USERS</stringProp>
+ <stringProp name="Argument.value">${__P(USERS,5)}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="TestPlan.user_define_classpath"></stringProp>
+ </TestPlan>
+ <hashTree>
+ <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
+ <collectionProp name="AuthManager.auth_list">
+ <elementProp name="" elementType="Authorization">
+ <stringProp name="Authorization.url">https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/controlloop/v2</stringProp>
+ <stringProp name="Authorization.username">healthcheck</stringProp>
+ <stringProp name="Authorization.password">zb!XztG34</stringProp>
+ <stringProp name="Authorization.domain"></stringProp>
+ <stringProp name="Authorization.realm"></stringProp>
+ </elementProp>
+ </collectionProp>
+ <boolProp name="AuthManager.clearEachIteration">true</boolProp>
+ <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp>
+ </AuthManager>
+ <hashTree/>
+ <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+ <collectionProp name="HeaderManager.headers">
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Accept</stringProp>
+ <stringProp name="Header.value">application/json</stringProp>
+ </elementProp>
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Content-Type</stringProp>
+ <stringProp name="Header.value">application/json</stringProp>
+ </elementProp>
+ </collectionProp>
+ </HeaderManager>
+ <hashTree/>
+ <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration">260000</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </SetupThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Comission control loop definition" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
+ &quot;data_types&quot;: {&#xd;
+ &quot;onap.datatypes.ToscaConceptIdentifier&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;name&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;version&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;consulUrl&quot;: {&#xd;
+ &quot;name&quot;: &quot;consulUrl&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Consul url for this entry&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;consul_body&quot;: {&#xd;
+ &quot;name&quot;: &quot;consulBody&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Body of Consul entry&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Target&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;Definition for a entity in A&amp;AI to perform a control loop operation on&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;targetType&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Category for the target type&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;valid_values&quot;: [&#xd;
+ &quot;VNF&quot;,&#xd;
+ &quot;VM&quot;,&#xd;
+ &quot;VFMODULE&quot;,&#xd;
+ &quot;PNF&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;entityIds&quot;: {&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;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&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;ClampExecution:CSAR_RESOURCES&quot;&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Actor&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;An actor/operation/target definition&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;actor&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The actor performing the operation.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;Dictionary:DefaultActors,ClampExecution:CDS/actor&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;operation&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The operation the actor is performing.&quot;,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;Dictionary:DefaultOperations,ClampExecution:CDS/operation&quot;&#xd;
+ },&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;target&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;description&quot;: &quot;The resource the operation should be performed on.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;payload&quot;: {&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;Name/value pairs of payload information passed by Policy to the actor&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;ClampExecution:CDS/payload&quot;&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Operation&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;An operation supported by an actor&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;id&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Unique identifier for the operation&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;A user-friendly description of the intent for the operation&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ },&#xd;
+ &quot;operation&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;description&quot;: &quot;The definition of the operation to be performed.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The amount of time for the actor to perform the operation.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;retries&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The number of retries the actor should attempt to perform the operation.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;default&quot;: 0&#xd;
+ },&#xd;
+ &quot;success&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke on success. A value of \&quot;final_success\&quot; indicates and end to the operation.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_success&quot;&#xd;
+ },&#xd;
+ &quot;failure&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke on Actor operation failure.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure&quot;&#xd;
+ },&#xd;
+ &quot;failure_timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the time out for the operation occurs.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_timeout&quot;&#xd;
+ },&#xd;
+ &quot;failure_retries&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation has exceeded its max retries.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_retries&quot;&#xd;
+ },&#xd;
+ &quot;failure_exception&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation causes an exception.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_exception&quot;&#xd;
+ },&#xd;
+ &quot;failure_guard&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_guard&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;DN&quot;: {&#xd;
+ &quot;name&quot;: &quot;DN&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Managed object distinguished name&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;managedObjectDNsBasic&quot;: {&#xd;
+ &quot;name&quot;: &quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Managed object distinguished name object&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroup&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementTypes&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementTypes&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of measurement types&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;managedObjectDNsBasic&quot;: {&#xd;
+ &quot;name&quot;: &quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of managed object distinguished names&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroups&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementGroup&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementGroup&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement Group&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementType&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementType&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementType&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement type&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementTypes&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementType&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementType&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement type object&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.nfFilter&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;modelNames&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelNames&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model names&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;modelInvariantIDs&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelInvariantIDs&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model invariant IDs&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;modelVersionIDs&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelVersionIDs&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model version IDs&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;nfNames&quot;: {&#xd;
+ &quot;name&quot;: &quot;nfNames&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of network functions&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.subscription&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementGroups&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementGroups&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement Groups&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;fileBasedGP&quot;: {&#xd;
+ &quot;name&quot;: &quot;fileBasedGP&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;File based granularity period&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;fileLocation&quot;: {&#xd;
+ &quot;name&quot;: &quot;fileLocation&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;ROP file location&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;subscriptionName&quot;: {&#xd;
+ &quot;name&quot;: &quot;subscriptionName&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Name of the subscription&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;administrativeState&quot;: {&#xd;
+ &quot;name&quot;: &quot;administrativeState&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;State of the subscription&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;valid_values&quot;: [&#xd;
+ &quot;LOCKED&quot;,&#xd;
+ &quot;UNLOCKED&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;nfFilter&quot;: {&#xd;
+ &quot;name&quot;: &quot;nfFilter&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Network function filter&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_types&quot;: {&#xd;
+ &quot;onap.policies.Monitoring&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;a base policy type for all policies that govern monitoring provisioning&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.Monitoring&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.test123&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;a base policy type for all policies that govern monitoring provisioning&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.test123&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;pmsh_policy&quot;: {&#xd;
+ &quot;name&quot;: &quot;pmsh_policy&quot;,&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;PMSH Policy JSON&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.Common&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;description&quot;: &quot;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&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;id&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The unique control loop id.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;abatement&quot;: {&#xd;
+ &quot;type&quot;: &quot;boolean&quot;,&#xd;
+ &quot;description&quot;: &quot;Whether an abatement event message will be expected for the control loop from DCAE.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;default&quot;: false&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Initial operation to execute upon receiving an Onset event message for the Control Loop.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;operations&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;description&quot;: &quot;List of operations to be performed when Control Loop is triggered.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Operation&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.common.Apex&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.controlloop.operational.common.Apex&quot;,&#xd;
+ &quot;description&quot;: &quot;Operational policies for Apex PDP&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;engineServiceParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The engine parameters like name, instanceCount, policy implementation, parameters etc.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The event input parameters.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The event output parameters.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;javaProperties&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Name/value pairs of properties to be set for APEX if needed.&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;node_types&quot;: {&#xd;
+ &quot;org.onap.policy.clamp.controlloop.Participant&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the control loop element&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The identity of the participant type that hosts this type of Control Loop Element&quot;&#xd;
+ },&#xd;
+ &quot;startPhase&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;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&quot;&#xd;
+ },&#xd;
+ &quot;uninitializedToPassiveTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from uninitialized to passive&quot;&#xd;
+ },&#xd;
+ &quot;passiveToRunningTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to running&quot;&#xd;
+ },&#xd;
+ &quot;runningToPassiveTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from running to passive&quot;&#xd;
+ },&#xd;
+ &quot;passiveToUninitializedTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to uninitialized&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.ControlLoop&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the control loop element&quot;&#xd;
+ },&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies a list of control loop element definitions that make up this control loop definition&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;dcae_blueprint_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ },&#xd;
+ &quot;dcae_blueprint&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.dcae.cloudify_blueprint&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ },&#xd;
+ &quot;consul_info&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.CDSControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;cds_blueprint_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;topology_template&quot;: {&#xd;
+ &quot;inputs&quot;: {&#xd;
+ &quot;pmsh_monitoring_policy&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The ID of the PMSH monitoring policy to use&quot;,&#xd;
+ &quot;default&quot;: {&#xd;
+ &quot;name&quot;: &quot;MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;pmsh_operational_policy&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The ID of the PMSH operational policy to use&quot;,&#xd;
+ &quot;default&quot;: {&#xd;
+ &quot;name&quot;: &quot;operational.apex.pmcontrol&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;node_templates&quot;: {&#xd;
+ &quot;org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant&quot;: {&#xd;
+ &quot;version&quot;: &quot;2.3.4&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.Participant&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;description&quot;: &quot;Participant for DCAE microservices&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;: {&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.Participant&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;description&quot;: &quot;Participant for DCAE microservices&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop element for the monitoring policy for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policies.monitoring.pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;get_input&quot;: &quot;pmsh_monitoring_policy&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop element for the operational policy for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policies.operational.pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;get_input&quot;: &quot;pmsh_operational_policy&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSHControlLoopDefinition&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoop&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;elements&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_DCAEMicroservice&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/commission</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate control loop" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;controlLoopList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSHControlLoopDefinition&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;description&quot;: &quot;PMSH control loop instance 0&quot;,&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;709c62b3-8918-41b9-a747-d21eb79c6c21&quot;: {&#xd;
+ &quot;id&quot;: &quot;709c62b3-8918-41b9-a747-d21eb79c6c21&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;:&quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;participantId&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.PM_Policy&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;toscaServiceTemplateFragment&quot;:{&#xd;
+ &quot;data_types&quot;:{&#xd;
+ &quot;onap.datatype.controlloop.Actor&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;payload&quot;:{&#xd;
+ &quot;name&quot;:&quot;payload&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name/value pairs of payload information passed by Policy to the actor&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;ClampExecution:CDS/payload&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;target&quot;:{&#xd;
+ &quot;name&quot;:&quot;target&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The resource the operation should be performed on.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;actor&quot;:{&#xd;
+ &quot;name&quot;:&quot;actor&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The actor performing the operation.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;Dictionary:DefaultActors,ClampExecution:CDS/actor&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;operation&quot;:{&#xd;
+ &quot;name&quot;:&quot;operation&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The operation the actor is performing.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;Dictionary:DefaultOperations,ClampExecution:CDS/operation&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;An actor/operation/target definition&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Operation&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;failure_retries&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_retries&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation has exceeded its max retries.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_retries&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;id&quot;:{&#xd;
+ &quot;name&quot;:&quot;id&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Unique identifier for the operation&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the time out for the operation occurs.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_timeout&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;failure&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke on Actor operation failure.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;operation&quot;:{&#xd;
+ &quot;name&quot;:&quot;operation&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The definition of the operation to be performed.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_guard&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_guard&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_guard&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;retries&quot;:{&#xd;
+ &quot;name&quot;:&quot;retries&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The number of retries the actor should attempt to perform the operation.&quot;,&#xd;
+ &quot;default&quot;:0.0,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The amount of time for the actor to perform the operation.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_exception&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_exception&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation causes an exception.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_exception&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;description&quot;:{&#xd;
+ &quot;name&quot;:&quot;description&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;A user-friendly description of the intent for the operation&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;success&quot;:{&#xd;
+ &quot;name&quot;:&quot;success&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke on success. A value of \&quot;final_success\&quot; indicates and end to the operation.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_success&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Operation&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;An operation supported by an actor&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Target&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;entityIds&quot;:{&#xd;
+ &quot;name&quot;:&quot;entityIds&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;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&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;ClampExecution:CSAR_RESOURCES&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;targetType&quot;:{&#xd;
+ &quot;name&quot;:&quot;targetType&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Category for the target type&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ {&#xd;
+ &quot;valid_values&quot;:[&#xd;
+ &quot;VNF&quot;,&#xd;
+ &quot;VM&quot;,&#xd;
+ &quot;VFMODULE&quot;,&#xd;
+ &quot;PNF&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;Definition for a entity in A&amp;AI to perform a control loop operation on&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatypes.ToscaConceptIdentifier&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;version&quot;:{&#xd;
+ &quot;name&quot;:&quot;version&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;name&quot;:{&#xd;
+ &quot;name&quot;:&quot;name&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;DN&quot;:{&#xd;
+ &quot;name&quot;:&quot;DN&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Managed object distinguished name&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;managedObjectDNsBasic&quot;:{&#xd;
+ &quot;name&quot;:&quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Managed object distinguished name object&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroup&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementTypes&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementTypes&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of measurement types&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;managedObjectDNsBasic&quot;:{&#xd;
+ &quot;name&quot;:&quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of managed object distinguished names&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroups&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementGroup&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementGroup&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement Group&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementType&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementType&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementType&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement type&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementTypes&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementType&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementType&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement type object&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.nfFilter&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;modelVersionIDs&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelVersionIDs&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model version IDs&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;modelInvariantIDs&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelInvariantIDs&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model invariant IDs&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;modelNames&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelNames&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model names&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;nfNames&quot;:{&#xd;
+ &quot;name&quot;:&quot;nfNames&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of network functions&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.subscription&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementGroups&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementGroups&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement Groups&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;fileBasedGP&quot;:{&#xd;
+ &quot;name&quot;:&quot;fileBasedGP&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;File based granularity period&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;fileLocation&quot;:{&#xd;
+ &quot;name&quot;:&quot;fileLocation&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;ROP file location&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;subscriptionName&quot;:{&#xd;
+ &quot;name&quot;:&quot;subscriptionName&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name of the subscription&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;administrativeState&quot;:{&#xd;
+ &quot;name&quot;:&quot;administrativeState&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;State of the subscription&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ {&#xd;
+ &quot;valid_values&quot;:[&#xd;
+ &quot;LOCKED&quot;,&#xd;
+ &quot;UNLOCKED&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;nfFilter&quot;:{&#xd;
+ &quot;name&quot;:&quot;nfFilter&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Network function filter&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_types&quot;:{&#xd;
+ &quot;onap.policies.Monitoring&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;a base policy type for all policies that govern monitoring provisioning&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.test123&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.test123&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;a base policy type for all policies that govern monitoring provisioning&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.Common&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;abatement&quot;:{&#xd;
+ &quot;name&quot;:&quot;abatement&quot;,&#xd;
+ &quot;type&quot;:&quot;boolean&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Whether an abatement event message will be expected for the control loop from DCAE.&quot;,&#xd;
+ &quot;default&quot;:false,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;operations&quot;:{&#xd;
+ &quot;name&quot;:&quot;operations&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of operations to be performed when Control Loop is triggered.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Operation&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;trigger&quot;:{&#xd;
+ &quot;name&quot;:&quot;trigger&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Initial operation to execute upon receiving an Onset event message for the Control Loop.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;id&quot;:{&#xd;
+ &quot;name&quot;:&quot;id&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The unique control loop id.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;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&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.common.Apex&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;engineServiceParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;engineServiceParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The engine parameters like name, instanceCount, policy implementation, parameters etc.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;eventOutputParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The event output parameters.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;javaProperties&quot;:{&#xd;
+ &quot;name&quot;:&quot;javaProperties&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name/value pairs of properties to be set for APEX if needed.&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;eventInputParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The event input parameters.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.controlloop.operational.common.Apex&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;Operational policies for Apex PDP&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;pmsh_policy&quot;:{&#xd;
+ &quot;name&quot;:&quot;pmsh_policy&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;PMSH Policy JSON&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;topology_template&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;NULL&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;propertiesMap&quot;: {&#xd;
+ &quot;provider_instance&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider_instance&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;The helm chart for the microservice&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Monitoring Policy Control Loop Element for the PMSH instance 0 control loop&quot;&#xd;
+ },&#xd;
+ &quot;709c62b3-8918-41b9-a747-d21eb79c6c22&quot;: {&#xd;
+ &quot;id&quot;: &quot;709c62b3-8918-41b9-a747-d21eb79c6c22&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;:&quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;participantId&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.PM_Policy&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;propertiesMap&quot;: {&#xd;
+ &quot;provider_instance&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider_instance&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;The helm chart for the microservice&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Operational Policy Control Loop Element for the PMSH instance 0 control loop&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="ControlLoop Test Flow" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <intProp name="LoopController.loops">-1</intProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">true</boolProp>
+ <stringProp name="ThreadGroup.duration">7200</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </ThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to PASSIVE" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;orderedState&quot;: &quot;PASSIVE&quot;,&#xd;
+ &quot;controlLoopIdentifierList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ <stringProp name="51508">400</stringProp>
+ <stringProp name="51514">406</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">34</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to UNINITIALISED" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;orderedState&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;controlLoopIdentifierList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="51508">400</stringProp>
+ <stringProp name="51514">406</stringProp>
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">34</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="false">
+ <stringProp name="ConstantTimer.delay">1000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration"></stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </PostThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete instantiated controlloop" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation?name=PMSHInstance0&amp;version=1.0.1</stringProp>
+ <stringProp name="HTTPSampler.method">DELETE</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete ControlLoop Definition" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/commission?name=NULL&amp;version=0.0.0</stringProp>
+ <stringProp name="HTTPSampler.method">DELETE</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">${LOGS_PATH}testresults.jtl</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">${LOGS_PATH}resultTree.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">${LOGS_PATH}resultTable.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+</jmeterTestPlan>
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 @@
+<!--
+ ============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=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.clamp</groupId>
+ <artifactId>policy-clamp</artifactId>
+ <version>6.1.3-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>clamp-testsuites</artifactId>
+ <packaging>pom</packaging>
+
+ <properties>
+ <!-- There is no code in this sub-module, only holds interfaces. So skip sonar. -->
+ <sonar.skip>true</sonar.skip>
+ </properties>
+
+ <modules>
+ <module>stability</module>
+ <module>performance</module>
+ </modules>
+</project>
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
+ <elementProp name="RUNTIME_HOST" elementType="Argument">
+ <stringProp name="Argument.name">RUNTIME_HOST</stringProp>
+ <stringProp name="Argument.value">192.168.48.9</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+
+
+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 @@
+<!--
+ ============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=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.clamp</groupId>
+ <artifactId>clamp-testsuites</artifactId>
+ <version>6.1.3-SNAPSHOT</version>
+ </parent>
+ <artifactId>clamp-stability</artifactId>
+</project>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
+ <hashTree>
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy Clamp Controlloop Stability" enabled="true">
+ <stringProp name="TestPlan.comments">Policy Clamp Controlloop Stability Tests</stringProp>
+ <boolProp name="TestPlan.functional_mode">false</boolProp>
+ <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
+ <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="RUNTIME_HOST" elementType="Argument">
+ <stringProp name="Argument.name">RUNTIME_HOST</stringProp>
+ <stringProp name="Argument.value">192.168.48.9</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="RUNTIME_PORT" elementType="Argument">
+ <stringProp name="Argument.name">RUNTIME_PORT</stringProp>
+ <stringProp name="Argument.value">6969</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="POLICY_PARTICIPANT_HOST" elementType="Argument">
+ <stringProp name="Argument.name">POLICY_PARTICIPANT_HOST</stringProp>
+ <stringProp name="Argument.value">192.168.48.8</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ <elementProp name="POLICY_PARTICIPANT_HOST_PORT" elementType="Argument">
+ <stringProp name="Argument.name">POLICY_PARTICIPANT_HOST_PORT</stringProp>
+ <stringProp name="Argument.value">6973</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="TestPlan.user_define_classpath"></stringProp>
+ </TestPlan>
+ <hashTree>
+ <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
+ <collectionProp name="AuthManager.auth_list">
+ <elementProp name="" elementType="Authorization">
+ <stringProp name="Authorization.url">https://${RUNTIME_HOST}:${RUNTIME_PORT}/onap/controlloop/v2</stringProp>
+ <stringProp name="Authorization.username">healthcheck</stringProp>
+ <stringProp name="Authorization.password">zb!XztG34</stringProp>
+ <stringProp name="Authorization.domain"></stringProp>
+ <stringProp name="Authorization.realm"></stringProp>
+ </elementProp>
+ </collectionProp>
+ <boolProp name="AuthManager.clearEachIteration">true</boolProp>
+ <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp>
+ </AuthManager>
+ <hashTree/>
+ <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+ <collectionProp name="HeaderManager.headers">
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Content-Type</stringProp>
+ <stringProp name="Header.value">application/json</stringProp>
+ </elementProp>
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">X-ONAP-RequestID</stringProp>
+ <stringProp name="Header.value">709c62b3-8918-41b9-a747-d21eb79c6c20</stringProp>
+ </elementProp>
+ </collectionProp>
+ </HeaderManager>
+ <hashTree/>
+ <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration">260000</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </SetupThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Commission Contorlloop definition" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
+ &quot;data_types&quot;: {&#xd;
+ &quot;onap.datatypes.ToscaConceptIdentifier&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;name&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;version&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;consulUrl&quot;: {&#xd;
+ &quot;name&quot;: &quot;consulUrl&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Consul url for this entry&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;consul_body&quot;: {&#xd;
+ &quot;name&quot;: &quot;consulBody&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Body of Consul entry&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Target&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;Definition for a entity in A&amp;AI to perform a control loop operation on&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;targetType&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Category for the target type&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;valid_values&quot;: [&#xd;
+ &quot;VNF&quot;,&#xd;
+ &quot;VM&quot;,&#xd;
+ &quot;VFMODULE&quot;,&#xd;
+ &quot;PNF&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;entityIds&quot;: {&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;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&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;ClampExecution:CSAR_RESOURCES&quot;&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Actor&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;An actor/operation/target definition&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;actor&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The actor performing the operation.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;Dictionary:DefaultActors,ClampExecution:CDS/actor&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;operation&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The operation the actor is performing.&quot;,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;Dictionary:DefaultOperations,ClampExecution:CDS/operation&quot;&#xd;
+ },&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;target&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;description&quot;: &quot;The resource the operation should be performed on.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;payload&quot;: {&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;Name/value pairs of payload information passed by Policy to the actor&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;clamp_possible_values&quot;: &quot;ClampExecution:CDS/payload&quot;&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Operation&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;An operation supported by an actor&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;id&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Unique identifier for the operation&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;A user-friendly description of the intent for the operation&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ },&#xd;
+ &quot;operation&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;description&quot;: &quot;The definition of the operation to be performed.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The amount of time for the actor to perform the operation.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;retries&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The number of retries the actor should attempt to perform the operation.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;default&quot;: 0&#xd;
+ },&#xd;
+ &quot;success&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke on success. A value of \&quot;final_success\&quot; indicates and end to the operation.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_success&quot;&#xd;
+ },&#xd;
+ &quot;failure&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke on Actor operation failure.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure&quot;&#xd;
+ },&#xd;
+ &quot;failure_timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the time out for the operation occurs.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_timeout&quot;&#xd;
+ },&#xd;
+ &quot;failure_retries&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation has exceeded its max retries.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_retries&quot;&#xd;
+ },&#xd;
+ &quot;failure_exception&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation causes an exception.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_exception&quot;&#xd;
+ },&#xd;
+ &quot;failure_guard&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;default&quot;: &quot;final_failure_guard&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;DN&quot;: {&#xd;
+ &quot;name&quot;: &quot;DN&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Managed object distinguished name&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;managedObjectDNsBasic&quot;: {&#xd;
+ &quot;name&quot;: &quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Managed object distinguished name object&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroup&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementTypes&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementTypes&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of measurement types&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;managedObjectDNsBasic&quot;: {&#xd;
+ &quot;name&quot;: &quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of managed object distinguished names&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroups&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementGroup&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementGroup&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement Group&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementType&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementType&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementType&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement type&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementTypes&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementType&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementType&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement type object&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.nfFilter&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;modelNames&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelNames&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model names&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;modelInvariantIDs&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelInvariantIDs&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model invariant IDs&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;modelVersionIDs&quot;: {&#xd;
+ &quot;name&quot;: &quot;modelVersionIDs&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of model version IDs&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;nfNames&quot;: {&#xd;
+ &quot;name&quot;: &quot;nfNames&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;List of network functions&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.subscription&quot;: {&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;measurementGroups&quot;: {&#xd;
+ &quot;name&quot;: &quot;measurementGroups&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Measurement Groups&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;fileBasedGP&quot;: {&#xd;
+ &quot;name&quot;: &quot;fileBasedGP&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;File based granularity period&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;fileLocation&quot;: {&#xd;
+ &quot;name&quot;: &quot;fileLocation&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;ROP file location&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;subscriptionName&quot;: {&#xd;
+ &quot;name&quot;: &quot;subscriptionName&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Name of the subscription&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;administrativeState&quot;: {&#xd;
+ &quot;name&quot;: &quot;administrativeState&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;State of the subscription&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;valid_values&quot;: [&#xd;
+ &quot;LOCKED&quot;,&#xd;
+ &quot;UNLOCKED&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;nfFilter&quot;: {&#xd;
+ &quot;name&quot;: &quot;nfFilter&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Network function filter&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;: []&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;version&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_types&quot;: {&#xd;
+ &quot;onap.policies.Monitoring&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;a base policy type for all policies that govern monitoring provisioning&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.Monitoring&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.test123&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;description&quot;: &quot;a base policy type for all policies that govern monitoring provisioning&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.test123&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;pmsh_policy&quot;: {&#xd;
+ &quot;name&quot;: &quot;pmsh_policy&quot;,&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;PMSH Policy JSON&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [],&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;metadata&quot;: {}&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.Common&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;description&quot;: &quot;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&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;id&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The unique control loop id.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;timeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;abatement&quot;: {&#xd;
+ &quot;type&quot;: &quot;boolean&quot;,&#xd;
+ &quot;description&quot;: &quot;Whether an abatement event message will be expected for the control loop from DCAE.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;default&quot;: false&#xd;
+ },&#xd;
+ &quot;trigger&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Initial operation to execute upon receiving an Onset event message for the Control Loop.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;operations&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;description&quot;: &quot;List of operations to be performed when Control Loop is triggered.&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatype.controlloop.Operation&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.common.Apex&quot;: {&#xd;
+ &quot;derived_from&quot;: &quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;name&quot;: &quot;onap.policies.controlloop.operational.common.Apex&quot;,&#xd;
+ &quot;description&quot;: &quot;Operational policies for Apex PDP&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;engineServiceParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The engine parameters like name, instanceCount, policy implementation, parameters etc.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The event input parameters.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The event output parameters.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;javaProperties&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Name/value pairs of properties to be set for APEX if needed.&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;node_types&quot;: {&#xd;
+ &quot;org.onap.policy.clamp.controlloop.Participant&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the control loop element&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The identity of the participant type that hosts this type of Control Loop Element&quot;&#xd;
+ },&#xd;
+ &quot;startPhase&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;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&quot;&#xd;
+ },&#xd;
+ &quot;uninitializedToPassiveTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from uninitialized to passive&quot;&#xd;
+ },&#xd;
+ &quot;passiveToRunningTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to running&quot;&#xd;
+ },&#xd;
+ &quot;runningToPassiveTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from running to passive&quot;&#xd;
+ },&#xd;
+ &quot;passiveToUninitializedTimeout&quot;: {&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: 0&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to uninitialized&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.ControlLoop&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the control loop element&quot;&#xd;
+ },&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: true&#xd;
+ },&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Specifies a list of control loop element definitions that make up this control loop definition&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;dcae_blueprint_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ },&#xd;
+ &quot;dcae_blueprint&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.dcae.cloudify_blueprint&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ },&#xd;
+ &quot;consul_info&quot;: {&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: false&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.controlloop.CDSControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoopElement&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;cds_blueprint_id&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;requred&quot;: true&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;topology_template&quot;: {&#xd;
+ &quot;inputs&quot;: {&#xd;
+ &quot;pmsh_monitoring_policy&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The ID of the PMSH monitoring policy to use&quot;,&#xd;
+ &quot;default&quot;: {&#xd;
+ &quot;name&quot;: &quot;MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;pmsh_operational_policy&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The ID of the PMSH operational policy to use&quot;,&#xd;
+ &quot;default&quot;: {&#xd;
+ &quot;name&quot;: &quot;operational.apex.pmcontrol&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;node_templates&quot;: {&#xd;
+ &quot;org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant&quot;: {&#xd;
+ &quot;version&quot;: &quot;2.3.4&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.Participant&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;description&quot;: &quot;Participant for DCAE microservices&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;: {&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.Participant&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;description&quot;: &quot;Participant for DCAE microservices&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop element for the monitoring policy for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policies.monitoring.pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;get_input&quot;: &quot;pmsh_monitoring_policy&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.PolicyControlLoopElement&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop element for the operational policy for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;participantType&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;: &quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;policy_type_id&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policies.operational.pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;policy_id&quot;: {&#xd;
+ &quot;get_input&quot;: &quot;pmsh_operational_policy&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;org.onap.domain.pmsh.PMSHControlLoopDefinition&quot;: {&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.controlloop.ControlLoop&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;Control loop for Performance Management Subscription Handling&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
+ &quot;elements&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_DCAEMicroservice&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/commission</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate controlloop" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;controlLoopList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSHControlLoopDefinition&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;description&quot;: &quot;PMSH control loop instance 0&quot;,&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;709c62b3-8918-41b9-a747-d21eb79c6c21&quot;: {&#xd;
+ &quot;id&quot;: &quot;709c62b3-8918-41b9-a747-d21eb79c6c21&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;:&quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;participantId&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.PM_Policy&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;toscaServiceTemplateFragment&quot;:{&#xd;
+ &quot;data_types&quot;:{&#xd;
+ &quot;onap.datatype.controlloop.Actor&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;payload&quot;:{&#xd;
+ &quot;name&quot;:&quot;payload&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name/value pairs of payload information passed by Policy to the actor&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;ClampExecution:CDS/payload&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;target&quot;:{&#xd;
+ &quot;name&quot;:&quot;target&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The resource the operation should be performed on.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;actor&quot;:{&#xd;
+ &quot;name&quot;:&quot;actor&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The actor performing the operation.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;Dictionary:DefaultActors,ClampExecution:CDS/actor&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;operation&quot;:{&#xd;
+ &quot;name&quot;:&quot;operation&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The operation the actor is performing.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;Dictionary:DefaultOperations,ClampExecution:CDS/operation&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;An actor/operation/target definition&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Operation&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;failure_retries&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_retries&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation has exceeded its max retries.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_retries&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;id&quot;:{&#xd;
+ &quot;name&quot;:&quot;id&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Unique identifier for the operation&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the time out for the operation occurs.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_timeout&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;failure&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke on Actor operation failure.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;operation&quot;:{&#xd;
+ &quot;name&quot;:&quot;operation&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Actor&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The definition of the operation to be performed.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_guard&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_guard&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_guard&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;retries&quot;:{&#xd;
+ &quot;name&quot;:&quot;retries&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The number of retries the actor should attempt to perform the operation.&quot;,&#xd;
+ &quot;default&quot;:0.0,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The amount of time for the actor to perform the operation.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;failure_exception&quot;:{&#xd;
+ &quot;name&quot;:&quot;failure_exception&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke when the current operation causes an exception.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_failure_exception&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;description&quot;:{&#xd;
+ &quot;name&quot;:&quot;description&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;A user-friendly description of the intent for the operation&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;success&quot;:{&#xd;
+ &quot;name&quot;:&quot;success&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Points to the operation to invoke on success. A value of \&quot;final_success\&quot; indicates and end to the operation.&quot;,&#xd;
+ &quot;default&quot;:&quot;final_success&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Operation&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;An operation supported by an actor&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatype.controlloop.Target&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;entityIds&quot;:{&#xd;
+ &quot;name&quot;:&quot;entityIds&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;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&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &quot;clamp_possible_values&quot;:&quot;ClampExecution:CSAR_RESOURCES&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;targetType&quot;:{&#xd;
+ &quot;name&quot;:&quot;targetType&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Category for the target type&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ {&#xd;
+ &quot;valid_values&quot;:[&#xd;
+ &quot;VNF&quot;,&#xd;
+ &quot;VM&quot;,&#xd;
+ &quot;VFMODULE&quot;,&#xd;
+ &quot;PNF&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatype.controlloop.Target&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;Definition for a entity in A&amp;AI to perform a control loop operation on&quot;&#xd;
+ },&#xd;
+ &quot;onap.datatypes.ToscaConceptIdentifier&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;version&quot;:{&#xd;
+ &quot;name&quot;:&quot;version&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;name&quot;:{&#xd;
+ &quot;name&quot;:&quot;name&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;DN&quot;:{&#xd;
+ &quot;name&quot;:&quot;DN&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Managed object distinguished name&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;managedObjectDNsBasic&quot;:{&#xd;
+ &quot;name&quot;:&quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Managed object distinguished name object&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasic&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroup&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementTypes&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementTypes&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of measurement types&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;managedObjectDNsBasic&quot;:{&#xd;
+ &quot;name&quot;:&quot;managedObjectDNsBasic&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of managed object distinguished names&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.managedObjectDNsBasics&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementGroups&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementGroup&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementGroup&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement Group&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementGroup&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementType&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementType&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementType&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement type&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.measurementTypes&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementType&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementType&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement type object&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementType&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.measurementTypes&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.nfFilter&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;modelVersionIDs&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelVersionIDs&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model version IDs&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;modelInvariantIDs&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelInvariantIDs&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model invariant IDs&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;modelNames&quot;:{&#xd;
+ &quot;name&quot;:&quot;modelNames&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of model names&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;nfNames&quot;:{&#xd;
+ &quot;name&quot;:&quot;nfNames&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of network functions&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;onap.datatypes.monitoring.subscription&quot;:{&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;measurementGroups&quot;:{&#xd;
+ &quot;name&quot;:&quot;measurementGroups&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Measurement Groups&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.measurementGroups&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;fileBasedGP&quot;:{&#xd;
+ &quot;name&quot;:&quot;fileBasedGP&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;File based granularity period&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;fileLocation&quot;:{&#xd;
+ &quot;name&quot;:&quot;fileLocation&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;ROP file location&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;subscriptionName&quot;:{&#xd;
+ &quot;name&quot;:&quot;subscriptionName&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name of the subscription&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;administrativeState&quot;:{&#xd;
+ &quot;name&quot;:&quot;administrativeState&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;State of the subscription&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ {&#xd;
+ &quot;valid_values&quot;:[&#xd;
+ &quot;LOCKED&quot;,&#xd;
+ &quot;UNLOCKED&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ },&#xd;
+ &quot;nfFilter&quot;:{&#xd;
+ &quot;name&quot;:&quot;nfFilter&quot;,&#xd;
+ &quot;type&quot;:&quot;map&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Network function filter&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.nfFilter&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.datatypes.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;policy_types&quot;:{&#xd;
+ &quot;onap.policies.Monitoring&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;a base policy type for all policies that govern monitoring provisioning&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.test123&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.test123&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;a base policy type for all policies that govern monitoring provisioning&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.Common&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;abatement&quot;:{&#xd;
+ &quot;name&quot;:&quot;abatement&quot;,&#xd;
+ &quot;type&quot;:&quot;boolean&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Whether an abatement event message will be expected for the control loop from DCAE.&quot;,&#xd;
+ &quot;default&quot;:false,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;operations&quot;:{&#xd;
+ &quot;name&quot;:&quot;operations&quot;,&#xd;
+ &quot;type&quot;:&quot;list&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;List of operations to be performed when Control Loop is triggered.&quot;,&#xd;
+ &quot;required&quot;:true,&#xd;
+ &quot;entry_schema&quot;:{&#xd;
+ &quot;type&quot;:&quot;onap.datatype.controlloop.Operation&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;trigger&quot;:{&#xd;
+ &quot;name&quot;:&quot;trigger&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Initial operation to execute upon receiving an Onset event message for the Control Loop.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;timeout&quot;:{&#xd;
+ &quot;name&quot;:&quot;timeout&quot;,&#xd;
+ &quot;type&quot;:&quot;integer&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;id&quot;:{&#xd;
+ &quot;name&quot;:&quot;id&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The unique control loop id.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;tosca.policies.Root&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;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&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.controlloop.operational.common.Apex&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;engineServiceParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;engineServiceParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The engine parameters like name, instanceCount, policy implementation, parameters etc.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;eventOutputParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;eventOutputParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The event output parameters.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ },&#xd;
+ &quot;javaProperties&quot;:{&#xd;
+ &quot;name&quot;:&quot;javaProperties&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;Name/value pairs of properties to be set for APEX if needed.&quot;,&#xd;
+ &quot;required&quot;:false&#xd;
+ },&#xd;
+ &quot;eventInputParameters&quot;:{&#xd;
+ &quot;name&quot;:&quot;eventInputParameters&quot;,&#xd;
+ &quot;type&quot;:&quot;string&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;The event input parameters.&quot;,&#xd;
+ &quot;required&quot;:true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.controlloop.operational.common.Apex&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;onap.policies.controlloop.operational.Common&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;description&quot;:&quot;Operational policies for Apex PDP&quot;&#xd;
+ },&#xd;
+ &quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;:{&#xd;
+ &quot;properties&quot;:{&#xd;
+ &quot;pmsh_policy&quot;:{&#xd;
+ &quot;name&quot;:&quot;pmsh_policy&quot;,&#xd;
+ &quot;type&quot;:&quot;onap.datatypes.monitoring.subscription&quot;,&#xd;
+ &quot;type_version&quot;:&quot;0.0.0&quot;,&#xd;
+ &quot;description&quot;:&quot;PMSH Policy JSON&quot;,&#xd;
+ &quot;required&quot;:false,&#xd;
+ &quot;constraints&quot;:[&#xd;
+ &#xd;
+ ],&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;onap.policies.monitoring.dcae-pm-subscription-handler&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;:&quot;onap.policies.Monitoring&quot;,&#xd;
+ &quot;metadata&quot;:{&#xd;
+ &#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;topology_template&quot;:{&#xd;
+ &#xd;
+ },&#xd;
+ &quot;name&quot;:&quot;NULL&quot;,&#xd;
+ &quot;version&quot;:&quot;0.0.0&quot;&#xd;
+ },&#xd;
+ &quot;propertiesMap&quot;: {&#xd;
+ &quot;provider_instance&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider_instance&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;The helm chart for the microservice&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Monitoring Policy Control Loop Element for the PMSH instance 0 control loop&quot;&#xd;
+ },&#xd;
+ &quot;709c62b3-8918-41b9-a747-d21eb79c6c22&quot;: {&#xd;
+ &quot;id&quot;: &quot;709c62b3-8918-41b9-a747-d21eb79c6c22&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;participantType&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.policy.controlloop.PolicyControlLoopParticipant&quot;,&#xd;
+ &quot;version&quot;:&quot;2.3.1&quot;&#xd;
+ },&#xd;
+ &quot;participantId&quot;:{&#xd;
+ &quot;name&quot;:&quot;org.onap.PM_Policy&quot;,&#xd;
+ &quot;version&quot;:&quot;1.0.0&quot;&#xd;
+ },&#xd;
+ &quot;state&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;orderedState&quot;:&quot;UNINITIALISED&quot;,&#xd;
+ &quot;propertiesMap&quot;: {&#xd;
+ &quot;provider_instance&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider_instance&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart&quot;,&#xd;
+ &quot;typeVersion&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;description&quot;: &quot;The helm chart for the microservice&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Operational Policy Control Loop Element for the PMSH instance 0 control loop&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">POST</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="ControlLoop Test Flow" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <intProp name="LoopController.loops">-1</intProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">true</boolProp>
+ <stringProp name="ThreadGroup.duration">259200</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </ThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to PASSIVE" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;orderedState&quot;: &quot;PASSIVE&quot;,&#xd;
+ &quot;controlLoopIdentifierList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</stringProp>
+ <stringProp name="51508">400</stringProp>
+ <stringProp name="51514">406</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">34</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to UNINITIALISED" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
+ <collectionProp name="Arguments.arguments">
+ <elementProp name="" elementType="HTTPArgument">
+ <boolProp name="HTTPArgument.always_encode">false</boolProp>
+ <stringProp name="Argument.value">{&#xd;
+ &quot;orderedState&quot;: &quot;UNINITIALISED&quot;,&#xd;
+ &quot;controlLoopIdentifierList&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;PMSHInstance0&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation/command</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="51508">400</stringProp>
+ <stringProp name="51514">406</stringProp>
+ <stringProp name="49588">202</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">34</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check controlloop state" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation</stringProp>
+ <stringProp name="HTTPSampler.method">GET</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ <stringProp name="LoopController.loops">1</stringProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">1</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration"></stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ </PostThreadGroup>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete instantiated controlloop" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/instantiation?name=PMSHInstance0&amp;version=1.0.1</stringProp>
+ <stringProp name="HTTPSampler.method">DELETE</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">6000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete ControlLoop Definition" enabled="true">
+ <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+ <collectionProp name="Arguments.arguments"/>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
+ <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+ <stringProp name="HTTPSampler.path">/onap/controlloop/v2/commission?name=NULL&amp;version=0.0.0</stringProp>
+ <stringProp name="HTTPSampler.method">DELETE</stringProp>
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+ <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+ <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+ <stringProp name="HTTPSampler.response_timeout"></stringProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49586">200</stringProp>
+ </collectionProp>
+ <stringProp name="Assertion.custom_message"></stringProp>
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">./controlloop_stability/testsummary.jtl</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">./controlloop_stability/resultTree.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
+ <objProp>
+ <name>saveConfig</name>
+ <value class="SampleSaveConfiguration">
+ <time>true</time>
+ <latency>true</latency>
+ <timestamp>true</timestamp>
+ <success>true</success>
+ <label>true</label>
+ <code>true</code>
+ <message>true</message>
+ <threadName>true</threadName>
+ <dataType>true</dataType>
+ <encoding>false</encoding>
+ <assertions>true</assertions>
+ <subresults>true</subresults>
+ <responseData>false</responseData>
+ <samplerData>false</samplerData>
+ <xml>false</xml>
+ <fieldNames>true</fieldNames>
+ <responseHeaders>false</responseHeaders>
+ <requestHeaders>false</requestHeaders>
+ <responseDataOnError>false</responseDataOnError>
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
+ <assertionsResultsToSave>0</assertionsResultsToSave>
+ <bytes>true</bytes>
+ <sentBytes>true</sentBytes>
+ <url>true</url>
+ <threadCounts>true</threadCounts>
+ <idleTime>true</idleTime>
+ <connectTime>true</connectTime>
+ </value>
+ </objProp>
+ <stringProp name="filename">./controlloop_stability/resultTable.log</stringProp>
+ </ResultCollector>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+</jmeterTestPlan>