sp3 tests update on setup 65/128165/5
authoradheli.tavares <adheli.tavares@est.tech>
Tue, 29 Mar 2022 12:52:35 +0000 (13:52 +0100)
committeradheli.tavares <adheli.tavares@est.tech>
Tue, 19 Apr 2022 19:01:53 +0000 (20:01 +0100)
- versions of images updated
- fix run_tests with extra slash
- add call to metrics on stability and performance tests

Issue-ID: POLICY-4006
Change-Id: Idad63e9d256e149b224796c486f7322ecbc6ff61
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
17 files changed:
testsuites/performance/src/main/resources/testplans/performance.jmx
testsuites/performance/src/main/resources/testplans/run_test.sh
testsuites/stability/src/main/resources/setup/config/apiParameters.yaml [new file with mode: 0644]
testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json [deleted file]
testsuites/stability/src/main/resources/setup/config/jsonConfigs/dmaapSimConfig.json
testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json [deleted file]
testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json [new file with mode: 0644]
testsuites/stability/src/main/resources/setup/config/jsonConfigs/pdpSimConfig.json
testsuites/stability/src/main/resources/setup/config/papParameters.yaml [new file with mode: 0644]
testsuites/stability/src/main/resources/setup/distribution/etc/defaultConfig.json
testsuites/stability/src/main/resources/setup/distribution/etc/logback.xml
testsuites/stability/src/main/resources/setup/docker-compose.yml
testsuites/stability/src/main/resources/setup/start.sh
testsuites/stability/src/main/resources/setup/versions.sh
testsuites/stability/src/main/resources/testplans/run_test.sh
testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar
testsuites/stability/src/main/resources/testplans/stability.jmx

index 530f131..7abd7e4 100644 (file)
@@ -10,7 +10,7 @@
         <collectionProp name="Arguments.arguments">
           <elementProp name="PAP_HOST" elementType="Argument">
             <stringProp name="Argument.name">PAP_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(paphost,172.19.0.8)}</stringProp>
+            <stringProp name="Argument.value">${__P(paphost,172.18.0.8)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="PAP_PORT" elementType="Argument">
@@ -20,7 +20,7 @@
           </elementProp>
           <elementProp name="API_HOST" elementType="Argument">
             <stringProp name="Argument.name">API_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(apihost,172.19.0.7)}</stringProp>
+            <stringProp name="Argument.value">${__P(apihost,172.18.0.7)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="API_PORT" elementType="Argument">
@@ -30,7 +30,7 @@
           </elementProp>
           <elementProp name="DISTRIBUTION_HOST" elementType="Argument">
             <stringProp name="Argument.name">DISTRIBUTION_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(disthost,172.19.0.3)}</stringProp>
+            <stringProp name="Argument.value">${__P(disthost,172.18.0.4)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="DISTRIBUTION_PORT" elementType="Argument">
             <hashTree/>
           </hashTree>
         </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Metrics" enabled="true"/>
+        <hashTree>
+          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Distribution Metrics" 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">${DISTRIBUTION_HOST}</stringProp>
+            <stringProp name="HTTPSampler.port">${DISTRIBUTION_PORT}</stringProp>
+            <stringProp name="HTTPSampler.protocol">http</stringProp>
+            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+            <stringProp name="HTTPSampler.path">metrics</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
+            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+            <stringProp name="HTTPSampler.response_timeout"></stringProp>
+          </HTTPSamplerProxy>
+          <hashTree>
+            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert metrics access" 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">8</intProp>
+              <stringProp name="Scope.variable">policies_matchNr</stringProp>
+            </ResponseAssertion>
+            <hashTree/>
+            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert metrics returned" enabled="true">
+              <collectionProp name="Asserion.test_strings">
+                <stringProp name="3274718">jvm_</stringProp>
+              </collectionProp>
+              <stringProp name="Assertion.custom_message"></stringProp>
+              <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+              <boolProp name="Assertion.assume_success">false</boolProp>
+              <intProp name="Assertion.test_type">2</intProp>
+              <stringProp name="Scope.variable">policies_matchNr</stringProp>
+            </ResponseAssertion>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
         <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
           <boolProp name="ResultCollector.error_logging">false</boolProp>
           <objProp>
index 7b95958..1022a8e 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
-#  Copyright (c) 2021 Nordix Foundation.
+#  Copyright (c) 2021-2022 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
 # ============LICENSE_END=========================================================
 
 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-JMETER_HOME=~/jmeter/apache-jmeter-5.4.1/
+JMETER_HOME=~/jmeter/apache-jmeter-5.4.1
 
 POLICY_API_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-api)
 POLICY_PAP_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-pap)
