diff options
author | Jim Hahn <jrh3@att.com> | 2020-04-24 13:46:06 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-05-01 09:32:17 -0400 |
commit | 4f1f7aa8086b81fa37d1e198dcb1e31e68c58f5e (patch) | |
tree | d423d3e9a8b6f8c7fc143463bd1490897e38c127 /testsuites/performance/src/main | |
parent | 67f4023478b3b944024c36db98bfe61e26ea7d49 (diff) |
Update S3P tests for xacml-pdp
Modified jmeter S3P tests per new tosca models. Also added
tests for "default" guard, naming, and optimization policies.
Issue-ID: POLICY-2455
Change-Id: I4607fa0fb5bec1949c6daae6a00948310e1b5531
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'testsuites/performance/src/main')
-rw-r--r-- | testsuites/performance/src/main/resources/testplans/perf.jmx | 1448 | ||||
-rwxr-xr-x | testsuites/performance/src/main/resources/testplans/results.sh | 8 |
2 files changed, 1286 insertions, 170 deletions
diff --git a/testsuites/performance/src/main/resources/testplans/perf.jmx b/testsuites/performance/src/main/resources/testplans/perf.jmx index fba609ae..9c3a294a 100644 --- a/testsuites/performance/src/main/resources/testplans/perf.jmx +++ b/testsuites/performance/src/main/resources/testplans/perf.jmx @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1.1 r1855137"> +<jmeterTestPlan version="1.2" properties="3.1" jmeter="3.1 r1770033"> <hashTree> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy XACML PDP Performance" enabled="true"> <stringProp name="TestPlan.comments">Policy XACML PDP Performance Tests</stringProp> @@ -8,11 +8,6 @@ <boolProp name="TestPlan.serialize_threadgroups">false</boolProp> <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"> - <elementProp name="POLICY_PDPX_HOST" elementType="Argument"> - <stringProp name="Argument.name">POLICY_PDPX_HOST</stringProp> - <stringProp name="Argument.value">${__P(host,10.12.6.106)}</stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> <elementProp name="DURATION" elementType="Argument"> <stringProp name="Argument.name">DURATION</stringProp> <stringProp name="Argument.value">${__P(duration, 3000)}</stringProp> @@ -23,19 +18,34 @@ <stringProp name="Argument.value">${__P(users, 10)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> - <elementProp name="PDP_PORT" elementType="Argument"> - <stringProp name="Argument.name">PDP_PORT</stringProp> - <stringProp name="Argument.value">${__P(port, 30420)}</stringProp> + <elementProp name="API_HOST" elementType="Argument"> + <stringProp name="Argument.name">API_HOST</stringProp> + <stringProp name="Argument.value">${__P(api_ip)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> - <elementProp name="PAP_PORT" elementType="Argument"> - <stringProp name="Argument.name">PAP_PORT</stringProp> - <stringProp name="Argument.value">${__P(port, 30089)}</stringProp> + <elementProp name="PAP_HOST" elementType="Argument"> + <stringProp name="Argument.name">PAP_HOST</stringProp> + <stringProp name="Argument.value">${__P(pap_ip)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="XACML_HOST" elementType="Argument"> + <stringProp name="Argument.name">XACML_HOST</stringProp> + <stringProp name="Argument.value">${__P(xacml_ip)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="API_PORT" elementType="Argument"> <stringProp name="Argument.name">API_PORT</stringProp> - <stringProp name="Argument.value">${__P(port, 32187)}</stringProp> + <stringProp name="Argument.value">${__P(api_port, 6969)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="PAP_PORT" elementType="Argument"> + <stringProp name="Argument.name">PAP_PORT</stringProp> + <stringProp name="Argument.value">${__P(pap_port, 6969)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="XACML_PORT" elementType="Argument"> + <stringProp name="Argument.name">XACML_PORT</stringProp> + <stringProp name="Argument.value">${__P(xacml_port, 6969)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> @@ -67,6 +77,9 @@ <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> + <longProp name="ThreadGroup.start_time">1587406332000</longProp> + <longProp name="ThreadGroup.end_time">1587406332000</longProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </SetupThreadGroup> <hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Monitoring Policy" enabled="true"> @@ -76,61 +89,64 @@ <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">{
 - "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
 - "topology_template": {
 - "policies": [
 - {
 - "onap.scaleout.tca": {
 - "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
 - "version": "1.0.0",
 - "metadata": {
 - "policy-id": "onap.scaleout.tca"
 - },
 - "properties": {
 - "tca_policy": {
 - "domain": "measurementsForVfScaling",
 - "metricsPerEventName": [
 - {
 - "eventName": "vLoadBalancer",
 - "controlLoopSchemaType": "VNF",
 - "policyScope": "type=configuration",
 - "policyName": "onap.scaleout.tca",
 - "policyVersion": "v0.0.1",
 - "thresholds": [
 - {
 - "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 - "closedLoopEventStatus": "ONSET",
 - "version": "1.0.2",
 - "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
 - "thresholdValue": 500,
 - "direction": "LESS_OR_EQUAL",
 - "severity": "MAJOR"
 + "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
 + "topology_template": {
 + "policies": [
 + {
 + "onap.restart.tca": {
 + "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
 + "type_version": "1.0.0",
 + "version": "1.0.0",
 + "metadata": {
 + "policy-id": "onap.restart.tca"
 },
 - {
 - "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 - "closedLoopEventStatus": "ONSET",
 - "version": "1.0.2",
 - "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
 - "thresholdValue": 5000,
 - "direction": "GREATER_OR_EQUAL",
 - "severity": "CRITICAL"
 + "properties": {
 + "tca_policy" : {
 + "domain": "measurementsForVfScaling",
 + "metricsPerEventName": [
 + {
 + "eventName": "Measurement_vGMUX",
 + "controlLoopSchemaType": "VNF",
 + "policyScope": "DCAE",
 + "policyName": "DCAE.Config_tca-hi-lo",
 + "policyVersion": "v0.0.1",
 + "thresholds": [
 + {
 + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
 + "version": "1.0.2",
 + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
 + "thresholdValue": 0,
 + "direction": "EQUAL",
 + "severity": "MAJOR",
 + "closedLoopEventStatus": "ABATED"
 + },
 + {
 + "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
 + "version": "1.0.2",
 + "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
 + "thresholdValue": 0,
 + "direction": "GREATER",
 + "severity": "CRITICAL",
 + "closedLoopEventStatus": "ONSET"
 + }
 + ]
 + }
 + ]
 + }
 }
 - ]
 }
 - ]
 }
 - }
 - }
 - }
 - ]
 - }
 + ]
 + }
 }</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies</stringProp> @@ -139,15 +155,14 @@ <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -155,51 +170,672 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Min/Max Guard Policy" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Optimization Policy" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">{
 - "policy-id" : "guard.minmax.scaleout",
 - "content" : {
 - "actor": "SO",
 - "recipe": "scaleOut",
 - "targets": ".*",
 - "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 - "min": "1",
 - "max": "5",
 - "guardActiveStart": "00:00:01-05:00",
 - "guardActiveEnd": "23:59:59-05:00"
 + "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
 + "topology_template": {
 + "policies": [
 + {
 + "OSDF_CASABLANCA.Affinity_Default": {
 + "type": "onap.policies.optimization.resource.AffinityPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Affinity_Default",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [],
 + "resources": [],
 + "geography": [],
 + "identity": "affinity_vCPE",
 + "applicableResources": "any",
 + "affinityProperties": {
 + "qualifier": "same",
 + "category": "complex"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Affinity_Default_US": {
 + "type": "onap.policies.optimization.resource.AffinityPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Affinity_Default_US",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [],
 + "resources": [],
 + "geography": [
 + "US"
 + ],
 + "identity": "affinity_vCPE",
 + "applicableResources": "any",
 + "affinityProperties": {
 + "qualifier": "same",
 + "category": "complex"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Affinity_Default_vCPE_US_0": {
 + "type": "onap.policies.optimization.resource.AffinityPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Affinity_Default_vCPE_US_0",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [],
 + "geography": [
 + "US"
 + ],
 + "identity": "affinity_vCPE",
 + "applicableResources": "any",
 + "affinityProperties": {
 + "qualifier": "different",
 + "category": "complex"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1": {
 + "type": "onap.policies.optimization.resource.AffinityPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [
 + "gold"
 + ],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vGMuxInfra",
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "affinity_vCPE",
 + "applicableResources": "any",
 + "affinityProperties": {
 + "qualifier": "same",
 + "category": "availabilityZone"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1": {
 + "type": "onap.policies.optimization.resource.AffinityPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Affinity_vCPE_1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [
 + "platinum"
 + ],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vGMuxInfra",
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "affinity_vCPE",
 + "applicableResources": "any",
 + "affinityProperties": {
 + "qualifier": "different",
 + "category": "availabilityZone"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Capacity_vG_1": {
 + "type": "onap.policies.optimization.resource.Vim_fit",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Capacity_vG_1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "capacity_vG",
 + "applicableResources": "any",
 + "capacityProperty": {
 + "controller": "multicloud",
 + "request": "{\"vCPU\": 10, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Capacity_vG_2": {
 + "type": "onap.policies.optimization.resource.Vim_fit",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Capacity_vG_2",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "capacity_vG",
 + "applicableResources": "any",
 + "capacityProperty": {
 + "controller": "multicloud",
 + "request": "{\"vCPU\": 15, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"MB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.Distance_vG_1": {
 + "type": "onap.policies.optimization.resource.DistancePolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.Distance_vG_1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [
 + "platinum"
 + ],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "distance-vG",
 + "applicableResources": "any",
 + "distanceProperties": {
 + "locationInfo": "customer_loc",
 + "distance": {
 + "value": 1500,
 + "operator": "<",
 + "unit": "km"
 + }
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.hpa_policy_Default": {
 + "type": "onap.policies.optimization.resource.HpaPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.hpa_policy_Default",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [],
 + "resources": [],
 + "geography": [],
 + "identity": "hpa-vG",
 + "flavorFeatures": [
 + {
 + "id": "vg_1",
 + "type": "vnfc",
 + "directives": [
 + {
 + "type": "flavor_directives",
 + "attributes": [
 + {
 + "attribute_name": "flavor_label_vm_01",
 + "attribute_value": ""
 + }
 + ]
 + }
 + ],
 + "flavorProperties": [
 + {
 + "hpa-feature": "basicCapabilities",
 + "mandatory": true,
 + "architecture": "generic",
 + "directives": [],
 + "hpa-feature-attributes": [
 + {
 + "hpa-attribute-key": "numVirtualCpu",
 + "hpa-attribute-value": 8,
 + "operator": [
 + ">="
 + ],
 + "unit": ""
 + },
 + {
 + "hpa-attribute-key": "virtualMemSize",
 + "hpa-attribute-value": 6,
 + "operator": [
 + "<="
 + ],
 + "unit": ""
 + }
 + ]
 + },
 + {
 + "hpa-feature": "ovsDpdk",
 + "mandatory": false,
 + "architecture": "generic",
 + "directives": [],
 + "hpa-feature-attributes": [
 + {
 + "hpa-attribute-key": "dataProcessingAccelerationLibrary",
 + "hpa-attribute-value": "ovsDpdk_version",
 + "operator": [
 + "="
 + ],
 + "unit": ""
 + }
 + ]
 + }
 + ]
 + }
 + ]
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.hpa_policy_vG_1": {
 + "type": "onap.policies.optimization.resource.HpaPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.hpa_policy_vG_1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE",
 + "vOtherService"
 + ],
 + "resources": [
 + "vG"
 + ],
 + "geography": [],
 + "identity": "hpa-vG",
 + "flavorFeatures": [
 + {
 + "id": "vg_1",
 + "type": "vnfc",
 + "directives": [
 + {
 + "type": "flavor_directives",
 + "attributes": [
 + {
 + "attribute_name": "flavor_label_vm_01",
 + "attribute_value": ""
 + }
 + ]
 + }
 + ],
 + "flavorProperties": [
 + {
 + "hpa-feature": "basicCapabilities",
 + "mandatory": true,
 + "architecture": "generic",
 + "directives": [],
 + "hpa-feature-attributes": [
 + {
 + "hpa-attribute-key": "numVirtualCpu",
 + "hpa-attribute-value": 6,
 + "operator": [
 + ">="
 + ],
 + "unit": ""
 + },
 + {
 + "hpa-attribute-key": "virtualMemSize",
 + "hpa-attribute-value": 4,
 + "operator": [
 + "<="
 + ],
 + "unit": ""
 + }
 + ]
 + },
 + {
 + "hpa-feature": "ovsDpdk",
 + "mandatory": false,
 + "architecture": "generic",
 + "directives": [],
 + "hpa-feature-attributes": [
 + {
 + "hpa-attribute-key": "dataProcessingAccelerationLibrary",
 + "hpa-attribute-value": "ovsDpdk_version",
 + "operator": [
 + "="
 + ],
 + "unit": ""
 + }
 + ]
 + }
 + ]
 + }
 + ]
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.queryPolicy_vCPE": {
 + "type": "onap.policies.optimization.service.QueryPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.queryPolicy_vCPE",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "vCPE_Query_Policy",
 + "queryProperties": [
 + {
 + "attribute": "locationId",
 + "attribute_location": "customerLocation",
 + "value": ""
 + },
 + {
 + "attribute": "id",
 + "attribute_location": "vpnInfo.vpnId",
 + "value": ""
 + },
 + {
 + "attribute": "upstreamBW",
 + "attribute_location": "vpnInfo.upstreamBW",
 + "value": ""
 + },
 + {
 + "attribute": "customerLatitude",
 + "attribute_location": "customerLatitude",
 + "value": 1.1
 + },
 + {
 + "attribute": "customerLongitude",
 + "attribute_location": "customerLongitude",
 + "value": 2.2
 + }
 + ]
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.SubscriberPolicy_v1": {
 + "type": "onap.policies.optimization.service.SubscriberPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v1",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "identity": "subscriber_vCPE",
 + "subscriberProperties": {
 + "subscriberName": [
 + "subscriber_x",
 + "subscriber_y"
 + ],
 + "subscriberRole": [
 + "platinum"
 + ],
 + "provStatus": [
 + "CAPPED"
 + ]
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.SubscriberPolicy_v2": {
 + "type": "onap.policies.optimization.service.SubscriberPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.SubscriberPolicy_v2",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "identity": "subscriber_vCPE",
 + "subscriberProperties": {
 + "subscriberName": [
 + "subscriber_a",
 + "subscriber_b"
 + ],
 + "subscriberRole": [
 + "gold"
 + ],
 + "provStatus": [
 + "CAPPED"
 + ]
 + }
 + }
 + }
 + },
 + {
 + "OSDF_CASABLANCA.vnfPolicy_vG": {
 + "type": "onap.policies.optimization.resource.VnfPolicy",
 + "version": "1.0.0",
 + "type_version": "1.0.0",
 + "metadata": {
 + "policy-id": "OSDF_CASABLANCA.vnfPolicy_vG",
 + "policy-version": 1
 + },
 + "properties": {
 + "scope": [],
 + "services": [
 + "vCPE"
 + ],
 + "resources": [
 + "vG"
 + ],
 + "geography": [
 + "US",
 + "INTERNATIONAL"
 + ],
 + "identity": "vnf_vG",
 + "applicableResources": "any",
 + "vnfProperties": [
 + {
 + "inventoryProvider": "aai",
 + "serviceType": "",
 + "inventoryType": "cloudRegionId",
 + "customerId": ""
 + }
 + ]
 + }
 + }
 + }
 + ]
 }
 }</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies</stringProp> + <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/1.0.0/policies</stringProp> <stringProp name="HTTPSampler.method">POST</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> + <collectionProp name="AuthManager.auth_list"> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + </collectionProp> + <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> + </AuthManager> + <hashTree/> + <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> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Min/Max Guard Policy" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
 + "topology_template": {
 + "policies": [
 + {
 + "guard.minmax.scaleout": {
 + "type": "onap.policies.controlloop.guard.common.MinMax",
 + "type_version": "1.0.0",
 + "version": "1.0.0",
 + "metadata": {
 + "policy-id": "guard.minmax.scaleout"
 + },
 + "properties": {
 + "actor": "SO",
 + "operation": "VF Module Create",
 + "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 + "target": "e6130d03-56f1-4b0a-9a1d-e1b2ebc30e0e",
 + "min": 1,
 + "max": 2
 + }
 + }
 + }
 + ]
 + }
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.guard.common.MinMax/versions/1.0.0/policies</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -207,8 +843,19 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Frequency Limiter Guard Policy" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> @@ -217,42 +864,54 @@ <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">{
 - "policy-id" : "guard.frequency.scaleout",
 - "content" : {
 + "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
 + "topology_template": {
 + "policies": [
 + {
 + "guard.frequency.scaleout": {
 + "type": "onap.policies.controlloop.guard.common.FrequencyLimiter",
 + "type_version": "1.0.0",
 + "version": "1.0.0",
 + "metadata": {
 + "policy-id": "guard.frequency.scaleout"
 + },
 + "properties": {
 "actor": "SO",
 - "recipe": "scaleOut",
 - "targets": ".*",
 - "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 - "limit": "1",
 - "timeWindow": "10",
 + "operation": "VF Module Create",
 + "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 + "timeWindow": 10,
 "timeUnits": "minute",
 - "guardActiveStart": "00:00:01-05:00",
 - "guardActiveEnd": "23:59:59-05:00"
 - }
 + "limit": 1
 + }
 + }
 + }
 + ]
 + }
 }</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies</stringProp> + <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter/versions/1.0.0/policies</stringProp> <stringProp name="HTTPSampler.method">POST</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -260,8 +919,19 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy Monitoring Policy" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> @@ -269,13 +939,15 @@ <collectionProp name="Arguments.arguments"> <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value">{"policies":[{"policy-id":"onap.scaleout.tca"}]}</stringProp> + <stringProp name="Argument.value">{"policies":[{"policy-id":"onap.restart.tca"}]}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies</stringProp> @@ -284,15 +956,66 @@ <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> + <collectionProp name="AuthManager.auth_list"> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + </collectionProp> + <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> + </AuthManager> + <hashTree/> + <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> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy Optimization Policy" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{"policies":[{"policy-id":"OSDF_CASABLANCA.Affinity_Default"}]}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -300,8 +1023,19 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy Min/Max Policy" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> @@ -314,8 +1048,10 @@ </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies</stringProp> @@ -324,15 +1060,14 @@ <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -340,8 +1075,19 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy Frequency Limiter Policy" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> @@ -354,8 +1100,10 @@ </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies</stringProp> @@ -364,15 +1112,14 @@ <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -380,8 +1127,19 @@ </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <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> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> <boolProp name="ResultCollector.error_logging">false</boolProp> @@ -432,14 +1190,19 @@ <boolProp name="ThreadGroup.scheduler">true</boolProp> <stringProp name="ThreadGroup.duration">${DURATION}</stringProp> <stringProp name="ThreadGroup.delay">1</stringProp> + <longProp name="ThreadGroup.start_time">1587406332000</longProp> + <longProp name="ThreadGroup.end_time">1587406332000</longProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </ThreadGroup> <hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Health" 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">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/healthcheck</stringProp> @@ -448,9 +1211,8 @@ <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="TestPlan.comments">Basic Health Check</stringProp> </HTTPSamplerProxy> <hashTree> @@ -461,7 +1223,7 @@ <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> <stringProp name="Assertion.scope">all</stringProp> </ResponseAssertion> <hashTree/> @@ -487,7 +1249,7 @@ if (prev.getResponseCode() == '200') { <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PDP_PORT}/policy/pdpx/v1</stringProp> + <stringProp name="Authorization.url">https://${XACML_HOST}:${XACML_PORT}/policy/pdpx/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -495,6 +1257,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> @@ -547,14 +1310,19 @@ if (prev.getResponseCode() == '200') { <boolProp name="ThreadGroup.scheduler">true</boolProp> <stringProp name="ThreadGroup.duration">${DURATION}</stringProp> <stringProp name="ThreadGroup.delay">1</stringProp> + <longProp name="ThreadGroup.start_time">1587406332000</longProp> + <longProp name="ThreadGroup.end_time">1587406332000</longProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </ThreadGroup> <hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Statistics" 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">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/statistics</stringProp> @@ -563,9 +1331,8 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="TestPlan.comments">Basic Health Check</stringProp> </HTTPSamplerProxy> <hashTree> @@ -576,7 +1343,7 @@ if (prev.getResponseCode() == '200') { <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> </ResponseAssertion> <hashTree/> <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true"> @@ -602,7 +1369,7 @@ if (prev.getResponseCode() == '200') { <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PDP_PORT}/policy/pdpx/v1</stringProp> + <stringProp name="Authorization.url">https://${XACML_HOST}:${XACML_PORT}/policy/pdpx/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -610,6 +1377,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> @@ -661,6 +1429,9 @@ if (prev.getResponseCode() == '200') { <boolProp name="ThreadGroup.scheduler">true</boolProp> <stringProp name="ThreadGroup.duration">${DURATION}</stringProp> <stringProp name="ThreadGroup.delay">1</stringProp> + <longProp name="ThreadGroup.start_time">1587406332000</longProp> + <longProp name="ThreadGroup.end_time">1587406332000</longProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </ThreadGroup> <hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fetch Monitoring Decisions" enabled="true"> @@ -675,15 +1446,18 @@ if (prev.getResponseCode() == '200') { "ONAPInstance": "622431a4-9dea-4eae-b443-3b2164639c64",
 "action": "configure",
 "resource": {
 - "policy-id": "onap.scaleout.tca"
 + "policy-id": "onap.restart.tca",
 + "policy-type": "onap.policies.monitoring.cdap.tca.hi.lo.app"
 }
 }</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> @@ -692,9 +1466,8 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="TestPlan.comments">Get Configuration Data for Monitoring Policy</stringProp> </HTTPSamplerProxy> <hashTree> @@ -705,7 +1478,28 @@ if (prev.getResponseCode() == '200') { <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> + </ResponseAssertion> + <hashTree/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="3575610">type</stringProp> + <stringProp name="-450004177">metadata</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-926053069">properties</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> @@ -721,15 +1515,18 @@ if (prev.getResponseCode() == '200') { "ONAPInstance": "622431a4-9dea-4eae-b443-3b2164639c64",
 "action": "configure",
 "resource": {
 - "policy-id": "onap.scaleout.tca"
 + "policy-id": "onap.restart.tca",
 + "policy-type": "onap.policies.monitoring.cdap.tca.hi.lo.app"
 }
 }</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision?abbrev=true</stringProp> @@ -738,9 +1535,8 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="TestPlan.comments">Get Configuration Data for Monitoring Policy</stringProp> </HTTPSamplerProxy> <hashTree> @@ -751,7 +1547,7 @@ if (prev.getResponseCode() == '200') { <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> </ResponseAssertion> <hashTree/> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> @@ -760,25 +1556,232 @@ if (prev.getResponseCode() == '200') { <stringProp name="-450004177">metadata</stringProp> </collectionProp> <stringProp name="Assertion.custom_message"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_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/> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> <collectionProp name="Asserion.test_strings"> - <stringProp name="-583173933">type_version</stringProp> <stringProp name="-926053069">properties</stringProp> - <stringProp name="3373707">name</stringProp> - <stringProp name="351608024">version</stringProp> </collectionProp> <stringProp name="Assertion.custom_message"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_message</stringProp> + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> <intProp name="Assertion.test_type">6</intProp> </ResponseAssertion> <hashTree/> </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fetch Naming Decisions" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "ONAPName": "SDNC",
 + "ONAPComponent": "SNDC-component",
 + "ONAPInstance": "SDNC-component-instance",
 + "requestId": "unique-request-sdnc-1",
 + "action": "naming",
 + "resource": {
 + "nfRole": [],
 + "naming-type": [],
 + "property-name": [],
 + "policy-type": ["onap.policies.Naming"]
 + }
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="TestPlan.comments">Get Configuration Data for Naming Policy</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="3575610">type</stringProp> + <stringProp name="-450004177">metadata</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-926053069">properties</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> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fetch Optimization Decisions" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "ONAPName": "OOF",
 + "ONAPComponent": "OOF-component",
 + "ONAPInstance": "OOF-component-instance",
 + "context" : {
 + "subscriberName": []
 + },
 + "action": "optimize",
 + "resource": {
 + "scope": [],
 + "services": [],
 + "resources": [],
 + "geography": []
 + }
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="TestPlan.comments">Get Configuration Data for Optimization Policy</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="3575610">type</stringProp> + <stringProp name="-450004177">metadata</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-926053069">properties</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> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fetch Default Guard Decisions" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "ONAPName": "Guard",
 + "ONAPComponent": "Guard-component",
 + "ONAPInstance": "Guard-component-instance",
 + "requestId": "unique-request-guard-1",
 + "action": "guard",
 + "resource": {
 + "guard": {
 + "actor": "APPC",
 + "operation": "ModifyConfig",
 + "target": "f17face5-69cb-4c88-9e0b-7426db7edddd",
 + "requestId": "c7c6a4aa-bb61-4a15-b831-ba1472dd4a65",
 + "clname": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a"
 + }
 + }
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="TestPlan.comments">Get Default Guard Decisions</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/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-1907855301">Permit</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> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Fetch Frequency Limiter Guard Decisions" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> @@ -794,9 +1797,10 @@ if (prev.getResponseCode() == '200') { "resource": {
 "guard": {
 "actor": "SO",
 - "recipe": "scaleOut",
 + "operation": "scaleOut",
 "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 - "target": "vLoadBalancer-00"
 + "target": "vLoadBalancer-00",
 + "vfCount": "1"
 }
 }
 }
 @@ -807,8 +1811,10 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> @@ -817,10 +1823,9 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="TestPlan.comments">Get Configuration Data for Monitoring Policy</stringProp> + <stringProp name="TestPlan.comments">Get Frequency Limiter Guard Decisions</stringProp> </HTTPSamplerProxy> <hashTree> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> @@ -830,7 +1835,17 @@ if (prev.getResponseCode() == '200') { <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> + </ResponseAssertion> + <hashTree/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-1907855301">Permit</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> @@ -849,7 +1864,7 @@ if (prev.getResponseCode() == '200') { "resource": {
 "guard": {
 "actor": "SO",
 - "recipe": "scaleOut",
 + "operation": "scaleOut",
 "clname": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
 "target": "vLoadBalancer-00",
 "vfCount": "1"
 @@ -860,8 +1875,10 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain">${POLICY_PDPX_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PDP_PORT}</stringProp> + <stringProp name="HTTPSampler.domain">${XACML_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${XACML_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pdpx/v1/decision</stringProp> @@ -870,10 +1887,9 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="TestPlan.comments">Get Configuration Data for Monitoring Policy</stringProp> + <stringProp name="TestPlan.comments">Get Min/Max Guard Decisions</stringProp> </HTTPSamplerProxy> <hashTree> <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> @@ -883,14 +1899,24 @@ if (prev.getResponseCode() == '200') { <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">1</intProp> + <intProp name="Assertion.test_type">8</intProp> + </ResponseAssertion> + <hashTree/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="-1907855301">Permit</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> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PDP_PORT}/policy/pdpx/v1</stringProp> + <stringProp name="Authorization.url">https://${XACML_HOST}:${XACML_PORT}/policy/pdpx/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -898,6 +1924,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> @@ -949,31 +1976,70 @@ if (prev.getResponseCode() == '200') { <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> + <longProp name="ThreadGroup.start_time">1587406332000</longProp> + <longProp name="ThreadGroup.end_time">1587406332000</longProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </PostThreadGroup> <hashTree> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy Monitoring Policy" 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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies/onap.scaleout.tca</stringProp> + <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies/onap.restart.tca</stringProp> <stringProp name="HTTPSampler.method">DELETE</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> + <collectionProp name="AuthManager.auth_list"> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + </collectionProp> + <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> + </AuthManager> + <hashTree/> + </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy Optimization Policy" 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.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies/OSDF_CASABLANCA.Affinity_Default</stringProp> + <stringProp name="HTTPSampler.method">DELETE</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -981,6 +2047,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> @@ -988,8 +2055,10 @@ if (prev.getResponseCode() == '200') { <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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies/guard.minmax.scaleout</stringProp> @@ -998,15 +2067,14 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -1014,6 +2082,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> @@ -1021,8 +2090,10 @@ if (prev.getResponseCode() == '200') { <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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies/guard.frequency.scaleout</stringProp> @@ -1031,15 +2102,14 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> + <stringProp name="Authorization.url">https://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -1047,6 +2117,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> @@ -1054,25 +2125,61 @@ if (prev.getResponseCode() == '200') { <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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.scaleout.tca/versions/1.0.0</stringProp> + <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/1.0.0</stringProp> <stringProp name="HTTPSampler.method">DELETE</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> + <collectionProp name="AuthManager.auth_list"> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + </collectionProp> + <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> + </AuthManager> + <hashTree/> + </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete Optimization Policy" 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">${API_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> <stringProp name="HTTPSampler.connect_timeout"></stringProp> <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/1.0.0/policies/OSDF_CASABLANCA.Affinity_Default/versions/1.0.0</stringProp> + <stringProp name="HTTPSampler.method">DELETE</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -1080,6 +2187,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> @@ -1087,8 +2195,10 @@ if (prev.getResponseCode() == '200') { <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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.guard.MinMax/versions/1.0.0/policies/guard.minmax.scaleout/versions/1.0.0</stringProp> @@ -1097,15 +2207,14 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -1113,6 +2222,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> @@ -1120,8 +2230,10 @@ if (prev.getResponseCode() == '200') { <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">${POLICY_PDPX_HOST}</stringProp> + <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp> <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol">https</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> <stringProp name="HTTPSampler.path">policy/api/v1/policytypes/onap.policies.controlloop.guard.FrequencyLimiter/versions/1.0.0/policies/guard.frequency.scaleout/versions/1.0.0</stringProp> @@ -1130,15 +2242,14 @@ if (prev.getResponseCode() == '200') { <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> </HTTPSamplerProxy> <hashTree> <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> <collectionProp name="AuthManager.auth_list"> <elementProp name="" elementType="Authorization"> - <stringProp name="Authorization.url">https://${POLICY_PDPX_HOST}:${API_PORT}/policy/api/v1</stringProp> + <stringProp name="Authorization.url">https://${API_HOST}:${API_PORT}/policy/api/v1</stringProp> <stringProp name="Authorization.username">healthcheck</stringProp> <stringProp name="Authorization.password">zb!XztG34</stringProp> <stringProp name="Authorization.domain"></stringProp> @@ -1146,6 +2257,7 @@ if (prev.getResponseCode() == '200') { </elementProp> </collectionProp> <boolProp name="AuthManager.clearEachIteration">true</boolProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> </AuthManager> <hashTree/> </hashTree> diff --git a/testsuites/performance/src/main/resources/testplans/results.sh b/testsuites/performance/src/main/resources/testplans/results.sh index 3e74bb4e..2cbb589f 100755 --- a/testsuites/performance/src/main/resources/testplans/results.sh +++ b/testsuites/performance/src/main/resources/testplans/results.sh @@ -26,9 +26,13 @@ if [[ ! -f $LOGFILE ]]; then fi echo "File being processed: " $LOGFILE +MS=$(awk -F "," 'NR==2 { tbeg = $1 } + NR>1 { tend = $1 } + END { print tend-tbeg }' $LOGFILE) RES=$(awk -F "," 'NR>1 { total += $15 } END { print total/NR }' $LOGFILE) -echo "Average Latency: " $RES +echo "Average Latency (ms): " $RES LC=$(awk 'END{print NR}' $LOGFILE) echo "Total Requests:" $LC -echo "Requests/sec:" $((LC/5)) +MPS=$(echo $LC $MS | awk '{ print 1000*$1/$2 }') +echo "Measured requests/sec:" $MPS |