From c1c65a8abdf8618131e87c267a68349a3612f7af Mon Sep 17 00:00:00 2001 From: Taka Cho Date: Mon, 26 Oct 2020 10:11:52 -0400 Subject: add jmx and shell script for s3p drools-app modified s3p.jmx from Frankfurt to fit for Guilin. and modified shell script from Amsterdam Issue-ID: POLICY-2832 Change-Id: Id9ab2535e6ea8bce0f5f367fbf296fc215d65c9f Signed-off-by: Taka Cho --- .../resources/guilin/generate_performace_report.sh | 240 ++ .../stability/src/main/resources/guilin/s3p.jmx | 3189 ++++++++++++++++++++ 2 files changed, 3429 insertions(+) create mode 100755 testsuites/stability/src/main/resources/guilin/generate_performace_report.sh create mode 100644 testsuites/stability/src/main/resources/guilin/s3p.jmx diff --git a/testsuites/stability/src/main/resources/guilin/generate_performace_report.sh b/testsuites/stability/src/main/resources/guilin/generate_performace_report.sh new file mode 100755 index 000000000..f8745e179 --- /dev/null +++ b/testsuites/stability/src/main/resources/guilin/generate_performace_report.sh @@ -0,0 +1,240 @@ +#!/bin/bash + +# Copyright (C) 2020 AT&T. All rights reserved. +# +# 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. + +# The aim of this script is to collect performance metric for policies running in PDP-D. +# +# Pre-requisites: +# +# Run the JMeter Stability test plan on the PDP-D for at least few hours so that enough samples +# are collected and used for performance calculation. +# +# Recommendation: +# Run for 72 hours +# +# How to run: +# 1: Copy this script to drools container +# 2: Pass following parameters to run the script +# - log-dir : the complete directory location of audit.log file. +# - wait : the wait time configured in JMeter test plan. (in Guilin Release is no wait time) +# +# Sample command for running the script: ./generate_performance_report -l /var/log/onap/policy/pdpd -w 500 +# Note: -h or --help can be used to display details about input parameters. +# +# How it works +# The script will parse the audit.log file at the specified location and fetch the running time of each policy. +# Take enough samples and then calculate the average time taken for policies to complete. + +usage() +{ +_msg_="$@" +scriptname=$(basename $0) + +cat<<-EOF + +Command Arguments: + +-l, --log-dir + Mandatory argument. Directory location of audit logs. + +-w, --wait + Mandatory argument. Wait time between onset and appc for vCPE and vFW (in milliseconds) + +-h, --help + Optional argument. Display this usage. + +EOF +exit 1 + +} + +process_vCPE_FAIL() { + # vCPE use case + vcpe0_perf_list=($(ls -lrth $LOG_DIR/audit.* | awk '{print $9}'| xargs -n1 zgrep ControlLoop-vCPE-Fail | grep "FINAL.FAILURE.ACCEPTED" | awk -F'|' '{print $7 }'| tail -200000)) + + vcpe0Total=0 + vcpe0Sum=0 + vcpe0Max=0 + vcpe0Min=10000 + for count in "${vcpe0_perf_list[@]}" + do + if [ "$count" -gt "$vcpe0Max" ]; then + vcpe0Max=$count + fi + if [ "$count" -lt "$vcpe0Min" ]; then + vcpe0Min=$count + fi + vcpe0Sum=$(($vcpe0Sum + $count)) + vcpe0Total=$(($vcpe0Total + 1)) + done + # Multiplying by 2 because stability test waits after onset and abatement + average=$((($vcpe0Sum / $vcpe0Total)-(2*$WAIT))) + echo "vCPE Failure cuse case ==> Max: $vcpe0Max, Min: $vcpe0Min, Average: $average ms [samples taken for average: $vcpe0Total]" +} + +process_vCPE_OK() { + # vCPE use case + vcpe_perf_list=($(ls -lrth $LOG_DIR/audit.* | awk '{print $9}'| xargs -n1 zgrep ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e | grep COMPLETE | grep FINAL | awk -F'|' '{print $7 }' | tail -200000)) + + vcpeTotal=0 + vcpeSum=0 + vcpeMax=0 + vcpeMin=10000 + for count in "${vcpe_perf_list[@]}" + do + if [ "$count" -gt "$vcpeMax" ]; then + vcpeMax=$count + fi + if [ "$count" -lt "$vcpeMin" ]; then + vcpeMin=$count + fi + vcpeSum=$(($vcpeSum + $count)) + vcpeTotal=$(($vcpeTotal + 1)) + done + # Multiplying by 2 because stability test waits after onset and abatement + average=$((($vcpeSum / $vcpeTotal)-(2*$WAIT))) + echo "vCPE Success cuse case ==> Max: $vcpeMax, Min: $vcpeMin, Average: $average ms [samples taken for average: $vcpeTotal]" +} + +process_vFW() { + # vFirewall use case + vfw_perf_list=($(ls -lrth $LOG_DIR/audit.* | awk '{print $9}'| xargs -n1 zgrep ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a | grep COMPLETE | grep FINAL | awk -F'|' '{print $7 }' | tail -200000)) + + vfwTotal=0 + vfwSum=0 + vfwMax=0 + vfwMin=10000 + for count in "${vfw_perf_list[@]}" + do + if [ "$count" -gt "$vfwMax" ]; then + vfwMax=$count + fi + if [ "$count" -lt "$vfwMin" ]; then + vfwMin=$count + fi + vfwSum=$(($vfwSum + $count)) + vfwTotal=$(($vfwTotal + 1)) + done + # Substracting wait as stability test waits after onset + average=$((($vfwSum / $vfwTotal)-$WAIT)) + echo "vFirewall Success use case => Max: $vfwMax, Min: $vfwMin, Average: $average ms [samples taken for average: $vfwTotal]" +} + +process_vDNS_OK() { + # vDNS use case + vdns_perf_list=($(ls -lrth $LOG_DIR/audit.* | awk '{print $9}'| xargs -n1 zgrep ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3 | grep COMPLETE | grep FINAL | awk -F'|' '{print $7 }' | tail -200000)) + + vdnsTotal=0 + vdnsSum=0 + vdnsMax=0 + vdnsMin=10000 + for count in "${vdns_perf_list[@]}" + do + if [ "$count" -gt "$vdnsMax" ]; then + vdnsMax=$count + fi + if [ "$count" -lt "$vdnsMin" ]; then + vdnsMin=$count + fi + vdnsSum=$(($vdnsSum + $count)) + vdnsTotal=$(($vdnsTotal + 1)) + done + average=$(($vdnsSum / $vdnsTotal)) + echo "vDNS Success use case => Max: $vdnsMax, Min: $vdnsMin, Average: $average ms [samples taken for average: $vdnsTotal]" +} + +process_vDNS_FAIL() { + # vDNS use case + vdns_perf_list=($(ls -lrth $LOG_DIR/audit.* | awk '{print $9}'| xargs -n1 zgrep ControlLoop-vDNS-Fail | grep "failed to execute the next step" | awk -F'|' '{print $7 }' | tail -200000)) + + vdns0Total=0 + vdns0Sum=0 + vdns0Max=0 + vdns0Min=10000 + for count in "${vdns_perf_list[@]}" + do + if [ "$count" -gt "$vdns0Max" ]; then + vdns0Max=$count + fi + if [ "$count" -lt "$vdns0Min" ]; then + vdns0Min=$count + fi + vdns0Sum=$(($vdns0Sum + $count)) + vdns0Total=$(($vdns0Total + 1)) + done + average=$(($vdns0Sum / $vdns0Total)) + echo "vDNS Failure use case => Max: $vdns0Max, Min: $vdns0Min, Average: $average ms [samples taken for average: $vdns0Total]" +} + +# Called when script is executed with invalid arguments +invalid_arguments() { +echo "Missing or invalid option(s):" +echo "$@" +echo "Try -help for more information" + exit 1 +} + +# Process the arguments passed to the script +process_arguments() { +short_args="hl:w:" +long_args="help,log-dir:wait:" + +args=$(getopt -o $short_args -l $long_args -n "$0" -- "$@" 2>&1 ) +[[ $? -ne 0 ]] && invalid_arguments $( echo " $args"| head -1 ) +[[ $# -eq 0 ]] && invalid_arguments "No options provided" +eval set -- "$args" +cmd_arg="$0" + +while true; do + case "$1" in + -l|--log-dir) + LOG_DIR=$2 + shift 2 ;; + -w|--wait) + WAIT=$2 + shift 2 ;; + -h|--help) + usage + exit 0 + ;; + --) + shift + break ;; + *) + echo BAD ARGUMENTS # perhaps error + break ;; + esac +done + +if ! [[ -d $LOG_DIR ]]; then + echo "$LOG_DIR does not exists" >&2; exit 1 +fi + +re='^[0-9]+$' +if ! [[ $WAIT =~ $re ]] ; then + echo "error: WAIT must be number " >&2; exit 1 +fi + +} + + +# main body +process_arguments $@ +process_vCPE_OK +process_vCPE_FAIL +process_vDNS_OK +process_vDNS_FAIL +process_vFW + diff --git a/testsuites/stability/src/main/resources/guilin/s3p.jmx b/testsuites/stability/src/main/resources/guilin/s3p.jmx new file mode 100644 index 000000000..3ce7e8627 --- /dev/null +++ b/testsuites/stability/src/main/resources/guilin/s3p.jmx @@ -0,0 +1,3189 @@ + + + + + + + false + true + false + + + + API_HOST + 10.12.5.232 + = + + + API_PORT + 30044 + = + + + PAP_HOST + 10.12.5.232 + = + + + PAP_PORT + 30656 + = + + + DMAAP_HOST + 10.12.5.232 + = + + + DMAAP_PORT + 30226 + = + + + DROOLS_HOST + 10.12.5.232 + = + + + DROOLS_PORT + 32161 + = + + + duration + 259200 + = + + + + + + + + + + Accept + application/json + + + Content-Type + application/json + + + + + + + + https://${API_HOST}:${API_PORT}/policy/api/v1 + healthcheck + zb!XztG34 + + + + + https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1 + healthcheck + zb!XztG34 + + + + + https://${DROOLS_HOST}:${DROOLS_PORT}/policy/pdp/engine + demo@people.osaaf.org + demo123456! + + + + + + + + + + + + 9696 + http + + + 6 + + + + + + continue + + false + 1 + + 1 + 1 + false + + + + + + + + + + + ${API_HOST} + ${API_PORT} + https + + /policy/api/v1/healthcheck + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + $.healthy + true + true + false + false + false + + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "operational.restart": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "version": "1.0.0", + "metadata": { + "policy-id": "operational.restart" + }, + "properties": { + "id": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "timeout": 60, + "abatement": false, + "trigger": "unique-policy-id-1-restart", + "operations": [ + { + "id": "unique-policy-id-1-restart", + "description": "Restart the VM", + "operation": { + "actor": "APPC", + "operation": "Restart", + "target": { + "targetType": "VNF" + } + }, + "timeout": 20, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +} + = + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "operational.restart.fail": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "version": "1.0.0", + "metadata": { + "policy-id": "operational.restart.fail" + }, + "properties": { + "id": "ControlLoop-vCPE-Fail", + "timeout": 60, + "abatement": false, + "trigger": "unique-policy-id-1-restart", + "operations": [ + { + "id": "unique-policy-id-1-restart", + "description": "Restart the VM", + "operation": { + "actor": "APPC", + "operation": "Restart", + "target": { + "targetType": "VNF" + } + }, + "timeout": 20, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +} + = + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "operational.modifyconfig": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "version": "1.0.0", + "metadata": { + "policy-id": "operational.modifyconfig" + }, + "properties": { + "id": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", + "timeout": 60, + "abatement": false, + "trigger": "unique-policy-id-1-modifyConfig", + "operations": [ + { + "id": "unique-policy-id-1-modifyConfig", + "description": "Modify the packet generator", + "operation": { + "actor": "APPC", + "operation": "ModifyConfig", + "target": { + "targetType": "VNF", + "entityIds": { + "resourceID": "bbb3cefd-01c8-413c-9bdd-2b92f9ca3d38" + } + }, + "payload": { + "streams": "{\"active-streams\": 5 }" + } + }, + "timeout": 20, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +} + = + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "operational.scaleout": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "version": "1.0.0", + "metadata": { + "policy-id": "operational.scaleout" + }, + "properties": { + "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "timeout": 60, + "abatement": false, + "trigger": "unique-policy-id-1-scale-up", + "operations": [ + { + "id": "unique-policy-id-1-scale-up", + "description": "Create a new VF Module", + "operation": { + "actor": "SO", + "operation": "VF Module Create", + "target": { + "targetType": "VFMODULE", + "entityIds": { + "modelInvariantId": "e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e", + "modelVersionId": "94b18b1d-cc91-4f43-911a-e6348665f292", + "modelName": "VfwclVfwsnkBbefb8ce2bde..base_vfw..module-0", + "modelVersion": "1", + "modelCustomizationId": "47958575-138f-452a-8c8d-d89b595f8164" + } + }, + "payload": { + "requestParameters": "{\"usePreload\":true,\"userParams\":[]}", + "configurationParameters": "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" + } + }, + "timeout": 20, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +} + = + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + { + "tosca_definitions_version": "tosca_simple_yaml_1_1_0", + "topology_template": { + "policies": [ + { + "operational.scaleout.fail": { + "type": "onap.policies.controlloop.operational.common.Drools", + "type_version": "1.0.0", + "version": "1.0.0", + "metadata": { + "policy-id": "operational.scaleout.fail" + }, + "properties": { + "id": "ControlLoop-vDNS-Fail", + "timeout": 60, + "abatement": false, + "trigger": "unique-policy-id-1-scale-up", + "operations": [ + { + "id": "unique-policy-id-1-scale-up", + "description": "Create a new VF Module", + "operation": { + "actor": "SO", + "operation": "VF Module Create", + "target": { + "targetType": "VFMODULE", + "entityIds": { + "modelInvariantId": "e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e", + "modelVersionId": "94b18b1d-cc91-4f43-911a-e6348665f292", + "modelName": "VfwclVfwsnkBbefb8ce2bde..base_vfw..module-0", + "modelVersion": "1", + "modelCustomizationId": "47958575-138f-452a-8c8d-d89b595f8164" + } + }, + "payload": { + "requestParameters": "{\"usePreload\":true,\"userParams\":[]}", + "configurationParameters": "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\",\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\",\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" + } + }, + "timeout": 20, + "retries": 0, + "success": "final_success", + "failure": "final_failure", + "failure_timeout": "final_failure_timeout", + "failure_retries": "final_failure_retries", + "failure_exception": "final_failure_exception", + "failure_guard": "final_failure_guard" + } + ], + "controllerName": "usecases" + } + } + } + ] + } +} + = + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + /policy/pap/v1/healthcheck + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + $.healthy + true + true + false + false + false + + + + + true + + + + false + {"policies":[{"policy-id":"operational.restart", "version": "1.0.0"}]} + = + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + {"policies":[{"policy-id":"operational.restart.fail", "version": "1.0.0"}]} + = + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + {"policies":[{"policy-id":"operational.modifyconfig", "version": "1.0.0"}]} + = + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + {"policies":[{"policy-id":"operational.scaleout", "version": "1.0.0"}]} + = + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + true + + + + false + {"policies":[{"policy-id":"operational.scaleout.fail", "version": "1.0.0"}]} + = + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies + POST + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-PDP-PAP/${__time()}/1?timeout=2000 + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/vcpesuccess/1?timeout=20000 + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/APPC-LCM-READ/vcpesuccess/1?timeout=20000 + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/vcpefailure/1?timeout=20000 + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/APPC-LCM-READ/vcpefailure/1?timeout=20000 + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/controllers/usecases/drools/facts + GET + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 8 + + + + $.usecases + 10 + true + false + false + false + + + + + + startnextloop + + false + -1 + + 1 + 1 + true + ${duration} + 1 + + + + + consumerGroup + + + + vcpesuccess + + + false + Global to the thread group + + + + + requestId + + + + ${__UUID()} + + + true + Update on a per iteration basis + + + + true + + + + false + { + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", + "closedLoopAlarmStart": 1463679805324, + "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", + "closedLoopEventStatus": "ONSET", + "requestID": "${requestId}", + "target_type": "VNF", + "target": "generic-vnf.vnf-id", + "AAI": { + "vserver.is-closed-loop-disabled": "false", + "vserver.prov-status": "ACTIVE", + "generic-vnf.vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" + }, + "from": "DCAE", + "version": "1.0.2" +} + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/DCAE_TOPIC/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 10)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"request-id", "value":"${requestId}" }, { "class":"Equals", "field":"rpc-name", "value":"restart" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/APPC-LCM-READ/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + \\"request-id\\": \\"(.+?)\\" + $1$ + none + + + + + false + correlationId + correlation-id\\": \\"(.+?)\\" + $1$ + none + + + + + false + subRequestId + sub-request-id\\": \\"(.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String correlationId = vars.get("correlationId"); +String subRequestId = vars.get("subRequestId"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The correlation id is " + correlationId); +log.info ("The subrequest id is " + subRequestId); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( correlationId == "none" || subRequestId == "none" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + AssertionResult.setFailureMessage("Missing correlationId or subRequestId"); + AssertionResult.setFailure(true); + } else { + transaction = "FINAL"; + vars.put("transaction", "FINAL"); + log.info ("Final Success Transaction"); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 10) { + AssertionResult.setFailureMessage("vCPE Success APPCL Failure, reached maximum number of 10 attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + + + true + + + + false + { + "body": { + "output": { + "common-header": { + "timestamp": "2020-05-05T15:56:34.845Z", + "api-ver": "2.00", + "originator-id": "${requestId}", + "request-id": "${requestId}", + "sub-request-id": "${subRequestId}", + "flags": {} + }, + "status": { + "code": 400, + "message": "Restart Successful" + } + } + }, + "version": "2.0", + "rpc-name": "restart", + "correlation-id": "${correlationId}", + "type": "response" +} + + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/APPC-LCM-WRITE/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 60)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + requestId\\": \\"(.+?)\\" + $1$ + none + + + + + false + notification + notification\\": \\"FINAL: (.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String notification = vars.get("notification"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The notification is " + notification); +log.info ("The transaction is " + transaction); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( notification == "SUCCESS" ) { + transaction = "FINAL"; + log.info ("Final Success Transaction"); + log.info ("The notification is SUCCESS"); + } else if ( notification == "FAILURE" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + AssertionResult.setFailureMessage("Bad final notification"); + AssertionResult.setFailure(true); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 60) { + AssertionResult.setFailureMessage("vCPE Success POLICYCL Failure, reached maximum number of attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + startnextloop + + false + -1 + + 1 + 1 + true + ${duration} + 5 + + + + + consumerGroup + + + + vcpefailure + + + false + Global to the thread group + + + + + requestId + + + + ${__UUID()} + + + true + Update on a per iteration basis + + + + true + + + + false + { + "closedLoopControlName": "ControlLoop-vCPE-Fail", + "closedLoopAlarmStart": 1463679805324, + "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", + "closedLoopEventStatus": "ONSET", + "requestID": "${requestId}", + "target_type": "VNF", + "target": "generic-vnf.vnf-id", + "AAI": { + "vserver.is-closed-loop-disabled": "false", + "vserver.prov-status": "ACTIVE", + "generic-vnf.vnf-id": "a_fail_vnf_id" + }, + "from": "DCAE", + "version": "1.0.2" +} + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/DCAE_TOPIC/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 10)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"request-id", "value":"${requestId}" }, { "class":"Equals", "field":"rpc-name", "value":"restart" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/APPC-LCM-READ/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + \\"request-id\\": \\"(.+?)\\" + $1$ + none + + + + + false + correlationId + correlation-id\\": \\"(.+?)\\" + $1$ + none + + + + + false + subRequestId + sub-request-id\\": \\"(.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String correlationId = vars.get("correlationId"); +String subRequestId = vars.get("subRequestId"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The correlation id is " + correlationId); +log.info ("The subrequest id is " + subRequestId); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( correlationId == "none" || subRequestId == "none" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + AssertionResult.setFailureMessage("Missing correlationId or subRequestId"); + AssertionResult.setFailure(true); + } else { + transaction = "FINAL"; + vars.put("transaction", "FINAL"); + log.info ("Final Success Transaction"); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 10) { + AssertionResult.setFailureMessage("vCPE Failure APPCL Failure, reached maximum number of 10 attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + + + true + + + + false + { + "body": { + "output": { + "common-header": { + "timestamp": "2020-05-07T15:56:34.845Z", + "api-ver": "2.00", + "originator-id": "${requestId}", + "request-id": "${requestId}", + "sub-request-id": "${subRequestId}", + "flags": {} + }, + "status": { + "code": 450, + "message": "Restart Failed" + } + } + }, + "version": "2.0", + "rpc-name": "restart", + "correlation-id": "${correlationId}", + "type": "response" +} + + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/APPC-LCM-WRITE/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 60)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: FAILURE" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + requestId\\": \\"(.+?)\\" + $1$ + none + + + + + false + notification + notification\\": \\"FINAL: (.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String notification = vars.get("notification"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The notification is " + notification); +log.info ("The transaction is " + transaction); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( notification == "SUCCESS" ) { + transaction = "FINAL"; + log.info ("Final Success Transaction"); + AssertionResult.setFailureMessage("Unexpected SUCCESS notification"); + AssertionResult.setFailure(true); + } else if ( notification == "FAILURE" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 60) { + AssertionResult.setFailureMessage("vCPE Failure POLICYCL Failure, reached maximum number of 10 attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + startnextloop + + false + -1 + + 1 + 1 + true + ${duration} + 10 + + + + + consumerGroup + + + + vdnssuccess + + + false + Global to the thread group + + + + + requestId + + + + ${__UUID()} + + + true + Update on a per iteration basis + + + + true + + + + false + { + "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", + "closedLoopAlarmStart": 1463679805324, + "closedLoopEventClient": "microservice.stringmatcher", + "closedLoopEventStatus": "ONSET", + "requestID": "${requestId}", + "target_type": "VNF", + "target": "vserver.vserver-name", + "AAI": { + "vserver.is-closed-loop-disabled": "false", + "vserver.prov-status": "ACTIVE", + "vserver.vserver-name": "OzVServer" + }, + "from": "DCAE", + "version": "1.0.2" +} + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/DCAE_TOPIC/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); +vars.put("transaction", "none"); + + + + ${__javaScript(${counter} < 60)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/${consumerGroup}/1?timeout=20000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + requestId\\": \\"(.+?)\\" + $1$ + none + + + + + false + notification + notification\\": \\"FINAL: (.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String notification = vars.get("notification"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The notification is " + notification); +log.info ("The transaction is " + transaction); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( notification == "SUCCESS" ) { + transaction = "FINAL"; + log.info ("Final Success Transaction"); + log.info ("The notification is SUCCESS"); + } else if ( notification == "FAILURE" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + AssertionResult.setFailureMessage("Bad final notification"); + AssertionResult.setFailure(true); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 60) { + AssertionResult.setFailureMessage("vDNS Success POLICYCL Failure, reached maximum number of attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + startnextloop + + false + -1 + + 1 + 1 + true + ${duration} + 15 + + + + + consumerGroup + + + + vdnsfailure + + + false + Global to the thread group + + + + + requestId + + + + ${__UUID()} + + + true + Update on a per iteration basis + + + + true + + + + false + { + "closedLoopControlName": "ControlLoop-vDNS-Fail", + "closedLoopAlarmStart": 1463679805324, + "closedLoopEventClient": "microservice.stringmatcher", + "closedLoopEventStatus": "ONSET", + "requestID": "${requestId}", + "target_type": "VNF", + "target": "vserver.vserver-name", + "AAI": { + "vserver.is-closed-loop-disabled": "false", + "vserver.prov-status": "ACTIVE", + "vserver.vserver-name": "AAA" + }, + "from": "DCAE", + "version": "1.0.2" +} + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/DCAE_TOPIC/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); +vars.put("transaction", "none"); + + + + ${__javaScript(${counter} < 60)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/${consumerGroup}/1?timeout=20000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + requestId\\": \\"(.+?)\\" + $1$ + none + + + + + false + notification + notification\\": \\"FINAL: (.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String notification = vars.get("notification"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The notification is " + notification); +log.info ("The transaction is " + transaction); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( notification == "SUCCESS" ) { + transaction = "FINAL"; + log.info ("Final Success Transaction"); + AssertionResult.setFailureMessage("Bad final notification"); + AssertionResult.setFailure(true); + } else if ( notification == "FAILURE" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 60) { + AssertionResult.setFailureMessage("vDNS Failure POLICYCL Failure, reached maximum number of attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + startnextloop + + false + -1 + + 1 + 1 + true + ${duration} + 20 + + + + + consumerGroup + + + + vfwsuccess + + + false + Global to the thread group + + + + + requestId + + + + ${__UUID()} + + + true + Update on a per iteration basis + + + + true + + + + false + { + "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a", + "closedLoopAlarmStart": 1463679805324, + "closedLoopEventClient": "microservice.stringmatcher", + "closedLoopEventStatus": "ONSET", + "requestID": "${requestId}", + "target_type": "VNF", + "target": "generic-vnf.vnf-name", + "AAI": { + "vserver.is-closed-loop-disabled": "false", + "vserver.prov-status": "ACTIVE", + "generic-vnf.vnf-name": "fw0002vm002fw002", + "vserver.vserver-name": "OzVServer" + }, + "from": "DCAE", + "version": "1.0.2" +} + + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/DCAE_TOPIC/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 10)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"RequestID", "value":"${requestId}" }, { "class":"Equals", "field":"Action", "value":"ModifyConfig" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/APPC-CL/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + \\"RequestID\\": \\"(.+?)\\" + $1$ + none + + + + + false + subRequestId + SubRequestID\\": \\"(.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String subRequestId = vars.get("subRequestId"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The subrequest id is " + subRequestId); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( subRequestId == "none" ) { + transaction = "FINAL"; + log.info ("APPC ModifyConfig does not contain enough information"); + AssertionResult.setFailureMessage("Missing subRequestId"); + AssertionResult.setFailure(true); + } else { + transaction = "FINAL"; + vars.put("transaction", "FINAL"); + log.info ("Final Success Transaction"); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 10) { + AssertionResult.setFailureMessage("vFW Success APPCCL Failure, reached maximum number of 10 attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + + + true + + + + false + { + "CommonHeader": { + "TimeStamp": 1506051879001, + "APIver": "1.01", + "RequestID": "${requestId}", + "SubRequestID": "${subRequestId}", + "RequestTrack": [], + "Flags": [] + }, + "Status": { + "Code": 400, + "Value": "SUCCESS" + }, + "Payload": { + "generic-vnf.vnf-id": "f17face5-69cb-4c88-9e0b-7426db7edddd" + } +} + = + + + + ${DROOLS_HOST} + ${DROOLS_PORT} + https + + policy/pdp/engine/topics/sources/dmaap/APPC-CL/events + PUT + false + false + false + false + + + + + + + + + Content-Type + text/plain + + + + + + + groovy + + + true + vars.put("counter", "0"); + + + + ${__javaScript(${counter} < 60)} + + + + + + + true + {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} + = + true + filter + + + + ${DMAAP_HOST} + ${DMAAP_PORT} + https + + events/POLICY-CL-MGT/${consumerGroup}/1?timeout=15000&limit=1 + GET + false + false + false + false + + + + + + + + [] + + + Assertion.response_data + false + 12 + + + + false + requestIdOnset + requestId\\": \\"(.+?)\\" + $1$ + none + + + + + false + notification + notification\\": \\"FINAL: (.+?)\\" + $1$ + none + + + + + groovy + + + true + String requestIdOnset = vars.get("requestIdOnset"); +String requestId = vars.get("requestId"); +String notification = vars.get("notification"); +String counter = vars.get("counter"); + +String transaction = "none"; + +log.info ("The requestId id is " + requestId); +log.info ("The requestIdOnset id is " + requestIdOnset); +log.info ("The notification is " + notification); +log.info ("The transaction is " + transaction); +log.info ("The counter is " + counter); + +if ( requestId == requestIdOnset ) { + if ( notification == "SUCCESS" ) { + transaction = "FINAL"; + log.info ("Final Success Transaction"); + log.info ("The notification is SUCCESS"); + } else if ( notification == "FAILURE" ) { + transaction = "FINAL"; + log.info ("Final Failure Transaction"); + AssertionResult.setFailureMessage("Bad final notification"); + AssertionResult.setFailure(true); + } +} + +int counterTemp = Integer.parseInt(counter) +1; +if (transaction == "FINAL") { + counterTemp = 99; +} else if (counterTemp >= 60) { + AssertionResult.setFailureMessage("vFW Success POLICYCL Failure, reached maximum number of attempts "); + AssertionResult.setFailure(true); +} + +vars.put("counter", Integer.toString(counterTemp)); + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + true + + + + + + + + continue + + false + 1 + + 1 + 1 + false + + + + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies/operational.restart/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies/operational.restart.fail/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies/operational.modifyconfig/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies/operational.scaleout/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${PAP_HOST} + ${PAP_PORT} + https + + policy/pap/v1/pdps/policies/operational.scaleout.fail/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.restart/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.restart.fail/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.modifyconfig/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.scaleout/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + + ${API_HOST} + ${API_PORT} + https + + policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.scaleout.fail/versions/1.0.0 + DELETE + false + false + false + false + + + + + + + + 200 + + + Assertion.response_code + false + 16 + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + + + + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + false + true + false + false + false + true + 0 + true + true + true + true + true + + + + + + + + -- cgit 1.2.3-korg