diff --git a/testsuites/stability/src/main/resources/setup/config/apiParameters.yaml b/testsuites/stability/src/main/resources/setup/config/apiParameters.yaml
new file mode 100644 (file)
index 0000000..e61653a
--- /dev/null
@@ -0,0 +1,82 @@
+server:
+  port: 6969
+  ssl:
+    enabled: false
+
+spring:
+  security.user:
+    name: policyadmin
+    password: zb!XztG34
+  mvc.converters.preferred-json-mapper: gson
+
+  datasource:
+    url: jdbc:mariadb://mariadb:3306/policyadmin
+    driverClassName: org.mariadb.jdbc.Driver
+    username: policy_user
+    password: policy_user
+  jpa:
+    properties:
+      hibernate:
+        dialect: org.hibernate.dialect.MariaDB103Dialect
+    hibernate:
+      ddl-auto: none
+      naming:
+        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+        implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+
+policy-api:
+  name: ApiGroup
+  aaf: false
+
+database:
+  name: PolicyProviderParameterGroup
+  implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
+  driver: org.mariadb.jdbc.Driver
+  url: jdbc:mariadb://mariadb:3306/policyadmin
+  user: policy_user
+  password: policy_user
+  persistenceUnit: PolicyDb
+
+policy-preload:
+  policyTypes:
+    - policytypes/onap.policies.monitoring.tcagen2.yaml
+    - policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml
+    - policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml
+    - policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml
+    - policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml
+    - policytypes/onap.policies.Optimization.yaml
+    - policytypes/onap.policies.optimization.Resource.yaml
+    - policytypes/onap.policies.optimization.Service.yaml
+    - policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml
+    - policytypes/onap.policies.optimization.resource.DistancePolicy.yaml
+    - policytypes/onap.policies.optimization.resource.HpaPolicy.yaml
+    - policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml
+    - policytypes/onap.policies.optimization.resource.PciPolicy.yaml
+    - policytypes/onap.policies.optimization.service.QueryPolicy.yaml
+    - policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
+    - policytypes/onap.policies.optimization.resource.Vim_fit.yaml
+    - policytypes/onap.policies.optimization.resource.VnfPolicy.yaml
+    - policytypes/onap.policies.controlloop.guard.Common.yaml
+    - policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml
+    - policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml
+    - policytypes/onap.policies.controlloop.guard.common.MinMax.yaml
+    - policytypes/onap.policies.controlloop.guard.common.Filter.yaml
+    - policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml
+    - policytypes/onap.policies.Naming.yaml
+    - policytypes/onap.policies.Match.yaml
+    - policytypes/onap.policies.native.Drools.yaml
+    - policytypes/onap.policies.native.Xacml.yaml
+    - policytypes/onap.policies.native.Apex.yaml
+    - policytypes/onap.policies.controlloop.operational.Common.yaml
+    - policytypes/onap.policies.controlloop.operational.common.Apex.yaml
+    - policytypes/onap.policies.controlloop.operational.common.Drools.yaml
+  policies:
+    - policies/sdnc.policy.naming.input.tosca.yaml
+
+management:
+  endpoints:
+    web:
+      base-path: /
+      exposure:
+        include: health,metrics,prometheus
+      path-mapping.prometheus: metrics
diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json
deleted file mode 100644 (file)
index 63e0c4c..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  "name": "ApiGroup",
-  "restServerParameters": {
-    "host": "0.0.0.0",
-    "port": 6969,
-    "userName": "policyadmin",
-    "password": "zb!XztG34",
-    "https": false,
-    "aaf": false,
-    "prometheus": false
-  },
-  "databaseProviderParameters": {
-    "name": "PolicyProviderParameterGroup",
-    "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
-    "databaseDriver": "org.mariadb.jdbc.Driver",
-    "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
-    "databaseUser": "policy_user",
-    "databasePassword": "policy_user",
-    "persistenceUnit": "PolicyMariaDb"
-  },
-  "preloadPolicyTypes": [
-    "policytypes/onap.policies.monitoring.tcagen2.yaml",
-    "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
-    "policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml",
-    "policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml",
-    "policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml",
-    "policytypes/onap.policies.Optimization.yaml",
-    "policytypes/onap.policies.optimization.Resource.yaml",
-    "policytypes/onap.policies.optimization.Service.yaml",
-    "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
-    "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
-    "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml",
-    "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml",
-    "policytypes/onap.policies.optimization.resource.PciPolicy.yaml",
-    "policytypes/onap.policies.optimization.service.QueryPolicy.yaml",
-    "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml",
-    "policytypes/onap.policies.optimization.resource.Vim_fit.yaml",
-    "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml",
-    "policytypes/onap.policies.acm.guard.Common.yaml",
-    "policytypes/onap.policies.acm.guard.common.Blacklist.yaml",
-    "policytypes/onap.policies.acm.guard.common.FrequencyLimiter.yaml",
-    "policytypes/onap.policies.acm.guard.common.MinMax.yaml",
-    "policytypes/onap.policies.acm.guard.common.Filter.yaml",
-    "policytypes/onap.policies.acm.guard.coordination.FirstBlocksSecond.yaml",
-    "policytypes/onap.policies.Naming.yaml",
-    "policytypes/onap.policies.Match.yaml",
-    "policytypes/onap.policies.native.Drools.yaml",
-    "policytypes/onap.policies.native.Xacml.yaml",
-    "policytypes/onap.policies.native.Apex.yaml",
-    "policytypes/onap.policies.acm.operational.Common.yaml",
-    "policytypes/onap.policies.acm.operational.common.Apex.yaml",
-    "policytypes/onap.policies.acm.operational.common.Drools.yaml"
-  ],
-  "preloadPolicies" : [
-    "policies/sdnc.policy.naming.input.tosca.yaml"
-  ]
-}
index fc08b0a..ea8f7c0 100644 (file)
@@ -1,15 +1,15 @@
 {
-  "dmaapProvider": {
-    "name": "DMaaP simulator",
-    "topicSweepSec": 900
-  },
-  "restServers": [
-    {
-      "name": "DMaaP simulator",
-      "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1",
-      "host": "0.0.0.0",
-      "port": 3904,
-      "https": false
-    }
-  ]
+    "dmaapProvider": {
+        "name": "DMaaP simulator",
+        "topicSweepSec": 900
+    },
+    "restServers": [
+        {
+            "name": "DMaaP simulator",
+            "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1",
+            "host": "0.0.0.0",
+            "port": 3904,
+            "https": false
+        }
+    ]
 }
