false true false API_HOST localhost = API_PORT 30002 = http://${API_HOST}:${API_PORT}/ policyadmin zb!XztG34 true false Accept application/json Content-Type application/json continue false 1 1 1 false true ${API_HOST} ${API_PORT} http /policy/api/v1/healthcheck GET true false true false 200 Assertion.response_code false 1 true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.code == 200; assert res.name == "Policy API"; assert res.healthy==true; assert res.message=="alive"; } groovy ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 37; assert res.data_types instanceof Map; } continue false -1 5 5 true 259200 5 true true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Monitoring": { "derived_from": "tosca.policies.Root", "version": "6.0.0", "description": "a base policy type for all policies that govern monitoring provisioning" }, "onap.policies.monitoring.cdap.tca.hi.lo.app": { "derived_from": "onap.policies.Monitoring", "version": "6.0.${__threadNum}", "properties": { "tca_policy": { "type": "onap.datatypes.monitoring.tca_policy", "description": "TCA Policy JSON", "required": true } } } }, "data_types": { "onap.datatypes.monitoring.metricsPerEventName": { "derived_from": "tosca.datatypes.Root", "properties": { "controlLoopSchemaType": { "type": "string", "required": true, "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", "constraints": [ { "valid_values": [ "VM", "VNF" ] } ] }, "eventName": { "type": "string", "required": true, "description": "Event name to which thresholds need to be applied" }, "policyName": { "type": "string", "required": true, "description": "TCA Policy Scope Name" }, "policyScope": { "type": "string", "required": true, "description": "TCA Policy Scope" }, "policyVersion": { "type": "string", "required": true, "description": "TCA Policy Scope Version" }, "thresholds": { "type": "list", "required": true, "description": "Thresholds associated with eventName", "entry_schema": { "type": "onap.datatypes.monitoring.thresholds" } } } }, "onap.datatypes.monitoring.tca_policy": { "derived_from": "tosca.datatypes.Root", "properties": { "domain": { "type": "string", "required": true, "description": "Domain name to which TCA needs to be applied", "default": "measurementsForVfScaling", "constraints": [ { "equal": "measurementsForVfScaling" } ] }, "metricsPerEventName": { "type": "list", "required": true, "description": "Contains eventName and threshold details that need to be applied to given eventName", "entry_schema": { "type": "onap.datatypes.monitoring.metricsPerEventName" } } } }, "onap.datatypes.monitoring.thresholds": { "derived_from": "tosca.datatypes.Root", "properties": { "closedLoopControlName": { "type": "string", "required": true, "description": "Closed Loop Control Name associated with the threshold" }, "closedLoopEventStatus": { "type": "string", "required": true, "description": "Closed Loop Event Status of the threshold", "constraints": [ { "valid_values": [ "ONSET", "ABATED" ] } ] }, "direction": { "type": "string", "required": true, "description": "Direction of the threshold", "constraints": [ { "valid_values": [ "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL", "EQUAL" ] } ] }, "fieldPath": { "type": "string", "required": true, "description": "Json field Path as per CEF message which needs to be analyzed for TCA", "constraints": [ { "valid_values": [ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", "$.event.measurementsForVfScalingFields.meanRequestLatency", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" ] } ] }, "severity": { "type": "string", "required": true, "description": "Threshold Event Severity", "constraints": [ { "valid_values": [ "CRITICAL", "MAJOR", "MINOR", "WARNING", "NORMAL" ] } ] }, "thresholdValue": { "type": "integer", "required": true, "description": "Threshold value for the field Path inside CEF message" }, "version": { "type": "string", "required": true, "description": "Version number associated with the threshold" } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.values()[0] instanceof Map; assert res.policy_types.values()[1] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Monitoring": { "derived_from": "tosca.policies.Root", "version": "1.0.0", "description": "a base policy type for all policies that govern monitoring provisioning" }, "onap.policies.monitoring.cdap.tca.hi.lo.app": { "derived_from": "onap.policies.Monitoring", "version": "7.0.${__threadNum}", "properties": { "tca_policy": { "type": "onap.datatypes.monitoring.tca_policy", "description": "TCA Policy JSON", "required": true } } } }, "data_types": { "onap.datatypes.monitoring.metricsPerEventName": { "derived_from": "tosca.datatypes.Root", "properties": { "controlLoopSchemaType": { "type": "string", "required": true, "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", "constraints": [ { "valid_values": [ "VM", "VNF" ] } ] }, "eventName": { "type": "string", "required": true, "description": "Event name to which thresholds need to be applied" }, "policyName": { "type": "string", "required": true, "description": "TCA Policy Scope Name" }, "policyScope": { "type": "string", "required": true, "description": "TCA Policy Scope" }, "policyVersion": { "type": "string", "required": true, "description": "TCA Policy Scope Version" }, "thresholds": { "type": "list", "required": true, "description": "Thresholds associated with eventName", "entry_schema": { "type": "onap.datatypes.monitoring.thresholds" } } } }, "onap.datatypes.monitoring.tca_policy": { "derived_from": "tosca.datatypes.Root", "properties": { "domain": { "type": "string", "required": true, "description": "Domain name to which TCA needs to be applied", "default": "measurementsForVfScaling", "constraints": [ { "equal": "measurementsForVfScaling" } ] }, "metricsPerEventName": { "type": "list", "required": true, "description": "Contains eventName and threshold details that need to be applied to given eventName", "entry_schema": { "type": "onap.datatypes.monitoring.metricsPerEventName" } } } }, "onap.datatypes.monitoring.thresholds": { "derived_from": "tosca.datatypes.Root", "properties": { "closedLoopControlName": { "type": "string", "required": true, "description": "Closed Loop Control Name associated with the threshold" }, "closedLoopEventStatus": { "type": "string", "required": true, "description": "Closed Loop Event Status of the threshold", "constraints": [ { "valid_values": [ "ONSET", "ABATED" ] } ] }, "direction": { "type": "string", "required": true, "description": "Direction of the threshold", "constraints": [ { "valid_values": [ "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL", "EQUAL" ] } ] }, "fieldPath": { "type": "string", "required": true, "description": "Json field Path as per CEF message which needs to be analyzed for TCA", "constraints": [ { "valid_values": [ "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", "$.event.measurementsForVfScalingFields.meanRequestLatency", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" ] } ] }, "severity": { "type": "string", "required": true, "description": "Threshold Event Severity", "constraints": [ { "valid_values": [ "CRITICAL", "MAJOR", "MINOR", "WARNING", "NORMAL" ] } ] }, "thresholdValue": { "type": "integer", "required": true, "description": "Threshold value for the field Path inside CEF message" }, "version": { "type": "string", "required": true, "description": "Version number associated with the threshold" } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.values()[0] instanceof Map; assert res.policy_types.values()[1] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.optimization.resource.AffinityPolicy": { "derived_from": "onap.policies.optimization.Resource", "version": "6.0.${__threadNum}", "properties": { "applicableResources": { "type": "list", "required": true, "entry_schema": { "type": "string", "constraints": [ { "valid_values": [ "any", "all" ] } ] } }, "affinityProperties": { "type": "policy.data.affinityProperties_properties", "required": true } } } }, "data_types": { "policy.data.affinityProperties_properties": { "derived_from": "tosca.nodes.Root", "properties": { "qualifier": { "type": "string", "constraints": [ { "valid_values": [ "same", "different" ] } ] }, "category": { "type": "string", "required": true } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 1; assert res.policy_types.values()[0] instanceof Map; // assert res.policy_types.values()[1] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.controlloop.guard.common.Blacklist": { "derived_from": "onap.policies.controlloop.guard.Common", "type_version": "1.0.0", "version": "6.0.${__threadNum}", "description": "Supports blacklist of entity id's from performing control loop actions on.", "properties": { "blacklist": { "type": "list", "description": "List of entity id's not allowed to have control loop operations on.", "required": true, "entry_schema": { "type": "string" } } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 1; assert res.policy_types.values()[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Native": { "derived_from": "tosca.policies.Root", "description": "a base policy type for all native PDP policies", "version": "1.0.0" }, "onap.policies.native.Apex": { "derived_from": "onap.policies.Native", "description": "a policy type for native apex policies", "version": "6.0.${__threadNum}", "properties": { "engine_service": { "type": "onap.datatypes.native.apex.EngineService", "description": "APEX Engine Service Parameters" }, "inputs": { "type": "map", "description": "Inputs for handling events coming into the APEX engine", "entry_schema": { "type": "onap.datatypes.native.apex.EventHandler" } }, "outputs": { "type": "map", "description": "Outputs for handling events going out of the APEX engine", "entry_schema": { "type": "onap.datatypes.native.apex.EventHandler" } }, "environment": { "type": "list", "description": "Envioronmental parameters for the APEX engine", "entry_schema": { "type": "onap.datatypes.native.apex.Environment" } } } } }, "data_types": { "onap.datatypes.native.apex.EngineService": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { "type": "string", "description": "Specifies the engine name", "required": false, "default": "ApexEngineService" }, "version": { "type": "string", "description": "Specifies the engine version in double dotted format", "required": false, "default": "1.0.0" }, "id": { "type": "integer", "description": "Specifies the engine id", "required": true }, "instance_count": { "type": "integer", "description": "Specifies the number of engine threads that should be run", "required": true }, "deployment_port": { "type": "integer", "description": "Specifies the port to connect to for engine administration", "required": false, "default": 1 }, "policy_model_file_name": { "type": "string", "description": "The name of the file from which to read the APEX policy model", "required": false }, "policy_type_impl": { "type": "string", "description": "The policy type implementation from which to read the APEX policy model", "required": false }, "periodic_event_period": { "type": "string", "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan", "required": false }, "engine": { "type": "onap.datatypes.native.apex.engineservice.Engine", "description": "The parameters for all engines in the APEX engine service", "required": true } } }, "onap.datatypes.native.apex.EventHandler": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { "type": "string", "description": "Specifies the event handler name, if not specified this is set to the key name", "required": false }, "carrier_technology": { "type": "onap.datatypes.native.apex.CarrierTechnology", "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)", "required": true }, "event_protocol": { "type": "onap.datatypes.native.apex.EventProtocol", "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)", "required": true }, "event_name": { "type": "string", "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent", "required": false }, "event_name_filter": { "type": "string", "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through", "required": false }, "synchronous_mode": { "type": "boolean", "description": "Specifies the event handler is syncronous (receive event and send response)", "required": false, "default": false }, "synchronous_peer": { "type": "string", "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode", "required": false }, "synchronous_timeout": { "type": "integer", "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode", "required": false }, "requestor_mode": { "type": "boolean", "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)", "required": false, "default": false }, "requestor_peer": { "type": "string", "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode", "required": false }, "requestor_timeout": { "type": "integer", "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode", "required": false } } }, "onap.datatypes.native.apex.CarrierTechnology": { "derived_from": "tosca.datatypes.Root", "properties": { "label": { "type": "string", "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)", "required": true }, "plugin_parameter_class_name": { "type": "string", "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class", "required": false } } }, "onap.datatypes.native.apex.EventProtocol": { "derived_from": "tosca.datatypes.Root", "properties": { "label": { "type": "string", "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)", "required": true }, "event_protocol_plugin_class": { "type": "string", "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class", "required": false } } }, "onap.datatypes.native.apex.Environment": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { "type": "string", "description": "The name of the environment variable", "required": true }, "value": { "type": "string", "description": "The value of the environment variable", "required": true } } }, "onap.datatypes.native.apex.engineservice.Engine": { "derived_from": "tosca.datatypes.Root", "properties": { "context": { "type": "onap.datatypes.native.apex.engineservice.engine.Context", "description": "The properties for handling context in APEX engines, defaults to using Java maps for context", "required": false }, "executors": { "type": "map", "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython", "required": true, "entry_schema": { "description": "The plugin class path for this policy executor", "type": "string" } } } }, "onap.datatypes.native.apex.engineservice.engine.Context": { "derived_from": "tosca.datatypes.Root", "properties": { "distributor": { "type": "onap.datatypes.native.apex.Plugin", "description": "The plugin to be used for distributing context between APEX PDPs at runtime", "required": false }, "schemas": { "type": "map", "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro", "required": false, "entry_schema": { "type": "onap.datatypes.native.apex.Plugin" } }, "locking": { "type": "onap.datatypes.native.apex.Plugin", "description": "The plugin to be used for locking context in and between APEX PDPs at runtime", "required": false }, "persistence": { "type": "onap.datatypes.native.apex.Plugin", "description": "The plugin to be used for persisting context for APEX PDPs at runtime", "required": false } } }, "onap.datatypes.native.apex.Plugin": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { "type": "string", "description": "The name of the executor such as Javascript, Jython or MVEL", "required": true }, "plugin_class_name": { "type": "string", "description": "The class path of the plugin class for this executor" } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.values()[0] instanceof Map; assert res.policy_types.values()[1] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Native": { "derived_from": "tosca.policies.Root", "description": "a base policy type for all native PDP policies", "version": "1.0.0" }, "onap.policies.native.Drools": { "derived_from": "onap.policies.Native", "description": "a base policy type for all native PDP policies", "version": "1.0.0" }, "onap.policies.native.drools.Controller": { "derived_from": "onap.policies.native.Drools", "description": "a policy type for a drools controller configuration", "version": "6.0.${__threadNum}", "properties": { "controllerName": { "type": "string", "required": true, "description": "the drools controller name" }, "sourceTopics": { "type": "list", "required": false, "description": "source topics and applicable events", "entry_schema": { "type": "onap.datatypes.dmaap.topic" } }, "sinkTopics": { "type": "list", "required": false, "description": "sink topics and applicable events", "entry_schema": { "type": "onap.datatypes.dmaap.topic" } }, "customConfig": { "type": "map", "required": false, "description": "any use case specific configurations relevant to the drools controller", "entry_schema": { "type": "string" } } } }, "onap.policies.native.drools.Artifact": { "derived_from": "onap.policies.native.Drools", "description": "a policy type for native drools artifact policies", "version": "6.0.${__threadNum}", "properties": { "rulesArtifact": { "type": "onap.datatypes.native.rules_artifact", "required": true, "description": "the GAV information of the maven artifact" }, "controller": { "type": "onap.datatypes.drools.controller.relation", "required": true, "description": "the drools controller to which the current native policy is assigned" } } } }, "data_types": { "onap.datatypes.dmaap.topic": { "derived_from": "tosca.datatypes.Root", "properties": { "topicName": { "type": "string", "required": true, "description": "the dmaap topic name" }, "events": { "type": "list", "required": true, "description": "events used by this topic", "entry_schema": { "type": "onap.datatypes.dmaap.events" } } } }, "onap.datatypes.dmaap.events": { "derived_from": "tosca.datatypes.Root", "properties": { "eventClass": { "type": "string", "required": true, "description": "the event canonical class for serialization" }, "eventFilter": { "type": "string", "required": false, "description": "the JSONPath based condition to filter out the events to serialize" }, "customSerialization": { "type": "onap.datatypes.dmaap.custom_serialization", "required": false, "description": "overrides the default serialization/deserialization mechanisms with custom ones" } } }, "onap.datatypes.dmaap.custom_serialization": { "derived_from": "tosca.datatypes.Root", "properties": { "customSerializerClass": { "type": "string", "required": true, "description": "the class that contains the JSON parser serializer/deserializer." }, "jsonParser": { "type": "string", "required": true, "description": "static field in customSerialized class with the json parser (currently only gson supported)" } } }, "onap.datatypes.native.rules_artifact": { "derived_from": "tosca.datatypes.Root", "properties": { "groupId": { "type": "string", "required": true, "description": "the groupId of the maven artifact" }, "artifactId": { "type": "string", "required": true, "description": "the artifactId of the maven artifact" }, "version": { "type": "string", "required": true, "description": "the version of the maven artifact" } } }, "onap.datatypes.drools.controller.relation": { "derived_from": "tosca.datatypes.Root", "properties": { "name": { "type": "string", "required": true, "description": "the name of drools controller policy" } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 4; assert res.policy_types.values()[0] instanceof Map; assert res.policy_types.values()[1] instanceof Map; assert res.policy_types.values()[2] instanceof Map; assert res.policy_types.values()[3] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "policy_types": { "onap.policies.Native": { "derived_from": "tosca.policies.Root", "description": "a base policy type for all native PDP policies", "version": "1.0.0" }, "onap.policies.native.Xacml": { "derived_from": "onap.policies.Native", "description": "a policy type for native xacml policies", "version": "6.0.${__threadNum}", "properties": { "policy": { "type": "string", "required": true, "description": "The XML XACML 3.0 PolicySet or Policy", "metadata": { "encoding": "Base64" } } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.values()[0] instanceof Map; assert res.policy_types.values()[1] instanceof Map; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 38; def n = 33; for (i=0; i<n; i++) { assert res.policy_types.values()[i] instanceof Map; } } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app GET true false true false This is not working in Frankfurt and hence disabled. 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() > 0 && res.policy_types.size() < 10; for (i=0; i<res.policy_types.size(); i++) { assert res.policy_types.values()[i] instanceof Map; } } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.get('onap.policies.monitoring.cdap.tca.hi.lo.app') instanceof Map; assert res.policy_types.get('onap.policies.monitoring.cdap.tca.hi.lo.app').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 3; assert res.policy_types.get('onap.policies.optimization.resource.AffinityPolicy') instanceof Map; assert res.policy_types.get('onap.policies.optimization.resource.AffinityPolicy').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.controlloop.guard.common.Blacklist/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.get('onap.policies.controlloop.guard.common.Blacklist') instanceof Map; assert res.policy_types.get('onap.policies.controlloop.guard.common.Blacklist').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Apex/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.get('onap.policies.native.Apex') instanceof Map; assert res.policy_types.get('onap.policies.native.Apex').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.drools.Controller/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 3; assert res.policy_types.get('onap.policies.native.drools.Controller') instanceof Map; assert res.policy_types.get('onap.policies.native.drools.Controller').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Xacml/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 2; assert res.policy_types.get('onap.policies.native.Xacml') instanceof Map; assert res.policy_types.get('onap.policies.native.Xacml').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/latest GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() > 0 && res.policy_types.size() < 10; assert res.policy_types.get('onap.policies.monitoring.cdap.tca.hi.lo.app') instanceof Map; assert res.policy_types.get('onap.policies.monitoring.cdap.tca.hi.lo.app').version ==~ /7.0.\d+/; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "node_types": { "org.onap.nodetypes.policy.MetadataSet": { "derived_from": "tosca.nodetypes.Root", "version": "6.0.${__threadNum}" } }, "topology_template": { "node_templates": { "apex.metadata.pnf": { "version": "6.0.${__threadNum}", "type": "org.onap.nodetypes.policy.MetadataSet", "type_version": "6.0.${__threadNum}", "description": "Metadata set for apex pnf Policy", "metadata": { "apexPolicyModel": { "key": { "name": "onap.policies.apex.Simplecontrolloop", "version": "0.0.1" }, "keyInformation": { "key": { "name": "onap.policies.apex.Simplecontrolloop_KeyInfo", "version": "0.0.1" }, "keyInfoMap": { "entry": [ { "key": { "name": "SimpleBooleanType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleBooleanType", "version": "0.0.1" }, "UUID": "7218fb2f-59e3-321d-9ae1-bc97b19eb4ae", "description": "Generated description for concept referred to by key \"SimpleBooleanType:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAIFailureResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIFailureResponseEvent", "version": "0.0.1" }, "UUID": "c8a29e27-0a15-354a-84f9-4c7f207e5c81", "description": "Generated description for concept referred to by key \"SimpleCL_AAIFailureResponseEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAIFailureResponseHandlerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIFailureResponseHandlerPolicy", "version": "0.0.1" }, "UUID": "5e843cee-0180-39b9-8989-180b2ffe11c0", "description": "Generated description for concept referred to by key \"SimpleCL_AAIFailureResponseHandlerPolicy:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "UUID": "90291c92-9b27-3cd9-8720-db572419c048", "description": "Generated description for concept referred to by key \"SimpleCL_AAIRequestErrorType:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAIRequestEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIRequestEvent", "version": "0.0.1" }, "UUID": "7b7e6751-4e0b-389d-98c0-5567bbc0294c", "description": "Generated description for concept referred to by key \"SimpleCL_AAIRequestEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAISuccessResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAISuccessResponseEvent", "version": "0.0.1" }, "UUID": "63d5680c-14ef-3505-8d34-ebb646bba07b", "description": "Generated description for concept referred to by key \"SimpleCL_AAISuccessResponseEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_AAISuccessResponseHandlerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAISuccessResponseHandlerPolicy", "version": "0.0.1" }, "UUID": "a84ca97d-6e94-39a2-91f9-59a6c9aa435e", "description": "Generated description for concept referred to by key \"SimpleCL_AAISuccessResponseHandlerPolicy:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "UUID": "0e2ee622-7fd3-3e49-82e2-539c4f5e9624", "description": "Generated description for concept referred to by key \"SimpleCL_CDSActionIdentifiersType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseEvent", "version": "0.0.1" }, "UUID": "e84f8682-ea33-3ad0-8626-8bc4634581fc", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "version": "0.0.1" }, "UUID": "a252f835-2479-38ef-9ef4-20af62725752", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "UUID": "cfc46ea9-b8c1-38dd-ac9c-304c916daf34", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyFailureResponseTask:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyRequestEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyRequestEvent", "version": "0.0.1" }, "UUID": "1e7095d6-a455-3f89-acae-486e35d7e311", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyRequestEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "UUID": "d22ea83b-695d-3da9-b9f5-41f16ca433bf", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyRequestPayloadType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "UUID": "e9fe2e40-1f0d-30dd-8b9e-885695878693", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifyResponsePayloadType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseEvent", "version": "0.0.1" }, "UUID": "5e04fa76-0a17-38a9-8524-23b2d1a23fa5", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "version": "0.0.1" }, "UUID": "15866380-40f5-3f8e-87d9-13747a36d352", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "UUID": "2c3d76ce-dd42-32ac-a397-ab418534e1cf", "description": "Generated description for concept referred to by key \"SimpleCL_CDSConfigModifySuccessResponseTask:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "UUID": "b99c44da-dae7-3c96-b528-58852537d063", "description": "Generated description for concept referred to by key \"SimpleCL_CDSFailureResponseCommonHeaderType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "UUID": "1db688e2-3afe-3b03-9795-fdbfa80fa240", "description": "Generated description for concept referred to by key \"SimpleCL_CDSFailureResponseStatusType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "UUID": "31022456-e85b-3a9b-9ecb-a09691792d3e", "description": "Generated description for concept referred to by key \"SimpleCL_CDSRequestCommonHeaderType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "UUID": "d6075720-622e-3a0d-827a-aa4580a2f5d7", "description": "Generated description for concept referred to by key \"SimpleCL_CDSSuccessResponseCommonHeaderType:0.0.1\"" } }, { "key": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "UUID": "948359ff-3308-3ac5-a5ec-6e3c1b9cd4d5", "description": "Generated description for concept referred to by key \"SimpleCL_CDSSuccessResponseStatusType:0.0.1\"" } }, { "key": { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" }, "UUID": "63a6fd26-2fd6-3a0e-8a27-49a5d2ea4644", "description": "Generated description for concept referred to by key \"SimpleCL_EventDetailsAlbum:0.0.1\"" } }, { "key": { "name": "SimpleCL_EventDetailsAlbumType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_EventDetailsAlbumType", "version": "0.0.1" }, "UUID": "a0407d0b-5719-38bf-9529-25ad62ace8c4", "description": "Generated description for concept referred to by key \"SimpleCL_EventDetailsAlbumType:0.0.1\"" } }, { "key": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "UUID": "28e894dc-4ab8-3469-aab7-d81bd05bb4c9", "description": "Generated description for concept referred to by key \"SimpleCL_HandleAAIFailureResponseTask:0.0.1\"" } }, { "key": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "UUID": "073f1433-999e-3506-98ad-ef820d2fa7f0", "description": "Generated description for concept referred to by key \"SimpleCL_HandleAAISuccessResponseTask:0.0.1\"" } }, { "key": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "UUID": "afc6ed46-6801-3c85-bb4c-0ab5b0dd4a74", "description": "Generated description for concept referred to by key \"SimpleCL_HandleVesEventTask:0.0.1\"" } }, { "key": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "UUID": "98e1ddd7-3bd9-30c1-b877-4b9b4d3bff15", "description": "Generated description for concept referred to by key \"SimpleCL_LogStatusEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_VesEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_VesEvent", "version": "0.0.1" }, "UUID": "0f57665a-f0a9-314e-ad0a-04c1f5758174", "description": "Generated description for concept referred to by key \"SimpleCL_VesEvent:0.0.1\"" } }, { "key": { "name": "SimpleCL_VesEventHandlerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_VesEventHandlerPolicy", "version": "0.0.1" }, "UUID": "ba5d9a46-8cb4-3fbe-84fd-eabba5b7dd4b", "description": "Generated description for concept referred to by key \"SimpleCL_VesEventHandlerPolicy:0.0.1\"" } }, { "key": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "UUID": "9fd7a967-57d4-36ef-81e9-c3396f3aa8d1", "description": "Generated description for concept referred to by key \"SimpleCL_VesEventType:0.0.1\"" } }, { "key": { "name": "SimpleLongType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleLongType", "version": "0.0.1" }, "UUID": "2dfcd9ec-a6f9-3f9f-958f-9b36cf4ac574", "description": "Generated description for concept referred to by key \"SimpleLongType:0.0.1\"" } }, { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af", "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop", "version": "0.0.1" }, "UUID": "ecc97b87-f30b-344c-a476-d36501bf5cbd", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_Albums", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Albums", "version": "0.0.1" }, "UUID": "1469671a-56dd-3a68-bf6c-77a5cf7a9487", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_Albums:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_Events", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Events", "version": "0.0.1" }, "UUID": "23c4eee4-aba5-36f6-96d6-46f40061bfed", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_Events:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_KeyInfo", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_KeyInfo", "version": "0.0.1" }, "UUID": "ea9e73ff-483c-3827-896c-6eaa9d69bc6e", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_KeyInfo:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_Policies", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Policies", "version": "0.0.1" }, "UUID": "38c068e5-bb9a-3997-9e50-ec77c66825c8", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_Policies:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_Schemas", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Schemas", "version": "0.0.1" }, "UUID": "38514b27-8b9b-3d06-844a-3aced27deb0a", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_Schemas:0.0.1\"" } }, { "key": { "name": "onap.policies.apex.Simplecontrolloop_Tasks", "version": "0.0.1" }, "value": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Tasks", "version": "0.0.1" }, "UUID": "0e0387b5-07fa-30e4-8554-eb51d2e18939", "description": "Generated description for concept referred to by key \"onap.policies.apex.Simplecontrolloop_Tasks:0.0.1\"" } } ] } }, "policies": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Policies", "version": "0.0.1" }, "policyMap": { "entry": [ { "key": { "name": "SimpleCL_AAIFailureResponseHandlerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "SimpleCL_AAIFailureResponseHandlerPolicy", "version": "0.0.1" }, "template": "Freestyle", "state": { "entry": [ { "key": "SimpleCL_ReceiveAAIFailureResponseState", "value": { "stateKey": { "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "SimpleCL_ReceiveAAIFailureResponseState" }, "trigger": { "name": "SimpleCL_AAIFailureResponseEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "AAIFailureStateOutput", "value": { "key": { "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState", "localName": "AAIFailureStateOutput" }, "outgoingEvent": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState", "localName": "SimpleCL_AAIFailureResponseHandlerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "SimpleCL_AAIFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAIFailureResponseState", "localName": "AAIFailureStateOutput" } } } ] } } } ] }, "firstState": "SimpleCL_ReceiveAAIFailureResponseState" } }, { "key": { "name": "SimpleCL_AAISuccessResponseHandlerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "SimpleCL_AAISuccessResponseHandlerPolicy", "version": "0.0.1" }, "template": "Freestyle", "state": { "entry": [ { "key": "SimpleCL_ReceiveAAISuccessResponseState", "value": { "stateKey": { "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "SimpleCL_ReceiveAAISuccessResponseState" }, "trigger": { "name": "SimpleCL_AAISuccessResponseEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "AAISuccessStateOutput", "value": { "key": { "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState", "localName": "AAISuccessStateOutput" }, "outgoingEvent": { "name": "SimpleCL_CDSConfigModifyRequestEvent", "version": "0.0.1" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState", "localName": "SimpleCL_AAISuccessResponseHandlerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "SimpleCL_AAISuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveAAISuccessResponseState", "localName": "AAISuccessStateOutput" } } } ] } } } ] }, "firstState": "SimpleCL_ReceiveAAISuccessResponseState" } }, { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "version": "0.0.1" }, "template": "Freestyle", "state": { "entry": [ { "key": "SimpleCL_CDSConfigModifyFailureResponseState", "value": { "stateKey": { "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "SimpleCL_CDSConfigModifyFailureResponseState" }, "trigger": { "name": "SimpleCL_CDSConfigModifyFailureResponseEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "ConfigModifyFailureResponseOutput", "value": { "key": { "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState", "localName": "ConfigModifyFailureResponseOutput" }, "outgoingEvent": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState", "localName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "SimpleCL_CDSConfigModifyFailureResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifyFailureResponseState", "localName": "ConfigModifyFailureResponseOutput" } } } ] } } } ] }, "firstState": "SimpleCL_CDSConfigModifyFailureResponseState" } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "version": "0.0.1" }, "template": "Freestyle", "state": { "entry": [ { "key": "SimpleCL_CDSConfigModifySuccessResponseState", "value": { "stateKey": { "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "SimpleCL_CDSConfigModifySuccessResponseState" }, "trigger": { "name": "SimpleCL_CDSConfigModifySuccessResponseEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "ConfigModifySuccessResponseOutput", "value": { "key": { "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState", "localName": "ConfigModifySuccessResponseOutput" }, "outgoingEvent": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState", "localName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "SimpleCL_CDSConfigModifySuccessResponseHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_CDSConfigModifySuccessResponseState", "localName": "ConfigModifySuccessResponseOutput" } } } ] } } } ] }, "firstState": "SimpleCL_CDSConfigModifySuccessResponseState" } }, { "key": { "name": "SimpleCL_VesEventHandlerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "SimpleCL_VesEventHandlerPolicy", "version": "0.0.1" }, "template": "Freestyle", "state": { "entry": [ { "key": "SimpleCL_ReceiveVesState", "value": { "stateKey": { "parentKeyName": "SimpleCL_VesEventHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "SimpleCL_ReceiveVesState" }, "trigger": { "name": "SimpleCL_VesEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "VesOutput", "value": { "key": { "parentKeyName": "SimpleCL_VesEventHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveVesState", "localName": "VesOutput" }, "outgoingEvent": { "name": "SimpleCL_AAIRequestEvent", "version": "0.0.1" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "SimpleCL_VesEventHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveVesState", "localName": "SimpleCL_VesEventHandlerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "SimpleCL_VesEventHandlerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "SimpleCL_ReceiveVesState", "localName": "VesOutput" } } } ] } } } ] }, "firstState": "SimpleCL_ReceiveVesState" } } ] } }, "tasks": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Tasks", "version": "0.0.1" }, "taskMap": { "entry": [ { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseTask", "version": "0.0.1" }, "inputFields": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "optional": false } }, { "key": "status", "value": { "key": "status", "fieldSchemaKey": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "optional": false } } ] }, "outputFields": { "entry": [ { "key": "message", "value": { "key": "message", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar cdsResponse = executor.inFields;\nvar albumID = cdsResponse.get(\"commonHeader\").get(\"subRequestId\");\n\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\nvar timestamp = longType(new Date().getTime())\nvar errorMessage = \"CDS operation failed. Error message from CDS - \" + executor.inFields.get(\"status\").get(\"errorMessage\");\nsend(commonEventHeader.get(\"eventId\"), \"PNF\", eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\").get(\"pnfName\"), timestamp, \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + errorMessage);\ntrue;\n\nfunction send(id, targetType, targetId, timestamp, status, message) {\n var logData = '{'\n +'\"id\" : \"' + id + '\",'\n +'\"target\" : {'\n +'\"targetType\" : \"' + targetType + '\",'\n +'\"entityInfo\" : {'\n +'\"pnf-name\" : \"' + targetId + '\"'\n +'}'\n +'},'\n +'\"component\" : {'\n +'\"name\" : \"Policy\",'\n +'\"flavour\" : \"Apex-PDP\",'\n +'\"timestamp\" : ' + timestamp + ','\n +'\"status\" : \"' + status + '\",'\n +'\"message\" : \"' + message + '\",'\n +'\"artifacts\" : {'\n +'\"policyName\" : \"onap.policies.apex.Simplecontrolloop\",'\n +'\"policyVersion\" : \"1.0.0\"'\n +'}'\n +'},'\n +'\"otherFields\" : {'\n +'\"useCaseName\" : \"simple-controlloop-usecase\"'\n +'}'\n +'}';\n\n executor.logger.info(\"sending the status to log.\");\n fireLogEvent(logData);\n}\n\nfunction fireLogEvent(logEvent){\n var headers = new HashMapType();\n //headers.put(\"Authorization\" , \"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\");\n executor.logger.info(\"LogEvent:\"+logEvent);\n var response = new org.onap.policy.rest.RestManager().post(\n executor.getParameters().get(\"logUrl\"),\n \"\",\n \"\",\n headers,\n \"application/json\",\n logEvent\n );\n executor.logger.info(\"DMaaP Response after sending LogEvent: \" + response);\n return response;\n}" } } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseTask", "version": "0.0.1" }, "inputFields": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "optional": false } }, { "key": "status", "value": { "key": "status", "fieldSchemaKey": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "optional": false } } ] }, "outputFields": { "entry": [ { "key": "message", "value": { "key": "message", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar cdsResponse = executor.inFields;\nvar albumID = cdsResponse.get(\"commonHeader\").get(\"subRequestId\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\nvar timestamp = longType(new Date().getTime());\n\nsend(commonEventHeader.get(\"eventId\"), \"PNF\", eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\").get(\"pnfName\"), timestamp, \"FINAL_SUCCESS\", \"Successfully processed the VES event. Hostname is updated.\")\ntrue;\n\nfunction send(id, targetType, targetId, timestamp, status, message) {\n var logData = '{'\n +'\"id\" : \"' + id + '\",'\n +'\"target\" : {'\n +'\"targetType\" : \"' + targetType + '\",'\n +'\"entityInfo\" : {'\n +'\"pnf-name\" : \"' + targetId + '\"'\n +'}'\n +'},'\n +'\"component\" : {'\n +'\"name\" : \"Policy\",'\n +'\"flavour\" : \"Apex-PDP\",'\n +'\"timestamp\" : ' + timestamp + ','\n +'\"status\" : \"' + status + '\",'\n +'\"message\" : \"' + message + '\",'\n +'\"artifacts\" : {'\n +'\"policyName\" : \"onap.policies.apex.Simplecontrolloop\",'\n +'\"policyVersion\" : \"1.0.0\"'\n +'}'\n +'},'\n +'\"otherFields\" : {'\n +'\"useCaseName\" : \"simple-controlloop-usecase\"'\n +'}'\n +'}';\n\n executor.logger.info(\"sending the status to log.\");\n fireLogEvent(logData);\n}\n\nfunction fireLogEvent(logEvent){\n var headers = new HashMapType();\n //headers.put(\"Authorization\" , \"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\");\n executor.logger.info(\"LogEvent:\"+logEvent);\n var response = new org.onap.policy.rest.RestManager().post(\n executor.getParameters().get(\"logUrl\"),\n \"\",\n \"\",\n headers,\n \"application/json\",\n logEvent\n );\n executor.logger.info(\"DMaaP Response after sending LogEvent: \" + response);\n return response;\n}" } } }, { "key": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleAAIFailureResponseTask", "version": "0.0.1" }, "inputFields": { "entry": [ { "key": "requestError", "value": { "key": "requestError", "fieldSchemaKey": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "optional": false } } ] }, "outputFields": { "entry": [ { "key": "message", "value": { "key": "message", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "var uuidType = java.util.UUID;\nvar longType = java.lang.Long;\nvar HashMapType = java.util.HashMap;\n\nvar aaiErrorMessage = \"AAI operation failed. Error message from AAI - \" + executor.inFields.get(\"requestError\").get(\"serviceException\").get(\"text\");\nvar timestamp = longType(new Date().getTime());\n\n//Sending messageId received from AAI error message since eventId is not available in this task logic\nsend(executor.inFields.get(\"requestError\").get(\"serviceException\").get(\"messageId\"), \"PNF\", \"N/A\", timestamp, \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + aaiErrorMessage)\ntrue;\n\nfunction send(id, targetType, targetId, timestamp, status, message) {\n var logData = '{'\n +'\"id\" : \"' + id + '\",'\n +'\"target\" : {'\n +'\"targetType\" : \"' + targetType + '\",'\n +'\"entityInfo\" : {'\n +'\"pnf-name\" : \"' + targetId + '\"'\n +'}'\n +'},'\n +'\"component\" : {'\n +'\"name\" : \"Policy\",'\n +'\"flavour\" : \"Apex-PDP\",'\n +'\"timestamp\" : ' + timestamp + ','\n +'\"status\" : \"' + status + '\",'\n +'\"message\" : \"' + message + '\",'\n +'\"artifacts\" : {'\n +'\"policyName\" : \"onap.policies.apex.Simplecontrolloop\",'\n +'\"policyVersion\" : \"1.0.0\"'\n +'}'\n +'},'\n +'\"otherFields\" : {'\n +'\"useCaseName\" : \"simple-controlloop-usecase\"'\n +'}'\n +'}';\n\n executor.logger.info(\"sending the status to log.\");\n fireLogEvent(logData);\n}\n\nfunction fireLogEvent(logEvent){\n var headers = new HashMapType();\n //headers.put(\"Authorization\" , \"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\");\n executor.logger.info(\"LogEvent:\"+logEvent);\n var response = new org.onap.policy.rest.RestManager().post(\n executor.getParameters().get(\"logUrl\"),\n \"\",\n \"\",\n headers,\n \"application/json\",\n logEvent\n );\n executor.logger.info(\"DMaaP Response after sending LogEvent: \" + response);\n return response;\n}" } } }, { "key": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleAAISuccessResponseTask", "version": "0.0.1" }, "inputFields": { "entry": [ { "key": "equip-model", "value": { "key": "equip-model", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "equip-type", "value": { "key": "equip-type", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "equip-vendor", "value": { "key": "equip-vendor", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "in-maint", "value": { "key": "in-maint", "fieldSchemaKey": { "name": "SimpleBooleanType", "version": "0.0.1" }, "optional": false } }, { "key": "ipaddress-v4-oam", "value": { "key": "ipaddress-v4-oam", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "ipaddress-v6-oam", "value": { "key": "ipaddress-v6-oam", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "management-option", "value": { "key": "management-option", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-id", "value": { "key": "pnf-id", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-name", "value": { "key": "pnf-name", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-name2", "value": { "key": "pnf-name2", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "resource-version", "value": { "key": "resource-version", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "outputFields": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "optional": false } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "var uuidType = java.util.UUID;\nvar HashMapType = java.util.HashMap;\nvar longType = java.lang.Long;\n\nvar pnfDetails = executor.inFields;\nvar albumID = pnfDetails.get(\"pnf-id\");\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").get(albumID.toString());\nexecutor.logger.info(\"HandleAAISuccessResponseTask extracted context album - \" + albumID.toString() + \"::\" + eventDetailsAlbum);\n\nvar commonEventHeader = eventDetailsAlbum.get(\"commonEventHeader\");\nvar otherFieldsMap = eventDetailsAlbum.get(\"otherFields\").get(\"hashMap\");\n\nvar targetEntityName = executor.inFields.get(\"pnf-name\")\nvar logMessage = \"\";\nvar existingHostname = executor.inFields.get(\"pnf-name2\");\nvar hostnameInVesEvent = otherFieldsMap.get(\"hostname\");\n\nvar albumSchemaHelper = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").getSchemaHelper();\nvar target = albumSchemaHelper.createNewSubInstance(\"target\");\ntarget.put(\"targetType\", \"PNF\")\nvar entityInfo = albumSchemaHelper.createNewSubInstance(\"entityInfo\");\nentityInfo.put(\"name\",targetEntityName);\ntarget.put(\"entityInfo\", entityInfo);\neventDetailsAlbum.put(\"target\", target);\n\nvar returnVal = true;\nvar timestamp = longType(new Date().getTime());\nif ((String(hostnameInVesEvent) != \"UNDEFINED\") && (String(existingHostname) != String(hostnameInVesEvent))) {\n logMessage = \"Hostname available in AAI does not match with the hostname received in the VES Event.\";\n returnVal = false\n send(commonEventHeader.get(\"eventId\"), \"PNF\", otherFieldsMap.get(\"pnfName\"), timestamp, \"FINAL_FAILURE\", \"Failed to process VES event. Reason: \" + logMessage)\n} else {\n logMessage = \"Received response from AAI successfully. Hostname in AAI matches with the one in Ves event. Going to make the update-config request to CDS.\";\n\n var commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\n commonHeader.put(\"subRequestId\", albumID.toString());\n commonHeader.put(\"requestId\", commonEventHeader.get(\"eventId\"));\n commonHeader.put(\"originatorId\", \"POLICY\");\n\n var blueprintName = \"pnf-test-cba\";\n var blueprintVersion = \"1.0.0\";\n var newHostname = \"host\" + Math.random().toString(36).substring(7);\n eventDetailsAlbum.put(\"generatedHostname\", newHostname);\n\n var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\n actionIdentifiers.put(\"mode\", \"sync\");\n actionIdentifiers.put(\"blueprintName\", blueprintName);\n actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n actionIdentifiers.put(\"actionName\", \"update-config\");\n\n var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSConfigModifyRequestPayloadEntry\");\n payloadEntry.put(\"hostname\", newHostname)\n payloadEntry.put(\"IP\", executor.inFields.get(\"ipaddress-v4-oam\"));\n payloadEntry.put(\"pnfName\", otherFieldsMap.get(\"pnfName\"));\n\n var payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\n payload.put(\"update_DasH_config_DasH_request\", payloadEntry);\n\n executor.outFields.put(\"commonHeader\", commonHeader);\n executor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\n executor.outFields.put(\"payload\", payload);\n\n send(commonEventHeader.get(\"eventId\"), \"PNF\", otherFieldsMap.get(\"pnfName\"), timestamp, \"SUCCESS\", logMessage)\n}\n\nreturnVal;\n\nfunction send(id, targetType, targetId, timestamp, status, message) {\n var logData = '{'\n +'\"id\" : \"' + id + '\",'\n +'\"target\" : {'\n +'\"targetType\" : \"' + targetType + '\",'\n +'\"entityInfo\" : {'\n +'\"pnf-name\" : \"' + targetId + '\"'\n +'}'\n +'},'\n +'\"component\" : {'\n +'\"name\" : \"Policy\",'\n +'\"flavour\" : \"Apex-PDP\",'\n +'\"timestamp\" : ' + timestamp + ','\n +'\"status\" : \"' + status + '\",'\n +'\"message\" : \"' + message + '\",'\n +'\"artifacts\" : {'\n +'\"policyName\" : \"onap.policies.apex.Simplecontrolloop\",'\n +'\"policyVersion\" : \"1.0.0\"'\n +'}'\n +'},'\n +'\"otherFields\" : {'\n +'\"useCaseName\" : \"simple-controlloop-usecase\"'\n +'}'\n +'}';\n\n executor.logger.info(\"sending the status to log.\");\n fireLogEvent(logData);\n}\n\nfunction fireLogEvent(logEvent){\n var headers = new HashMapType();\n //headers.put(\"Authorization\" , \"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\");\n executor.logger.info(\"LogEvent:\"+logEvent);\n var response = new org.onap.policy.rest.RestManager().post(\n executor.getParameters().get(\"logUrl\"),\n \"\",\n \"\",\n headers,\n \"application/json\",\n logEvent\n );\n executor.logger.info(\"DMaaP Response after sending LogEvent: \" + response);\n return response;\n}" } } }, { "key": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_HandleVesEventTask", "version": "0.0.1" }, "inputFields": { "entry": [ { "key": "event", "value": { "key": "event", "fieldSchemaKey": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "optional": false } } ] }, "outputFields": { "entry": [ { "key": "aaifield", "value": { "key": "aaifield", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "var uuidType = java.util.UUID;\nvar HashMapType = java.util.HashMap;\nvar longType = java.lang.Long;\n\nvar eventDetailsAlbum = executor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").getSchemaHelper().createNewInstance();\nvar returnValue = true;\n\nvar event = executor.inFields.get(\"event\");\nexecutor.logger.info(\"HandleVesEventTask processing VES event - \" + event);\n\nvar commonEventHeader = event.get(\"commonEventHeader\");\nvar otherFields = event.get(\"otherFields\");\n// albumID will be used to fetch info from our album later. Storing event data in album by sourceId / AAI pnf-id, the same will be sent to CDS request payload as subRequestId\nvar albumID = commonEventHeader.get(\"sourceId\");\n// save the event processing start time in apex\ncommonEventHeader.put(\"startEpochMicrosec\", longType(new Date().getTime()));\n//save the incoming event details to album\neventDetailsAlbum.put(\"commonEventHeader\", commonEventHeader);\neventDetailsAlbum.put(\"otherFields\", otherFields);\nexecutor.getContextAlbum(\"SimpleCL_EventDetailsAlbum\").put(albumID.toString(), eventDetailsAlbum);\nexecutor.logger.info(\"HandleVesEventTask storing context album - \" + albumID.toString() + \"::\" + eventDetailsAlbum);\n\nexecutor.getExecutionProperties().setProperty(\"pnfName\", otherFields.get(\"hashMap\").get(\"pnfName\"));\n\nvar timestamp = longType(new Date().getTime());\nsend(eventDetailsAlbum.get(\"commonEventHeader\").get(\"eventId\"), \"PNF\", otherFields.get(\"hashMap\").get(\"pnfName\"), timestamp, \"ACTIVE\", \"VES event has been received. Going to fetch details from AAI.\")\nexecutor.logger.info(executor.outFields);\nreturnValue;\n\nfunction send(id, targetType, targetId, timestamp, status, message) {\n var logData = '{'\n +'\"id\" : \"' + id + '\",'\n +'\"target\" : {'\n +'\"targetType\" : \"' + targetType + '\",'\n +'\"entityInfo\" : {'\n +'\"pnf-name\" : \"' + targetId + '\"'\n +'}'\n +'},'\n +'\"component\" : {'\n +'\"name\" : \"Policy\",'\n +'\"flavour\" : \"Apex-PDP\",'\n +'\"timestamp\" : ' + timestamp + ','\n +'\"status\" : \"' + status + '\",'\n +'\"message\" : \"' + message + '\",'\n +'\"artifacts\" : {'\n +'\"policyName\" : \"onap.policies.apex.Simplecontrolloop\",'\n +'\"policyVersion\" : \"1.0.0\"'\n +'}'\n +'},'\n +'\"otherFields\" : {'\n +'\"useCaseName\" : \"simple-controlloop-usecase\"'\n +'}'\n +'}';\n\n executor.logger.info(\"sending the status to log.\");\n fireLogEvent(logData);\n}\n\nfunction fireLogEvent(logEvent){\n var headers = new HashMapType();\n //headers.put(\"Authorization\" , \"Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\");\n executor.logger.info(\"LogEvent:\"+logEvent);\n var response = new org.onap.policy.rest.RestManager().post(\n executor.getParameters().get(\"logUrl\"),\n \"\",\n \"\",\n headers,\n \"application/json\",\n logEvent\n );\n executor.logger.info(\"DMaaP Response after sending LogEvent: \" + response);\n return response;\n}" } } } ] } }, "events": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Events", "version": "0.0.1" }, "eventMap": { "entry": [ { "key": { "name": "SimpleCL_AAIFailureResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIFailureResponseEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "AAI", "target": "APEX", "parameter": { "entry": [ { "key": "requestError", "value": { "key": "requestError", "fieldSchemaKey": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "EXIT_FAILURE" } }, { "key": { "name": "SimpleCL_AAIRequestEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIRequestEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "APEX", "target": "AAI", "parameter": { "entry": [ { "key": "aaifield", "value": { "key": "aaifield", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "SimpleCL_AAISuccessResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAISuccessResponseEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "AAI", "target": "APEX", "parameter": { "entry": [ { "key": "equip-model", "value": { "key": "equip-model", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "equip-type", "value": { "key": "equip-type", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "equip-vendor", "value": { "key": "equip-vendor", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "in-maint", "value": { "key": "in-maint", "fieldSchemaKey": { "name": "SimpleBooleanType", "version": "0.0.1" }, "optional": false } }, { "key": "ipaddress-v4-oam", "value": { "key": "ipaddress-v4-oam", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "ipaddress-v6-oam", "value": { "key": "ipaddress-v6-oam", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "management-option", "value": { "key": "management-option", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-id", "value": { "key": "pnf-id", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-name", "value": { "key": "pnf-name", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "pnf-name2", "value": { "key": "pnf-name2", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "resource-version", "value": { "key": "resource-version", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyFailureResponseEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "CDS", "target": "APEX", "parameter": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "optional": false } }, { "key": "status", "value": { "key": "status", "fieldSchemaKey": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "EXIT_FAILURE" } }, { "key": { "name": "SimpleCL_CDSConfigModifyRequestEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyRequestEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "APEX", "target": "APEX", "parameter": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifySuccessResponseEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "CDS", "target": "APEX", "parameter": { "entry": [ { "key": "actionIdentifiers", "value": { "key": "actionIdentifiers", "fieldSchemaKey": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "optional": false } }, { "key": "commonHeader", "value": { "key": "commonHeader", "fieldSchemaKey": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "optional": false } }, { "key": "payload", "value": { "key": "payload", "fieldSchemaKey": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "optional": false } }, { "key": "status", "value": { "key": "status", "fieldSchemaKey": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "EXIT_SUCCESS" } }, { "key": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_LogStatusEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "APEX", "target": "DCAE", "parameter": { "entry": [ { "key": "message", "value": { "key": "message", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "SimpleCL_VesEvent", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_VesEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.simplecontrolloop", "source": "DCAE", "target": "APEX", "parameter": { "entry": [ { "key": "event", "value": { "key": "event", "fieldSchemaKey": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "ENTRY" } } ] } }, "albums": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Albums", "version": "0.0.1" }, "albums": { "entry": [ { "key": { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_EventDetailsAlbum", "version": "0.0.1" }, "scope": "policy", "isWritable": true, "itemSchema": { "name": "SimpleCL_EventDetailsAlbumType", "version": "0.0.1" } } } ] } }, "schemas": { "key": { "name": "onap.policies.apex.Simplecontrolloop_Schemas", "version": "0.0.1" }, "schemas": { "entry": [ { "key": { "name": "SimpleBooleanType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleBooleanType", "version": "0.0.1" }, "schemaFlavour": "Java", "schemaDefinition": "java.lang.Boolean" } }, { "key": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_AAIRequestErrorType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"name\": \"AAIRequestErrorType\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"serviceException\",\n \"type\": {\n \"name\": \"serviceException\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"messageId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"text\",\n \"type\": \"string\"\n },\n {\n \"name\": \"variables\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n }\n ]\n }\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSActionIdentifiersType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSActionIdentifiers_Type\",\n \"fields\": [\n {\n \"name\": \"actionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintVersion\",\n \"type\": \"string\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyRequestPayloadType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"map\",\n \"values\": {\n \"type\": \"record\",\n \"name\": \"CDSConfigModifyRequestPayloadEntry\",\n \"fields\": [\n {\n \"name\": \"hostname\",\n \"type\": \"string\"\n },\n {\n \"name\": \"IP\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfName\",\n \"type\": \"string\"\n }\n ]\n }\n}" } }, { "key": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSConfigModifyResponsePayloadType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"name\": \"CDSConfigResponsePayloadEntry\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"update_DasH_config_DasH_response\",\n \"type\": {\n \"name\": \"update_DasH_config_DasH_response\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"execute_DasH_command_DasH_logs\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n },\n {\n \"name\": \"prepare_DasH_environment_DasH_logs\",\n \"type\": {\n \"type\": \"array\",\n \"items\": \"string\"\n }\n }\n ]\n }\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSFailureResponseCommonHeaderType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSFailureResponseStatusType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseStatus_Type\",\n \"fields\": [\n {\n \"name\": \"code\",\n \"type\": \"int\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n },\n {\n \"name\": \"errorMessage\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSRequestCommonHeaderType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSRequestCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSSuccessResponseCommonHeaderType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseCommonHeader_Type\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_CDSSuccessResponseStatusType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseStatus_Type\",\n \"fields\": [\n {\n \"name\": \"code\",\n \"type\": \"int\"\n },\n {\n \"name\": \"eventType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_EventDetailsAlbumType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_EventDetailsAlbumType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"name\": \"eventDetails\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"commonEventHeader\",\n \"type\": {\n \"name\": \"commonEventHeader\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"domain\",\n \"type\": \"string\"\n },\n {\n \"name\": \"eventId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"eventName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"lastEpochMicrosec\",\n \"type\": \"long\"\n },\n {\n \"name\": \"priority\",\n \"type\": \"string\"\n },\n {\n \"name\": \"reportingEntityName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"sequence\",\n \"type\": \"int\"\n },\n {\n \"name\": \"sourceId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"sourceName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"startEpochMicrosec\",\n \"type\": \"long\"\n },\n {\n \"name\": \"timeZoneOffset\",\n \"type\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\"\n },\n {\n \"name\": \"internalHeaderFields\",\n \"type\": {\n \"name\": \"internalHeaderFields\",\n \"type\": \"record\",\n \"fields\": []\n }\n },\n {\n \"name\": \"vesEventListenerVersion\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"otherFields\",\n \"type\": {\n \"name\": \"otherFields\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"hashMap\",\n \"type\": {\n \"name\": \"hashMap\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"hostname\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"pnfId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"ip\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"otherFieldsVersion\",\n \"type\": \"string\"\n }\n ]\n }\n },\n {\n \"name\": \"target\",\n \"type\": {\n \"name\": \"target\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"targetType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"entityInfo\",\n \"type\": {\n \"name\": \"entityInfo\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"name\",\n \"type\": \"string\"\n }\n ]\n }\n }\n ]\n }\n },\n {\n \"name\": \"generatedHostname\",\n \"type\": \"string\"\n }\n ]\n}" } }, { "key": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleCL_VesEventType", "version": "0.0.1" }, "schemaFlavour": "Avro", "schemaDefinition": "{\n \"name\":\"event\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"commonEventHeader\",\n \"type\":{\n \"name\":\"commonEventHeader\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"domain\",\n \"type\":\"string\"\n },\n {\n \"name\":\"eventId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"eventName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"lastEpochMicrosec\",\n \"type\":\"long\"\n },\n {\n \"name\":\"priority\",\n \"type\":\"string\"\n },\n {\n \"name\":\"reportingEntityName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"sequence\",\n \"type\":\"int\"\n },\n {\n \"name\":\"sourceId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"sourceName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"startEpochMicrosec\",\n \"type\":\"long\"\n },\n {\n \"name\":\"version\",\n \"type\":\"string\"\n },\n {\n \"name\":\"internalHeaderFields\",\n \"type\":{\n \"name\":\"internalHeaderFields\",\n \"type\":\"record\",\n \"fields\":[\n\n ]\n }\n },\n {\n \"name\":\"vesEventListenerVersion\",\n \"type\":\"string\"\n }\n ]\n }\n },\n {\n \"name\":\"otherFields\",\n \"type\":{\n \"name\":\"otherFields\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"hashMap\",\n \"type\":{\n \"name\":\"hashMap\",\n \"type\":\"record\",\n \"fields\":[\n {\n \"name\":\"hostname\",\n \"type\":\"string\"\n },\n {\n \"name\":\"pnfName\",\n \"type\":\"string\"\n },\n {\n \"name\":\"pnfId\",\n \"type\":\"string\"\n },\n {\n \"name\":\"ip\",\n \"type\":\"string\"\n }\n ]\n }\n },\n {\n \"name\":\"otherFieldsVersion\",\n \"type\":\"string\"\n }\n ]\n }\n }\n ]\n}" } }, { "key": { "name": "SimpleLongType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleLongType", "version": "0.0.1" }, "schemaFlavour": "Java", "schemaDefinition": "java.lang.Long" } }, { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "schemaFlavour": "Java", "schemaDefinition": "java.lang.String" } } ] } } } } } } } } = ${API_HOST} ${API_PORT} http /policy/api/v1/nodetemplates POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.node_types instanceof Map; assert res.topology_template instanceof Map; assert res.topology_template.node_templates instanceof Map; assert res.topology_template.node_templates.get("apex.metadata.pnf").version == "6.0.${__threadNum}"; } true false { "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": "6.0.${__threadNum}", "version": "6.0.${__threadNum}", "metadata": { "policy-id": "onap.restart.tca" }, "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" } ] } ] } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "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": "7.0.${__threadNum}", "version": "7.0.${__threadNum}", "metadata": { "policy-id": "onap.restart.tca" }, "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" } ] } ] } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "OSDF_CASABLANCA.Affinity_Default": { "type": "onap.policies.optimization.resource.AffinityPolicy", "version": "6.0.${__threadNum}", "type_version": "6.0.${__threadNum}", "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" } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/2.0.0/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "guard.blacklist.scaleout": { "type": "onap.policies.controlloop.guard.common.Blacklist", "type_version": "6.0.${__threadNum}", "version": "6.0.${__threadNum}", "metadata": { "policy-id": "guard.blacklist.scaleout" }, "properties": { "actor": "SO", "operation": "VF Module Create", "id": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3", "blacklist": [ "the-vfmodule-where-root-is-true", "another-vfmodule-where-root-is-true" ] } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.controlloop.guard.common.Blacklist/versions/1.0.0/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "operational.apex.vCPE": { "type": "onap.policies.native.Apex", "type_version": "6.0.${__threadNum}", "derived_from": "tosca.policies.Root", "name": "operational.apex.vCPE", "version": "6.0.${__threadNum}", "properties": { "engineServiceParameters": { "name": "MyApexEngine", "version": "0.0.1", "id": 45, "instanceCount": 4, "deploymentPort": 12561, "policy_type_impl": { }, "engineParameters": { "executorParameters": { "JAVASCRIPT": { "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" } }, "contextParameters": { "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters", "schemaParameters": { "Avro": { "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters" }, "Java": { "parameterClassName": "org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters", "jsonAdapters": { "Instant": { "adaptedClass": "java.time.Instant", "adaptorClass": "org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter" } } } } }, "taskParameters": [ { "key": "ParameterKey1", "value": "ParameterValue1" }, { "taskId": "AAILookupTask:0.0.1", "key": "SomeKeyForThisTask", "value": "Value" } ] } }, "eventInputParameters": { "GuardRequestorConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTREQUESTOR", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters", "parameters": { "url": "http://111.222.333.444:5555/pdp/api/getDecision", "httpMethod": "POST", "restRequestTimeout": 2000, "httpHeader": "Authorization:aaaaaaaaa== ClientAuth:bbbbbbbbb=" } }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventName": "GuardResponseEvent", "eventNameFilter": "GuardResponseEvent", "requestorMode": true, "requestorPeer": "GuardRequestorProducer", "requestorTimeout": 500 }, "DCAEConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", "parameters": { "url": "http://kafka:9092/events/unauthenticated.dcae_cl_output/APEX/1?timeout=60000" } }, "eventProtocolParameters": { "eventProtocol": "JSON", "parameters": { "nameAlias": "closedLoopControlName", "versionAlias": "version", "sourceAlias": "from", "pojoField": "VirtualControlLoopEvent" } }, "eventName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e" }, "APPCConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", "parameters": { "url": "http://kafka:9092/events/appc-lcm-write/APEX/1?timeout=60000" } }, "eventProtocolParameters": { "eventProtocol": "JSON", "parameters": { "versionAlias": "version", "pojoField": "APPCLCMResponseEvent" } }, "eventName": "APPCRestartVNFResponseEvent", "eventNameFilter": "APPCRestartVNFResponseEvent" } }, "eventOutputParameters": { "logProducer": { "carrierTechnologyParameters": { "carrierTechnology": "FILE", "parameters": { "fileName": "/tmp/VCPEEventsOut.json" } }, "eventProtocolParameters": { "eventProtocol": "JSON" } }, "GuardRequestorProducer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTREQUESTOR", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters" }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventNameFilter": "GuardRequestEvent", "requestorMode": true, "requestorPeer": "GuardRequestorConsumer", "requestorTimeout": 500 }, "APPCProducer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", "parameters": { "url": "http://kafka:9092/events/appc-lcm-read" } }, "eventProtocolParameters": { "eventProtocol": "JSON", "parameters": { "versionAlias": "version", "sourceAlias": "from", "pojoField": "APPCLCMRequestEvent" } }, "eventNameFilter": "APPCRestartVNFRequestEvent" }, "PolicyLogProducer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", "parameters": { "url": "http://kafka:9092/events/policy-cl-mgt" } }, "eventProtocolParameters": { "eventProtocol": "JSON", "parameters": { "versionAlias": "version", "sourceAlias": "from", "pojoField": "VirtualControlLoopNotification" } }, "eventNameFilter": "ControlLoopLogEvent" } } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "usecases.artifacts": { "type": "onap.policies.native.drools.Artifact", "type_version": "6.0.${__threadNum}", "name": "usecases.artifacts", "version": "6.0.${__threadNum}", "metadata": { "policy-id": "usecases.artifacts" }, "properties": { "rulesArtifact": { "groupId": "org.onap.policy.drools-applications.controlloop.common", "artifactId": "controller-usecases", "version": "1.6.1" }, "controller": { "name": "frankfurt" } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "onap.policies.native.xacml.NativeXacmlPolicy": { "type": "onap.policies.native.Xacml", "type_version": "6.0.${__threadNum}", "version": "6.0.${__threadNum}", "metadata": { "policy-id": "onap.policies.native.xacml.NativeXacmlPolicy" }, "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" } ] } ] } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/2.0.0/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "onap.policies.apex.pnf.Example": { "type": "onap.policies.native.Apex", "type_version": "6.0.${__threadNum}", "name": "onap.policies.apex.pnf.Example", "version": "6.0.${__threadNum}", "metadata": { "metadataSetName": "apex.metadata.pnf", "metadataSetVersion": "6.0.${__threadNum}" }, "properties": { "engineServiceParameters": { "name": "TestApexEnginePnf", "version": "0.0.1", "id": 45, "instanceCount": 4, "deploymentPort": 12561, "engineParameters": { "executorParameters": { "JAVASCRIPT": { "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" } }, "contextParameters": { "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters", "schemaParameters": { "Avro": { "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters" } } }, "taskParameters": [ { "key": "logUrl", "value": "http://kafka:9092/events/apex-cl-mgt" } ] } }, "eventInputParameters": { "SimpleCL_DCAEConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", "parameters": { "url": "http://kafka:9092/events/apex-pnf-input/cl/apex?timeout=30000" } }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventName": "SimpleCL_VesEvent" }, "SimpleCL_AAIResponseConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTREQUESTOR", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters", "parameters": { "url": "https://aai:8443/aai/v14/network/pnfs/pnf/{pnfName}", "httpMethod": "GET", "httpCodeFilter": "[2-5][0-1][0-9]", "httpHeaders": [ [ "Accept", "application/json" ], [ "Content-Type", "application/json" ], [ "X-FromAppId", "dcae-curl" ], [ "x-transactionId", "9998" ], [ "Authorization", "Basic QUFJOkFBSQ==" ] ] } }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventName": "SimpleCL_AAISuccessResponseEvent|SimpleCL_AAIFailureResponseEvent", "requestorMode": true, "requestorPeer": "SimpleCL_AAIProducer", "requestorTimeout": 2000 }, "SimpleCL_CDSConfigModifyResponseConsumer": { "carrierTechnologyParameters": { "carrierTechnology": "GRPC", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters" }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventName": "SimpleCL_CDSConfigModifySuccessResponseEvent|SimpleCL_CDSConfigModifyFailureResponseEvent", "requestorMode": true, "requestorPeer": "SimpleCL_CDSConfigModifyRequestProducer", "requestorTimeout": 500 } }, "eventOutputParameters": { "SimpleCL_AAIProducer": { "carrierTechnologyParameters": { "carrierTechnology": "RESTREQUESTOR", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters" }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventNameFilter": "SimpleCL_AAIRequestEvent", "requestorMode": true, "requestorPeer": "SimpleCL_AAIResponseConsumer", "requestorTimeout": 2000 }, "SimpleCL_CDSConfigModifyRequestProducer": { "carrierTechnologyParameters": { "carrierTechnology": "GRPC", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters", "parameters": { "host": "cds-blueprints-processor-grpc", "port": 9111, "username": "ccsdkapps", "password": "ccsdkapps", "timeout": 60 } }, "eventProtocolParameters": { "eventProtocol": "JSON" }, "eventNameFilter": "SimpleCL_CDSConfigModifyRequestEvent", "requestorMode": true, "requestorPeer": "SimpleCL_CDSConfigModifyResponseConsumer", "requestorTimeout": 500 }, "SimpleCL_logOutputter": { "carrierTechnologyParameters": { "carrierTechnology": "FILE", "parameters": { "fileName": "outputevents.log" } }, "eventProtocolParameters": { "eventProtocol": "JSON" } } } } } } ] } } = ${API_HOST} ${API_PORT} http /policy/api/v1/policies POST true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; } ${API_HOST} ${API_PORT} http /policy/api/v1/nodetemplates/apex.metadata.pnf/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof List; assert res.size == 1; assert res[0].metadata instanceof Map; assert res[0].version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size > 0 && res.topology_template.policies.size < 10; for (i=0; i<res.topology_template.policies.size; i++) { assert res.topology_template.policies[i] instanceof Map; } } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size > 0 && res.topology_template.policies.size < 6; for (i=0; i<res.topology_template.policies.size; i++) { assert res.topology_template.policies[i] instanceof Map; assert res.topology_template.policies[i].get('onap.restart.tca').version == "6.0.${__threadNum}"; } } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies/onap.restart.tca/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('onap.restart.tca').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/6.0.${__threadNum}/policies/OSDF_CASABLANCA.Affinity_Default/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('OSDF_CASABLANCA.Affinity_Default').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.controlloop.guard.common.Blacklist/versions/6.0.${__threadNum}/policies/guard.blacklist.scaleout/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('guard.blacklist.scaleout').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Apex/versions/6.0.${__threadNum}/policies/operational.apex.vCPE/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('operational.apex.vCPE').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.drools.Artifact/versions/6.0.${__threadNum}/policies/usecases.artifacts/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('usecases.artifacts').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Xacml/versions/6.0.${__threadNum}/policies/onap.policies.native.xacml.NativeXacmlPolicy/versions/6.0.${__threadNum} GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('onap.policies.native.xacml.NativeXacmlPolicy').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies/onap.restart.tca/versions/latest GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies [0].get('onap.restart.tca').version ==~ /6.0.\d+/; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies/onap.restart.tca/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('onap.restart.tca').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum}/policies/onap.restart.tca/versions/7.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('onap.restart.tca').version == "7.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/6.0.${__threadNum}/policies/OSDF_CASABLANCA.Affinity_Default/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('OSDF_CASABLANCA.Affinity_Default').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.controlloop.guard.common.Blacklist/versions/6.0.${__threadNum}/policies/guard.blacklist.scaleout/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('guard.blacklist.scaleout').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Apex/versions/6.0.${__threadNum}/policies/operational.apex.vCPE/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('operational.apex.vCPE').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policies/onap.policies.apex.pnf.Example/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('onap.policies.apex.pnf.Example').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.drools.Artifact/versions/6.0.${__threadNum}/policies/usecases.artifacts/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('usecases.artifacts').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Xacml/versions/6.0.${__threadNum}/policies/onap.policies.native.xacml.NativeXacmlPolicy/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template.policies instanceof List; assert res.topology_template.policies.size == 1; assert res.topology_template.policies[0] instanceof Map; assert res.topology_template.policies[0].get('onap.policies.native.xacml.NativeXacmlPolicy').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '409') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof List; assert res.policy_types.size == 1; assert res.policy_types[0] instanceof Map; assert res.policy_types[0].get('onap.policies.monitoring.cdap.tca.hi.lo.app').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/7.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '409') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof List; assert res.policy_types.size == 1; assert res.policy_types[0] instanceof Map; assert res.policy_types[0].get('onap.policies.monitoring.cdap.tca.hi.lo.app').version == "7.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.optimization.resource.AffinityPolicy/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '409') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof List; assert res.policy_types.size == 1; assert res.policy_types[0] instanceof Map; assert res.policy_types[0].get('onap.policies.optimization.resource.AffinityPolicy').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.controlloop.guard.common.Blacklist/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.get('onap.policies.controlloop.guard.common.Blacklist').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Apex/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.get('onap.policies.native.Apex').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.drools.Controller/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.get('onap.policies.native.drools.Controller').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.drools.Artifact/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.get('onap.policies.native.drools.Artifact').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes/onap.policies.native.Xacml/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.get('onap.policies.native.Xacml').version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/nodetemplates/apex.metadata.pnf/versions/6.0.${__threadNum} DELETE true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.topology_template instanceof Map; assert res.topology_template.node_templates instanceof Map; assert res.topology_template.node_templates.get("apex.metadata.pnf").version == "6.0.${__threadNum}"; } ${API_HOST} ${API_PORT} http /policy/api/v1/metrics GET true false true false 200 Assertion.response_code false 1 groovy true def res = []; if (prev.getResponseCode() == '200') { res = prev.getResponseDataAsString(); assert res.contains("http_server_requests_seconds_sum") assert res.contains("http_server_requests_seconds_max") assert res.contains("spring_data_repository_invocations_seconds_count") assert res.contains("spring_data_repository_invocations_seconds_sum") assert res.contains("spring_data_repository_invocations_seconds_max") assert res.contains("jvm_threads_live_threads") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"POST\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"DELETE\",outcome=\"SUCCESS\",status=\"200\",uri=\"/nodetemplates/{name}/versions/{version}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/healthcheck\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/nodetemplates/{name}/versions/{version}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"DELETE\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{versionId}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"DELETE\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/{policyVersion}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{versionId}\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"POST\",outcome=\"SUCCESS\",status=\"200\",uri=\"/nodetemplates\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"POST\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"POST\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policies\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"GET\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies/{policyId}/versions/latest\",}") assert res.contains("http_server_requests_seconds_count{error=\"none\",exception=\"none\",method=\"DELETE\",outcome=\"SUCCESS\",status=\"200\",uri=\"/policies/{policyId}/versions/{policyVersion}\",}") } Accept text/plain stoptest false 1 1 1 false true ${API_HOST} ${API_PORT} http /policy/api/v1/healthcheck GET true false true false 200 Assertion.response_code false 1 true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.code == 200; assert res.name == "Policy API"; assert res.healthy==true; assert res.message=="alive"; } groovy ${API_HOST} ${API_PORT} http /policy/api/v1/policytypes GET true false true false 200 Assertion.response_code false 1 groovy true import groovy.json.JsonSlurper; def res = []; if (prev.getResponseCode() == '200') { def jsonSlurper = new JsonSlurper(); res = jsonSlurper.parseText(prev.getResponseDataAsString()); assert res instanceof Map; assert res.policy_types instanceof Map; assert res.policy_types.size() == 38; } false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true true C:\Users\Ramesh\s3pTestResults.jtl false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true true C:\Users\Ramesh\s3pTestResults.jtl false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true true /home/ramesh/s3pTestResults.jtl