\ No newline at end of file
diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json
deleted file mode 100644 (file)
index 9b6f3b4..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-{
-    "name": "PapGroup",
-    "restServerParameters": {
-        "host": "0.0.0.0",
-        "port": 6969,
-        "userName": "policyadmin",
-        "password": "zb!XztG34",
-        "https": false,
-        "aaf": false,
-        "prometheus": true
-    },
-    "pdpParameters": {
-        "heartBeatMs": 300000,
-        "updateParameters": {
-            "maxRetryCount": 1,
-            "maxWaitMs": 30000
-        },
-        "stateChangeParameters": {
-            "maxRetryCount": 1,
-            "maxWaitMs": 30000
-        }
-    },
-    "databaseProviderParameters": {
-        "name": "PolicyProviderParameterGroup",
-        "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
-        "databaseDriver": "org.mariadb.jdbc.Driver",
-        "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
-        "databaseUser": "policy_user",
-        "databasePassword": "policy_user",
-        "persistenceUnit": "PolicyMariaDb"
-    },
-    "savePdpStatisticsInDb": true,
-    "topicParameterGroup": {
-        "topicSources" : [{
-            "topic" : "POLICY-PDP-PAP",
-            "servers" : [ "message-router:3904" ],
-            "topicCommInfrastructure" : "dmaap",
-            "useHttps": false
-        },
-        {
-            "topic" : "POLICY-HEARTBEAT",
-            "effectiveTopic": "POLICY-PDP-PAP",
-            "consumerGroup": "policy-pap",
-            "servers" : [ "message-router:3904" ],
-            "topicCommInfrastructure" : "dmaap",
-            "useHttps": false
-        }],
-        "topicSinks" : [{
-            "topic" : "POLICY-PDP-PAP",
-            "servers" : [ "message-router:3904" ],
-            "topicCommInfrastructure" : "dmaap",
-            "useHttps": false
-        },
-        {
-            "topic" : "POLICY-NOTIFICATION",
-            "servers" : [ "message-router:3904" ],
-            "topicCommInfrastructure" : "dmaap",
-            "useHttps": false
-        }]
-    },
-    "healthCheckRestClientParameters":[{
-        "clientName": "api",
-        "hostname": "policy-api",
-        "port": 6969,
-        "userName": "policyadmin",
-        "password": "zb!XztG34",
-        "useHttps": false,
-        "basePath": "policy/api/v1/healthcheck"
-    }]
-}
diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json
new file mode 100644 (file)
index 0000000..c7fb6f1
--- /dev/null
@@ -0,0 +1,28 @@
+{
+    "groups": [
+        {
+            "name": "defaultGroup",
+            "version": "1.0.0",
+            "description": "The default group that registers all supported policy types and pdps.",
+            "pdpGroupState": "ACTIVE",
+            "pdpSubgroups": [
+                {
+                    "pdpType": "apex",
+                    "supportedPolicyTypes": [
+                        {
+                            "name": "onap.policies.controlloop.operational.common.Apex",
+                            "version": "1.0.0"
+                        },
+                        {
+                            "name": "onap.policies.native.Apex",
+                            "version": "1.0.0"
+                        }
+                    ],
+                    "currentInstanceCount": 1,
+                    "desiredInstanceCount": 1,
+                    "policies": []
+                }
+            ]
+        }
+    ]
+}
index ee83232..d809955 100644 (file)
@@ -1,25 +1,39 @@
 {
-  "name":"OnapPfParameterGroup",
-  "pdpStatusParameters": {
-    "pdpGroup": "defaultGroup",
-    "timeIntervalMs": 120000,
-    "pdpType":"apex",
-    "description":"Pdp Heartbeat",
-    "supportedPolicyTypes":[
-      {"name":"onap.policies.acm.operational.common.Apex","version":"1.0.0"},
-      {"name":"onap.policies.native.Apex","version":"1.0.0"}
-    ]
-  },
-  "topicParameterGroup": {
-    "topicSources" : [{
-      "topic" : "POLICY-PDP-PAP",
-      "servers" : [ "message-router:3904" ],
-      "topicCommInfrastructure" : "dmaap"
-    }],
-    "topicSinks" : [{
-      "topic" : "POLICY-PDP-PAP",
-      "servers" : [ "message-router:3904" ],
-      "topicCommInfrastructure" : "dmaap"
-    }]
-  }
+    "name": "OnapPfParameterGroup",
+    "pdpStatusParameters": {
+        "pdpGroup": "defaultGroup",
+        "timeIntervalMs": 120000,
+        "pdpType": "apex",
+        "description": "Pdp Heartbeat",
+        "supportedPolicyTypes": [
+            {
+                "name": "onap.policies.controlloop.operational.common.Apex",
+                "version": "1.0.0"
+            },
+            {
+                "name": "onap.policies.native.Apex",
+                "version": "1.0.0"
+            }
+        ]
+    },
+    "topicParameterGroup": {
+        "topicSources": [
+            {
+                "topic": "POLICY-PDP-PAP",
+                "servers": [
+                    "message-router:3904"
+                ],
+                "topicCommInfrastructure": "dmaap"
+            }
+        ],
+        "topicSinks": [
+            {
+                "topic": "POLICY-PDP-PAP",
+                "servers": [
+                    "message-router:3904"
+                ],
+                "topicCommInfrastructure": "dmaap"
+            }
+        ]
+    }
 }
diff --git a/testsuites/stability/src/main/resources/setup/config/papParameters.yaml b/testsuites/stability/src/main/resources/setup/config/papParameters.yaml
new file mode 100644 (file)
index 0000000..bb05020
--- /dev/null
@@ -0,0 +1,83 @@
+spring:
+  security:
+    user:
+      name: policyadmin
+      password: zb!XztG34
+  http:
+    converters:
+      preferred-json-mapper: gson
+  datasource:
+    url: jdbc:mariadb://mariadb:3306/policyadmin
+    driverClassName: org.mariadb.jdbc.Driver
+    username: policy_user
+    password: policy_user
+  jpa:
+    properties:
+      hibernate:
+        dialect: org.hibernate.dialect.MariaDB103Dialect
+    hibernate:
+      ddl-auto: none
+      naming:
+        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+        implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
+
+server:
+  port: 6969
+  ssl:
+    enabled: false
+
+pap:
+  name: PapGroup
+  aaf: false
+  pdpParameters:
+    heartBeatMs: 120000
+    updateParameters:
+      maxRetryCount: 1
+      maxWaitMs: 30000
+    stateChangeParameters:
+      maxRetryCount: 1
+      maxWaitMs: 30000
+  savePdpStatisticsInDb: true
+  topicParameterGroup:
+    topicSources:
+    - topic: POLICY-PDP-PAP
+      servers:
+      - message-router
+      topicCommInfrastructure: dmaap
+      useHttps: false
+      fetchTimeout: 15000
+    - topic: POLICY-HEARTBEAT
+      effectiveTopic: POLICY-PDP-PAP
+      consumerGroup: policy-pap
+      servers:
+      - message-router
+      topicCommInfrastructure: dmaap
+      useHttps: false
+      fetchTimeout: 15000
+    topicSinks:
+    - topic: POLICY-PDP-PAP
+      servers:
+      - message-router
+      topicCommInfrastructure: dmaap
+      useHttps: false
+    - topic: POLICY-NOTIFICATION
+      servers:
+      - message-router
+      topicCommInfrastructure: dmaap
+      useHttps: false
+  healthCheckRestClientParameters:
+  - clientName: api
+    hostname: policy-api
+    port: 6969
+    userName: policyadmin
+    password: zb!XztG34
+    useHttps: false
+    basePath: policy/api/v1/healthcheck
+
+management:
+  endpoints:
+    web:
+      base-path: /
+      exposure:
+        include: health, metrics, prometheus
+      path-mapping.prometheus: metrics
index 8a5b769..0dda195 100644 (file)
@@ -4,7 +4,9 @@
         "host": "0.0.0.0",
         "port": 6969,
         "userName": "healthcheck",
-        "password": "zb!XztG34"
+        "password": "zb!XztG34",
+        "https": false,
+        "prometheus": true
     },
     "receptionHandlerParameters": {
         "S3PReceptionHandler": {
             "receptionHandlerConfigurationName": "fileConfiguration",
             "pluginHandlerParameters": {
                 "policyDecoders": {
-                    "ToscaPolicyDecoder":{
-                        "decoderType":"ToscaPolicyDecoder",
-                        "decoderClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy",
+                    "ToscaPolicyDecoder": {
+                        "decoderType": "ToscaPolicyDecoder",
+                        "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy",
                         "decoderConfigurationName": "toscaPolicyDecoderConfiguration"
                     },
-                "ToscaAutomationCompositionDecoder": {
+                    "ToscaAutomationCompositionDecoder": {
                         "decoderType": "ToscaAutomationCompositionDecoder",
                         "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsar",
                         "decoderConfigurationName": "toscaAutomationCompositionDecoderConfiguration"
@@ -49,9 +51,9 @@
         }
     },
     "policyDecoderConfigurationParameters": {
-        "toscaPolicyDecoderConfiguration":{
-            "parameterClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup",
-            "parameters":{
+        "toscaPolicyDecoderConfiguration": {
+            "parameterClassName": "org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup",
+            "parameters": {
                 "policyFileName": "tosca_policy",
                 "policyTypeFileName": "tosca_policy_type"
             }
@@ -63,7 +65,6 @@
             }
         }
     },
-
     "policyForwarderConfigurationParameters": {
         "lifecycleApiPolicyConfiguration": {
             "parameterClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters",
@@ -94,8 +95,8 @@
                     "clientName": "policy-clamp-runtime-acm",
                     "hostname": "policy-clamp-runtime-acm",
                     "port": 6969,
-                    "useHttps": true,
-                    "userName": "policyadmin",
+                    "useHttps": false,
+                    "userName": "runtimeUser",
                     "password": "zb!XztG34"
                 }
             }
index 34a4020..82f6d3b 100644 (file)
@@ -1,7 +1,7 @@
 <!--
   ============LICENSE_START=======================================================
    Copyright (C) 2018 Ericsson. All rights reserved.
-   Modifications Copyright (C) 2021 Nordix Foundation.
+   Modifications Copyright (C) 2021-2022 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
         <appender-ref ref="AsyncNetworkOut" />
     </logger>
 
-    <root level="ERROR">
+    <root level="DEBUG">
         <appender-ref ref="AsyncDebugOut" />
         <appender-ref ref="AsyncErrorOut" />
     </root>
index fac04fa..48d1851 100644 (file)
@@ -1,5 +1,6 @@
-# Copyright (C) 2021 Nordix Foundation.
-#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021-2022 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
 # 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=========================================================
 
 version: '3'
 services:
-   mariadb:
-      image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
-      container_name: mariadb
-      hostname: mariadb
-      command: [ '--lower-case-table-names=1', '--wait_timeout=28800' ]
-      env_file: config/db/db.conf
-      volumes:
-         - ./config/db:/docker-entrypoint-initdb.d:ro
-      expose:
-         - 3306
-   policy-db-migrator:
-      image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DB_MIGRATOR}
-      container_name: policy-db-migrator
-      hostname: policy-db-migrator
-      depends_on:
-         - mariadb
-      expose:
-         - 6824
-      env_file: config/db/db.conf
-      environment:
-         SQL_DB: policyadmin
-         SQL_HOST: mariadb
-      volumes:
-         - ./config/db-migrator/db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
-         - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-            '-c',
-            '/opt/app/policy/bin/db_migrator_policy_init.sh',
-            'mariadb', '3306'
-      ]
-   simulator:
-      image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_SIMULATOR}
-      container_name: simulator
-      hostname: simulator
-      networks:
-         default:
-            aliases:
-               - message-router
-      expose:
-         - 3904
-      volumes:
-         - ./config/jsonConfigs/dmaapSimConfig.json:/opt/app/policy/simulators/etc/mounted/simParameters.json:ro
-   pdp:
-      image: pdp/simulator
-      container_name: pdp-simulator
-      depends_on:
-         - simulator
-      hostname: pdp-simulator
-      volumes:
-         - ./config/wait_for_port.sh:/opt/app/policy/pdp-sim/bin/wait_for_port.sh:ro
-         - ./config/jsonConfigs/pdpSimConfig.json:/opt/app/policy/pdp-sim/etc/config/OnapPfConfig.json:ro
-   policy-api:
-      image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION}
-      container_name: policy-api
-      hostname: policy-api
-      expose:
-         - 6969
-      depends_on:
-         - policy-db-migrator
-      volumes:
-         - ./config/jsonConfigs/apiConfigFile.json:/opt/app/policy/api/etc/defaultConfig.json:ro
-         - ./config/wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
-      entrypoint: /opt/app/policy/api/bin/wait_for_port.sh
-      command: [
-            '-c', './policy-api.sh',
-            'mariadb', '3306',
-            'policy-db-migrator', '6824'
-      ]
-   policy-pap:
-      image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION}
-      container_name: policy-pap
-      hostname: policy-pap
-      expose:
-         - 6969
-      depends_on:
-         - policy-db-migrator
-         - simulator
-         - policy-api
-      volumes:
-         - ./config/wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
-         - ./config/jsonConfigs/papConfigFile.json:/opt/app/policy/pap/etc/defaultConfig.json:ro
-      entrypoint: /opt/app/policy/pap/bin/wait_for_port.sh
-      command: [
-            '-c', './policy-pap.sh',
-            'mariadb', '3306',
-            'message-router', '3904',
-            'policy-api', '6969'
-      ]
-   policy-dist:
-      image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DIST_VERSION}
-      volumes:
-         - /tmp/policydistribution/distributionmount:/home/policydistribution
-         - ./distribution/bin/policy-dist.sh:/opt/app/policy/distribution/bin/policy-dist.sh
-         - ./distribution/etc/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json
-         - ./distribution/etc/logback.xml:/opt/app/policy/distribution/etc/logback.xml
-         - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
-      expose:
-         - 6969
-         - 9090
-      container_name: policy-distribution
-      entrypoint: /opt/app/policy/bin/wait_for_port.sh
-      command: [
-            '-c', './policy-dist.sh',
-            'mariadb', '3306',
-            'message-router', '3904',
-            'policy-api', '6969',
-            'policy-pap', '6969'
-      ]
+  mariadb:
+    image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER}
+    container_name: mariadb
+    hostname: mariadb
+    command: [ '--lower-case-table-names=1', '--wait_timeout=28800' ]
+    env_file: config/db/db.conf
+    volumes:
+      - ./config/db:/docker-entrypoint-initdb.d:ro
+    expose:
+      - 3306
+  policy-db-migrator:
+    image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DB_MIGRATOR}
+    container_name: policy-db-migrator
+    hostname: policy-db-migrator
+    depends_on:
+      - mariadb
+    expose:
+      - 6824
+    env_file: config/db/db.conf
+    environment:
+      SQL_DB: policyadmin
+      SQL_HOST: mariadb
+    volumes:
+      - ./config/db-migrator/db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
+      - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+        '-c',
+        '/opt/app/policy/bin/db_migrator_policy_init.sh',
+        'mariadb', '3306'
+    ]
+  simulator:
+    image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_SIMULATOR}
+    container_name: simulator
+    hostname: simulator
+    networks:
+      default:
+        aliases:
+          - message-router
+    expose:
+      - 3904
+    volumes:
+      - ./config/jsonConfigs/dmaapSimConfig.json:/opt/app/policy/simulators/etc/mounted/simParameters.json:ro
+  pdp:
+    image: pdp/simulator
+    container_name: pdp-simulator
+    depends_on:
+      - simulator
+    hostname: pdp-simulator
+    volumes:
+      - ./config/wait_for_port.sh:/opt/app/policy/pdp-sim/bin/wait_for_port.sh:ro
+      - ./config/jsonConfigs/pdpSimConfig.json:/opt/app/policy/pdp-sim/etc/config/OnapPfConfig.json:ro
+  policy-api:
+    image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION}
+    container_name: policy-api
+    hostname: policy-api
+    expose:
+      - 6969
+    depends_on:
+      - policy-db-migrator
+    volumes:
+      - ./config/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
+      - ./config/wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
+    entrypoint: /opt/app/policy/api/bin/wait_for_port.sh
+    command: [
+        '-c', './policy-api.sh',
+        'mariadb', '3306',
+        'policy-db-migrator', '6824'
+    ]
+  policy-pap:
+    image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION}
+    container_name: policy-pap
+    hostname: policy-pap
+    expose:
+      - 6969
+    depends_on:
+      - policy-db-migrator
+      - simulator
+      - policy-api
+    volumes:
+      - ./config/wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
+      - ./config/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
+      - ./config/jsonConfigs/papGroups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
+    entrypoint: /opt/app/policy/pap/bin/wait_for_port.sh
+    command: [
+        '-c', './policy-pap.sh',
+        'mariadb', '3306',
+        'message-router', '3904',
+        'policy-api', '6969'
+    ]
+  policy-dist:
+    image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DIST_VERSION}
+    volumes:
+      - /tmp/policydistribution/distributionmount:/home/policydistribution
+      - ./distribution/bin/policy-dist.sh:/opt/app/policy/distribution/bin/policy-dist.sh
+      - ./distribution/etc/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json
+      - ./distribution/etc/logback.xml:/opt/app/policy/distribution/etc/logback.xml
+      - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
+    expose:
+      - 6969
+      - 9090
+    container_name: policy-distribution
+    entrypoint: /opt/app/policy/bin/wait_for_port.sh
+    command: [
+        '-c', './policy-dist.sh',
+        'mariadb', '3306',
+        'message-router', '3904',
+        'policy-api', '6969',
+        'policy-pap', '6969'
+    ]
index e163f2b..765c5b6 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
-#  Copyright (c) 2021 Nordix Foundation.
+#  Copyright (c) 2021-2022 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -33,9 +33,10 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
 fi
 
 # bring down maven
-curl -O -s -S https://dlcdn.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz
-tar -xzvf apache-maven-3.8.3-bin.tar.gz
-MAVEN="${WORK_DIR}"/apache-maven-3.8.3/bin/mvn
+curl -s -S https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz > apache-maven.tar.gz
+mkdir -p apache-maven && tar -xzvf apache-maven.tar.gz -C apache-maven --strip-components 1
+
+MAVEN="${WORK_DIR}"/apache-maven/bin/mvn
 $MAVEN -v
 echo ""
 
@@ -55,7 +56,7 @@ sudo mkdir -p /tmp/policydistribution/distributionmount
 sudo chmod -R a+trwx /tmp
 
 # start containers on the background
-docker-compose up --detach
+docker-compose up -d
 echo ""
 
 # check if all containers are up - db-migrator will shutdown after a while
index ff156b8..1ac71df 100755 (executable)
 
 # update versions here
 export POLICY_MARIADB_VER=10.5.8
-export POLICY_DB_MIGRATOR=2.3.1
-export POLICY_API_VERSION=2.5.1
-export POLICY_PAP_VERSION=2.5.1
-export POLICY_MODELS_SIMULATOR=latest
-export POLICY_DIST_VERSION=2.6.1
+export POLICY_DB_MIGRATOR=2.4-SNAPSHOT-latest
+export POLICY_API_VERSION=2.6-SNAPSHOT-latest
+export POLICY_PAP_VERSION=2.6-SNAPSHOT-latest
+export POLICY_MODELS_SIMULATOR=2.6-SNAPSHOT-latest
+export POLICY_DIST_VERSION=2.7-SNAPSHOT-latest
 
 echo "                MariaDB Version: ${POLICY_MARIADB_VER}"
 echo "     Policy DB Migrator Version: ${POLICY_DB_MIGRATOR}"
index f59035f..edef48b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
-#  Copyright (c) 2021 Nordix Foundation.
+#  Copyright (c) 2021-2022 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
 echo "Starting stability test against distribution component..."
 
 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-JMETER_HOME=~/jmeter/apache-jmeter-5.4.1/
+JMETER_HOME=~/jmeter/apache-jmeter-5.4.1
 
 POLICY_API_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-api)
 POLICY_PAP_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-pap)
index f1c5fe8..a41247e 100644 (file)
Binary files a/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar and b/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar differ
index 8022d60..75810c0 100644 (file)
@@ -35,7 +35,7 @@
           </elementProp>
           <elementProp name="API_HOST" elementType="Argument">
             <stringProp name="Argument.name">API_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(apihost,172.19.0.7)}</stringProp>
+            <stringProp name="Argument.value">${__P(apihost,172.18.0.7)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="API_PORT" elementType="Argument">
@@ -45,7 +45,7 @@
           </elementProp>
           <elementProp name="PAP_HOST" elementType="Argument">
             <stringProp name="Argument.name">PAP_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(paphost,172.19.0.8)}</stringProp>
+            <stringProp name="Argument.value">${__P(paphost,172.18.0.8)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="PAP_PORT" elementType="Argument">
@@ -55,7 +55,7 @@
           </elementProp>
           <elementProp name="DISTRIBUTION_HOST" elementType="Argument">
             <stringProp name="Argument.name">DISTRIBUTION_HOST</stringProp>
-            <stringProp name="Argument.value">${__P(disthost,172.19.0.2)}</stringProp>
+            <stringProp name="Argument.value">${__P(disthost,172.18.0.3)}</stringProp>
             <stringProp name="Argument.metadata">=</stringProp>
           </elementProp>
           <elementProp name="DISTRIBUTION_PORT" elementType="Argument">
             <hashTree/>
           </hashTree>
         </hashTree>
+        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Metrics" enabled="true"/>
+        <hashTree>
+          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Metrics" 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">${DISTRIBUTION_HOST}</stringProp>
+            <stringProp name="HTTPSampler.port">${DISTRIBUTION_PORT}</stringProp>
+            <stringProp name="HTTPSampler.protocol">http</stringProp>
+            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+            <stringProp name="HTTPSampler.path">metrics</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
+            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+            <stringProp name="HTTPSampler.response_timeout"></stringProp>
+          </HTTPSamplerProxy>
+          <hashTree>
+            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+              <collectionProp name="Asserion.test_strings">
+                <stringProp name="49586">200</stringProp>
+              </collectionProp>
+              <stringProp name="Assertion.custom_message"></stringProp>
+              <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
+              <boolProp name="Assertion.assume_success">false</boolProp>
+              <intProp name="Assertion.test_type">8</intProp>
+            </ResponseAssertion>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
         <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Check for Policy Deployment" enabled="true"/>
         <hashTree>
-          <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Clean check variables" enabled="true">
-            <stringProp name="cacheKey">true</stringProp>
-            <stringProp name="filename"></stringProp>
-            <stringProp name="parameters"></stringProp>
-            <stringProp name="script">vars.put(&quot;DEPLOY_STATUS&quot;, &quot;notset&quot;);</stringProp>
-            <stringProp name="scriptLanguage">beanshell</stringProp>
-          </JSR223Sampler>
+          <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait policy process" enabled="true">
+            <stringProp name="ConstantTimer.delay">120000</stringProp>
+          </ConstantTimer>
           <hashTree/>
-          <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="Loop for Policy Deploy" enabled="true">
-            <stringProp name="WhileController.condition">${__jexl3(&quot;${DEPLOY_STATUS}&quot;!=&quot;true&quot;)}</stringProp>
-          </WhileController>
+          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Deployed" 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">${PAP_HOST}</stringProp>
+            <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
+            <stringProp name="HTTPSampler.protocol">http</stringProp>
+            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+            <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/defaultGroup/operational.apex.sampledomain/1.0.0</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
+            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+            <stringProp name="HTTPSampler.response_timeout"></stringProp>
+          </HTTPSamplerProxy>
           <hashTree>
-            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Deployed" 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">${PAP_HOST}</stringProp>
-              <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
-              <stringProp name="HTTPSampler.protocol">http</stringProp>
-              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/defaultGroup/operational.apex.sampledomain/1.0.0</stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
-              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
-              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
-              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
-              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
-              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
-              <stringProp name="HTTPSampler.response_timeout"></stringProp>
-            </HTTPSamplerProxy>
-            <hashTree>
-              <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Deploy status" enabled="true">
-                <stringProp name="RegexExtractor.useHeaders">false</stringProp>
-                <stringProp name="RegexExtractor.refname">DEPLOY_STATUS</stringProp>
-                <stringProp name="RegexExtractor.regex">&quot;deploy&quot;:(.+?),&quot;state&quot;:&quot;SUCCESS&quot;</stringProp>
-                <stringProp name="RegexExtractor.template">$1$</stringProp>
-                <stringProp name="RegexExtractor.default">NotFound</stringProp>
-                <stringProp name="RegexExtractor.match_number">1</stringProp>
-              </RegexExtractor>
-              <hashTree/>
-            </hashTree>
-            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If not valid, wait a min" enabled="true">
-              <stringProp name="IfController.condition">${__jexl3(&quot;${DEPLOY_STATUS}&quot;!=&quot;true&quot;)}</stringProp>
-              <boolProp name="IfController.evaluateAll">false</boolProp>
-              <boolProp name="IfController.useExpression">true</boolProp>
-            </IfController>
-            <hashTree>
-              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait a minute" enabled="true">
-                <stringProp name="ConstantTimer.delay">60000</stringProp>
-              </ConstantTimer>
-              <hashTree/>
-              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Waiting" enabled="true">
-                <boolProp name="displayJMeterProperties">false</boolProp>
-                <boolProp name="displayJMeterVariables">true</boolProp>
-                <boolProp name="displaySystemProperties">false</boolProp>
-              </DebugSampler>
-              <hashTree/>
-            </hashTree>
+            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+              <collectionProp name="Asserion.test_strings">
+                <stringProp name="585585327">&quot;deploy&quot;:true</stringProp>
+              </collectionProp>
+              <stringProp name="Assertion.custom_message"></stringProp>
+              <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+              <boolProp name="Assertion.assume_success">false</boolProp>
+              <intProp name="Assertion.test_type">2</intProp>
+            </ResponseAssertion>
+            <hashTree/>
           </hashTree>
         </hashTree>
         <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Policy Deployment" enabled="true"/>
           <hashTree>
             <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="Assert Policy Type" enabled="true">
               <stringProp name="JSON_PATH">$[:2].policy-type</stringProp>
-              <stringProp name="EXPECTED_VALUE">onap.policies.acm.operational.common.Apex</stringProp>
+              <stringProp name="EXPECTED_VALUE">onap.policies.controlloop.operational.common.Apex</stringProp>
               <boolProp name="JSONVALIDATION">true</boolProp>
               <boolProp name="EXPECT_NULL">false</boolProp>
               <boolProp name="INVERT">false</boolProp>
         </hashTree>
         <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Check for Policy Undeploy" enabled="true"/>
         <hashTree>
-          <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Clean check variables" enabled="true">
-            <stringProp name="cacheKey">true</stringProp>
-            <stringProp name="filename"></stringProp>
-            <stringProp name="parameters"></stringProp>
-            <stringProp name="script">vars.put(&quot;DEPLOY_STATUS&quot;, &quot;notset&quot;);</stringProp>
-            <stringProp name="scriptLanguage">groovy</stringProp>
-          </JSR223Sampler>
+          <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait process" enabled="true">
+            <stringProp name="ConstantTimer.delay">60000</stringProp>
+          </ConstantTimer>
           <hashTree/>
-          <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="Loop for Policy Status" enabled="true">
-            <stringProp name="WhileController.condition">${__jexl3(&quot;${DEPLOY_STATUS}&quot;!=&quot;[]&quot;)}</stringProp>
-          </WhileController>
+          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Undeployed" 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">${PAP_HOST}</stringProp>
+            <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
+            <stringProp name="HTTPSampler.protocol">http</stringProp>
+            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
+            <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/</stringProp>
+            <stringProp name="HTTPSampler.method">GET</stringProp>
+            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
+            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
+            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
+            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
+            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
+            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
+            <stringProp name="HTTPSampler.response_timeout"></stringProp>
+          </HTTPSamplerProxy>
           <hashTree>
-            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Undeployed" 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">${PAP_HOST}</stringProp>
-              <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
-              <stringProp name="HTTPSampler.protocol">http</stringProp>
-              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
-              <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/</stringProp>
-              <stringProp name="HTTPSampler.method">GET</stringProp>
-              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
-              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
-              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
-              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
-              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
-              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
-              <stringProp name="HTTPSampler.response_timeout"></stringProp>
-            </HTTPSamplerProxy>
-            <hashTree>
-              <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Deploy status" enabled="true">
-                <stringProp name="RegexExtractor.useHeaders">false</stringProp>
-                <stringProp name="RegexExtractor.refname">DEPLOY_STATUS</stringProp>
-                <stringProp name="RegexExtractor.regex">(\W{2})</stringProp>
-                <stringProp name="RegexExtractor.template">$1$</stringProp>
-                <stringProp name="RegexExtractor.default">NotFound</stringProp>
-                <stringProp name="RegexExtractor.match_number">1</stringProp>
-              </RegexExtractor>
-              <hashTree/>
-            </hashTree>
-            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If not valid, wait a min" enabled="true">
-              <stringProp name="IfController.condition">${__jexl3(&quot;${DEPLOY_STATUS}&quot;!=&quot;[]&quot;)}</stringProp>
-              <boolProp name="IfController.evaluateAll">false</boolProp>
-              <boolProp name="IfController.useExpression">true</boolProp>
-            </IfController>
-            <hashTree>
-              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait a minute" enabled="true">
-                <stringProp name="ConstantTimer.delay">60000</stringProp>
-              </ConstantTimer>
-              <hashTree/>
-              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Waiting" enabled="true">
-                <boolProp name="displayJMeterProperties">false</boolProp>
-                <boolProp name="displayJMeterVariables">true</boolProp>
-                <boolProp name="displaySystemProperties">false</boolProp>
-              </DebugSampler>
-              <hashTree/>
-            </hashTree>
+            <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+              <collectionProp name="Asserion.test_strings">
+                <stringProp name="2914">[]</stringProp>
+              </collectionProp>
+              <stringProp name="Assertion.custom_message"></stringProp>
+              <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
+              <boolProp name="Assertion.assume_success">false</boolProp>
+              <intProp name="Assertion.test_type">2</intProp>
+            </ResponseAssertion>
+            <hashTree/>
           </hashTree>
         </hashTree>
         <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Policy Deleted" enabled="true"/>