aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2024-09-20 16:21:05 +0100
committerFrancesco Fiora <francesco.fiora@est.tech>2024-12-06 14:03:35 +0000
commit58cf5824d2ff73b2845fb683a7335899b1bac106 (patch)
tree3b7d72264a1088d58689504d6e17223cceae8496
parent7c18087529fd8f99de2b1777e1cda8627901973d (diff)
Add policy definition data under instance properties in CSIT
Issue-ID: POLICY-5197 Change-Id: Ia8c7707285eb8368b99acef86982c67251d1b20d Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
-rw-r--r--csit/resources/tests/data/AcDocker.json1081
-rw-r--r--csit/resources/tests/data/AcK8s.json1081
-rw-r--r--csit/resources/tests/data/PMSHMultipleACTosca.yaml932
3 files changed, 2150 insertions, 944 deletions
diff --git a/csit/resources/tests/data/AcDocker.json b/csit/resources/tests/data/AcDocker.json
index 57148256..25f0c712 100644
--- a/csit/resources/tests/data/AcDocker.json
+++ b/csit/resources/tests/data/AcDocker.json
@@ -12,14 +12,1083 @@
},
"description": "Policy Automation Composition Element for the Demo",
"properties": {
- "policy_type_id": {
- "name": "onap.policies.native.Apex",
- "version": "1.0.0"
+ "tosca_definitions_version": "tosca_simple_yaml_1_3",
+ "name": "NULL",
+ "version": "0.0.0",
+ "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"
+ }
+ }
+ }
},
- "policy_id": {
- "get_input": "acm_element_policy"
+ "policy_types": {
+ "onap.policies.Native": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all native PDP policies",
+ "version": "1.0.0",
+ "name": "onap.policies.Native"
+ },
+ "onap.policies.native.Apex": {
+ "derived_from": "onap.policies.Native",
+ "description": "a policy type for native apex policies",
+ "version": "1.0.0",
+ "name": "onap.policies.native.Apex",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "topology_template": {
+ "policies": [
+ {
+ "onap.policies.native.apex.ac.element": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "properties": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Json": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+ }
+ }
+ }
+ },
+ "policy_type_impl": {
+ "policies": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "DecideForwardingState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DecideForwardingState"
+ },
+ "trigger": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "CreateForwardPayload",
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ },
+ "outgoingEvent": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ },
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "ReceiveEventPolicy"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "DecideForwardingState"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Kafka",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Kafka",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "KafkaResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": {
+ "parentKeyName": "ForwardPayloadTask",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "TaskLogic"
+ },
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('KafkaResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var kafkaResponse = new java.util.HashMap();\n kafkaResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n kafkaResponse.put('message', message);\n kafkaResponse.put('messageType', 'STATUS');\n kafkaResponse.put('messageId', msgResponse.get('messageId'));\n kafkaResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + kafkaResponse);\n\n executor.outFields.put('KafkaResponseStatusEvent', kafkaResponse);\n}\n\ntrue;"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Kafka",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ }
+ },
+ {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Kafka",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "KafkaResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "file",
+ "parameter": {
+ "entry": [
+ {
+ "key": "final_status",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "final_status"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "message",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "message"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "policy",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Json",
+ "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Integer"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.util.UUID"
+ }
+ }
+ ]
+ }
+ },
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+ "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+ "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+ "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+ "description": "Generated description for concept referred to by key \"KafkaResponseStatusEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+ "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+ "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+ "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+ "description": "Generated description for concept referred to by key \"SimpleIntType: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": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+ "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "KafkaConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "KAFKA",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+ "parameters": {
+ "bootstrapServers": "kafka:9092",
+ "groupId": "apex-group-id",
+ "enableAutoCommit": true,
+ "autoCommitTime": 1000,
+ "sessionTimeout": 30000,
+ "consumerPollTime": 100,
+ "consumerTopicList": [
+ "ac_element_msg"
+ ],
+ "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+ "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "KafkaResponseEvent"
+ }
+ },
+ "eventName": "AcElementEvent",
+ "eventNameFilter": "AcElementEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logOutputter": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "KafkaReplyProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "KAFKA",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+ "parameters": {
+ "bootstrapServers": "kafka:9092",
+ "acks": "all",
+ "retries": 0,
+ "batchSize": 16384,
+ "lingerTime": 1,
+ "bufferMemory": 33554432,
+ "producerTopic": "policy_update_msg",
+ "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+ "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "KafkaResponseStatusEvent"
+ }
+ },
+ "eventNameFilter": "(LogEvent|KafkaResponseStatusEvent)"
+ }
+ }
+ },
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ ]
}
}
}
}
-} \ No newline at end of file
+}
diff --git a/csit/resources/tests/data/AcK8s.json b/csit/resources/tests/data/AcK8s.json
index 3a7e3a33..8585faf5 100644
--- a/csit/resources/tests/data/AcK8s.json
+++ b/csit/resources/tests/data/AcK8s.json
@@ -12,12 +12,1081 @@
},
"description": "Starter Automation Composition Element for the Demo",
"properties": {
- "policy_type_id": {
- "name": "onap.policies.operational.pm-subscription-handler",
- "version": "1.0.0"
+ "tosca_definitions_version": "tosca_simple_yaml_1_3",
+ "name": "NULL",
+ "version": "0.0.0",
+ "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"
+ }
+ }
+ }
},
- "policy_id": {
- "get_input": "acm_element_policy"
+ "policy_types": {
+ "onap.policies.Native": {
+ "derived_from": "tosca.policies.Root",
+ "description": "a base policy type for all native PDP policies",
+ "version": "1.0.0",
+ "name": "onap.policies.Native"
+ },
+ "onap.policies.native.Apex": {
+ "derived_from": "onap.policies.Native",
+ "description": "a policy type for native apex policies",
+ "version": "1.0.0",
+ "name": "onap.policies.native.Apex",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "topology_template": {
+ "policies": [
+ {
+ "onap.policies.native.apex.ac.element": {
+ "type": "onap.policies.native.Apex",
+ "type_version": "1.0.0",
+ "properties": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Json": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+ }
+ }
+ }
+ },
+ "policy_type_impl": {
+ "policies": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "template": "Freestyle",
+ "state": {
+ "entry": [
+ {
+ "key": "DecideForwardingState",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "DecideForwardingState"
+ },
+ "trigger": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "CreateForwardPayload",
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ },
+ "outgoingEvent": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "outgoingEventReference": [
+ {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ }
+ ],
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [],
+ "taskSelectionLogic": {
+ "key": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ },
+ "logicFlavour": "UNDEFINED",
+ "logic": ""
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "ReceiveEventPolicy"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "ReceiveEventPolicy",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "DecideForwardingState",
+ "localName": "CreateForwardPayload"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "DecideForwardingState"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "inputEvent": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Kafka",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ },
+ "outputEvents": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Kafka",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "KafkaResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": []
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": {
+ "parentKeyName": "ForwardPayloadTask",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "TaskLogic"
+ },
+ "logicFlavour": "JAVASCRIPT",
+ "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('KafkaResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var kafkaResponse = new java.util.HashMap();\n kafkaResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n kafkaResponse.put('message', message);\n kafkaResponse.put('messageType', 'STATUS');\n kafkaResponse.put('messageId', msgResponse.get('messageId'));\n kafkaResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + kafkaResponse);\n\n executor.outFields.put('KafkaResponseStatusEvent', kafkaResponse);\n}\n\ntrue;"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "Kafka",
+ "target": "APEX",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "AcElementEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": "ENTRY"
+ }
+ },
+ {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "Kafka",
+ "parameter": {
+ "entry": [
+ {
+ "key": "KafkaResponseStatusEvent",
+ "value": {
+ "key": {
+ "parentKeyName": "KafkaResponseStatusEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "KafkaResponseStatusEvent"
+ },
+ "fieldSchemaKey": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.ac.element",
+ "source": "APEX",
+ "target": "file",
+ "parameter": {
+ "entry": [
+ {
+ "key": "final_status",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "final_status"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "message",
+ "value": {
+ "key": {
+ "parentKeyName": "LogEvent",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "message"
+ },
+ "fieldSchemaKey": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "toscaPolicyState": ""
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "policy",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Json",
+ "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Integer"
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleStringType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ },
+ {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.util.UUID"
+ }
+ }
+ ]
+ }
+ },
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACElementAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+ "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ACEventType",
+ "version": "0.0.1"
+ },
+ "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+ "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Albums",
+ "version": "0.0.1"
+ },
+ "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Events",
+ "version": "0.0.1"
+ },
+ "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_KeyInfo",
+ "version": "0.0.1"
+ },
+ "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Schemas",
+ "version": "0.0.1"
+ },
+ "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "APEXacElementPolicy_Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+ "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "AcElementEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+ "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "KafkaResponseStatusEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+ "description": "Generated description for concept referred to by key \"KafkaResponseStatusEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ForwardPayloadTask",
+ "version": "0.0.1"
+ },
+ "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+ "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "LogEvent",
+ "version": "0.0.1"
+ },
+ "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+ "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ReceiveEventPolicy",
+ "version": "0.0.1"
+ },
+ "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+ "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SimpleIntType",
+ "version": "0.0.1"
+ },
+ "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+ "description": "Generated description for concept referred to by key \"SimpleIntType: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": "UUIDType",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "UUIDType",
+ "version": "0.0.1"
+ },
+ "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+ "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "KafkaConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "KAFKA",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+ "parameters": {
+ "bootstrapServers": "kafka:9092",
+ "groupId": "apex-group-id",
+ "enableAutoCommit": true,
+ "autoCommitTime": 1000,
+ "sessionTimeout": 30000,
+ "consumerPollTime": 100,
+ "consumerTopicList": [
+ "ac_element_msg"
+ ],
+ "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+ "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "KafkaResponseEvent"
+ }
+ },
+ "eventName": "AcElementEvent",
+ "eventNameFilter": "AcElementEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logOutputter": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "KafkaReplyProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "KAFKA",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+ "parameters": {
+ "bootstrapServers": "kafka:9092",
+ "acks": "all",
+ "retries": 0,
+ "batchSize": 16384,
+ "lingerTime": 1,
+ "bufferMemory": 33554432,
+ "producerTopic": "policy_update_msg",
+ "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+ "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "KafkaResponseStatusEvent"
+ }
+ },
+ "eventNameFilter": "(LogEvent|KafkaResponseStatusEvent)"
+ }
+ }
+ },
+ "name": "onap.policies.native.apex.ac.element",
+ "version": "1.0.0"
+ }
+ }
+ ]
}
}
},
@@ -208,4 +1277,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/csit/resources/tests/data/PMSHMultipleACTosca.yaml b/csit/resources/tests/data/PMSHMultipleACTosca.yaml
deleted file mode 100644
index c6f61e72..00000000
--- a/csit/resources/tests/data/PMSHMultipleACTosca.yaml
+++ /dev/null
@@ -1,932 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
- onap.datatype.acm.Target:
- derived_from: tosca.datatypes.Root
- description: >-
- Definition for a entity in A&AI to perform an Automation Composition
- operation on
- properties:
- targetType:
- type: string
- description: Category for the target type
- required: true
- constraints:
- - valid_values:
- - VNF
- - VM
- - VFMODULE
- - PNF
- entityIds:
- type: map
- description: >
- Map of values that identify the resource. If none are provided, it is
- assumed that the
-
- entity that generated the ONSET event will be the target.
- required: false
- metadata:
- clamp_possible_values: 'ClampExecution:CSAR_RESOURCES'
- entry_schema:
- type: string
- onap.datatype.acm.Actor:
- derived_from: tosca.datatypes.Root
- description: An actor/operation/target definition
- properties:
- actor:
- type: string
- description: The actor performing the operation.
- required: true
- metadata:
- clamp_possible_values: 'Dictionary:DefaultActors,ClampExecution:CDS/actor'
- operation:
- type: string
- description: The operation the actor is performing.
- metadata:
- clamp_possible_values: 'Dictionary:DefaultOperations,ClampExecution:CDS/operation'
- required: true
- target:
- type: onap.datatype.acm.Target
- description: The resource the operation should be performed on.
- required: true
- payload:
- type: map
- description: Name/value pairs of payload information passed by Policy to the actor
- required: false
- metadata:
- clamp_possible_values: 'ClampExecution:CDS/payload'
- entry_schema:
- type: string
- onap.datatype.acm.Operation:
- derived_from: tosca.datatypes.Root
- description: An operation supported by an actor
- properties:
- id:
- type: string
- description: Unique identifier for the operation
- required: true
- description:
- type: string
- description: A user-friendly description of the intent for the operation
- required: false
- operation:
- type: onap.datatype.acm.Actor
- description: The definition of the operation to be performed.
- required: true
- timeout:
- type: integer
- description: The amount of time for the actor to perform the operation.
- required: true
- retries:
- type: integer
- description: >-
- The number of retries the actor should attempt to perform the
- operation.
- required: true
- default: 0
- success:
- type: string
- description: >-
- Points to the operation to invoke on success. A value of
- "final_success" indicates and end to the operation.
- required: false
- default: final_success
- failure:
- type: string
- description: Points to the operation to invoke on Actor operation failure.
- required: false
- default: final_failure
- failure_timeout:
- type: string
- description: >-
- Points to the operation to invoke when the time out for the operation
- occurs.
- required: false
- default: final_failure_timeout
- failure_retries:
- type: string
- description: >-
- Points to the operation to invoke when the current operation has
- exceeded its max retries.
- required: false
- default: final_failure_retries
- failure_exception:
- type: string
- description: >-
- Points to the operation to invoke when the current operation causes an
- exception.
- required: false
- default: final_failure_exception
- failure_guard:
- type: string
- description: >-
- Points to the operation to invoke when the current operation is
- blocked due to guard policy enforcement.
- required: false
- default: final_failure_guard
- onap.datatypes.monitoring.managedObjectDNsBasic:
- constraints: []
- properties:
- DN:
- name: DN
- type: string
- typeVersion: 0.0.0
- description: Managed object distinguished name
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasic
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.managedObjectDNsBasics:
- constraints: []
- properties:
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: map
- typeVersion: 0.0.0
- description: Managed object distinguished name object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasic
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasics
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroup:
- constraints: []
- properties:
- measurementTypes:
- name: measurementTypes
- type: list
- typeVersion: 0.0.0
- description: List of measurement types
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementTypes
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: list
- typeVersion: 0.0.0
- description: List of managed object distinguished names
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasics
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroup
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroups:
- constraints: []
- properties:
- measurementGroup:
- name: measurementGroup
- type: map
- typeVersion: 0.0.0
- description: Measurement Group
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroup
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroups
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementType:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: string
- typeVersion: 0.0.0
- description: Measurement type
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementType
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementTypes:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: map
- typeVersion: 0.0.0
- description: Measurement type object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementType
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementTypes
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.nfFilter:
- constraints: []
- properties:
- modelNames:
- name: modelNames
- type: list
- typeVersion: 0.0.0
- description: List of model names
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelInvariantIDs:
- name: modelInvariantIDs
- type: list
- typeVersion: 0.0.0
- description: List of model invariant IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelVersionIDs:
- name: modelVersionIDs
- type: list
- typeVersion: 0.0.0
- description: List of model version IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- nfNames:
- name: nfNames
- type: list
- typeVersion: 0.0.0
- description: List of network functions
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.nfFilter
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.subscription:
- constraints: []
- properties:
- measurementGroups:
- name: measurementGroups
- type: list
- typeVersion: 0.0.0
- description: Measurement Groups
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroups
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- fileBasedGP:
- name: fileBasedGP
- type: integer
- typeVersion: 0.0.0
- description: File based granularity period
- required: true
- constraints: []
- metadata: {}
- fileLocation:
- name: fileLocation
- type: string
- typeVersion: 0.0.0
- description: ROP file location
- required: true
- constraints: []
- metadata: {}
- subscriptionName:
- name: subscriptionName
- type: string
- typeVersion: 0.0.0
- description: Name of the subscription
- required: true
- constraints: []
- metadata: {}
- administrativeState:
- name: administrativeState
- type: string
- typeVersion: 0.0.0
- description: State of the subscription
- required: true
- constraints:
- - valid_values:
- - LOCKED
- - UNLOCKED
- metadata: {}
- nfFilter:
- name: nfFilter
- type: map
- typeVersion: 0.0.0
- description: Network function filter
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.nfFilter
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.subscription
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- restRequestId:
- type: onap.datatypes.ToscaConceptIdentifier
- typeVersion: 1.0.0
- required: true
- description: The name and version of a REST request to be sent to a REST endpoint
- httpMethod:
- type: string
- required: true
- constraints:
- - valid_values:
- - POST
- - PUT
- - GET
- - DELETE
- description: The REST method to use
- path:
- type: string
- required: true
- description: The path of the REST request relative to the base URL
- body:
- type: string
- required: false
- description: The body of the REST request for PUT and POST requests
- expectedResponse:
- type: integer
- required: true
- constraints: []
- description: THe expected HTTP status code for the REST request
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- configurationEntityId:
- type: onap.datatypes.ToscaConceptIdentifier
- typeVersion: 1.0.0
- required: true
- description: >-
- The name and version of a Configuration Entity to be handled by the
- HTTP Automation Composition Element
- restSequence:
- type: list
- entry_schema:
- type: >-
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest
- typeVersion: 1.0.0
- description: A sequence of REST commands to send to the REST endpoint
- org.onap.datatypes.policy.clamp.acm.a1PmsAutomationCompositionElement.A1PolicyServiceEntity:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- a1PolicyServiceEntityId:
- type: onap.datatypes.ToscaConceptIdentifier
- typeVersion: 1.0.0
- required: true
- description: The name and version of a Configuration Entity to be handled by the A1 PMS Automation Composition Element
- clientId:
- type: string
- required: true
- description: Client Id to be created
- callbackUrl:
- type: string
- required: true
- description: The callback URL to get registered
- keepAliveIntervalSeconds:
- type: integer
- required: true
- description: Keep alive interval time for the callback URL
-policy_types:
- onap.policies.Monitoring:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Monitoring
- onap.policies.Sirisha:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Sirisha
- onap.policies.monitoring.dcae-pm-subscription-handler:
- properties:
- pmsh_policy:
- name: pmsh_policy
- type: onap.datatypes.monitoring.subscription
- typeVersion: 0.0.0
- description: PMSH Policy JSON
- required: false
- constraints: []
- metadata: {}
- name: onap.policies.monitoring.dcae-pm-subscription-handler
- version: 1.0.0
- derived_from: onap.policies.Monitoring
- metadata: {}
- onap.policies.acm.operational.Common:
- derived_from: tosca.policies.Root
- version: 1.0.0
- name: onap.policies.acm.operational.Common
- description: >
- Operational Policy for Automation Composition execution. Originated in
- Frankfurt to support TOSCA Compliant
-
- Policy Types. This does NOT support the legacy Policy YAML policy type.
- properties:
- id:
- type: string
- description: The unique Automation Composition id.
- required: true
- timeout:
- type: integer
- description: >
- Overall timeout for executing all the operations. This timeout should
- equal or exceed the total
-
- timeout for each operation listed.
- required: true
- abatement:
- type: boolean
- description: >-
- Whether an abatement event message will be expected for the Automation
- Composition from DCAE.
- required: true
- default: false
- trigger:
- type: string
- description: >-
- Initial operation to execute upon receiving an Onset event message for
- the Automation Composition.
- required: true
- operations:
- type: list
- description: >-
- List of operations to be performed when Automation Composition is
- triggered.
- required: true
- entry_schema:
- type: onap.datatype.acm.Operation
- onap.policies.acm.operational.common.Apex:
- derived_from: onap.policies.acm.operational.Common
- type_version: 1.0.0
- version: 1.0.0
- name: onap.policies.acm.operational.common.Apex
- description: Operational policies for Apex PDP
- properties:
- engineServiceParameters:
- type: string
- description: >-
- The engine parameters like name, instanceCount, policy implementation,
- parameters etc.
- required: true
- eventInputParameters:
- type: string
- description: The event input parameters.
- required: true
- eventOutputParameters:
- type: string
- description: The event output parameters.
- required: true
- javaProperties:
- type: string
- description: Name/value pairs of properties to be set for APEX if needed.
- required: false
-node_types:
- org.onap.policy.clamp.acm.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.acm.AutomationCompositionElement:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: >-
- Specifies the organization that provides the automation composition
- element
- participant_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- metadata:
- common: true
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- required: true
- metadata:
- common: true
- description: >-
- The identity of the participant type that hosts this type of
- Automation Composition Element
- startPhase:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- metadata:
- common: true
- description: >-
- A value indicating the start phase in which this automation
- composition element will be started, the first start phase is zero.
- Automation Composition Elements are started in their start_phase order
- and stopped in reverse start phase order. Automation Composition
- Elements with the same start phase are started and stopped
- simultaneously
- uninitializedToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: >-
- The maximum time in seconds to wait for a state chage from
- uninitialized to passive
- passiveToRunningTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: >-
- The maximum time in seconds to wait for a state chage from passive to
- running
- runningToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: >-
- The maximum time in seconds to wait for a state chage from running to
- passive
- passiveToUninitializedTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: >-
- The maximum time in seconds to wait for a state chage from passive to
- uninitialized
- org.onap.policy.clamp.acm.AutomationComposition:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: >-
- Specifies the organization that provides the automation composition
- element
- elements:
- type: list
- required: true
- metadata:
- common: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- description: >-
- Specifies a list of automation composition element definitions that
- make up this automation composition definition
- org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- chart:
- type: string
- required: true
- configs:
- type: list
- required: false
- requirements:
- type: string
- requred: false
- templates:
- type: list
- required: false
- entry_schema: null
- values:
- type: string
- requred: true
- org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- baseUrl:
- type: string
- required: true
- description: >-
- The base URL to be prepended to each path, identifies the host for the
- REST endpoints.
- httpHeaders:
- type: map
- required: false
- entry_schema:
- type: string
- description: HTTP headers to send on REST requests
- configurationEntities:
- type: map
- required: true
- entry_schema:
- type: >-
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
- typeVersion: 1.0.0
- description: >-
- The connfiguration entities the Automation Composition Element is
- managing and their associated REST requests
- org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
- properties:
- policyServiceEntities:
- type: list
- required: true
- entry_schema:
- type: org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity
- typeVersion: 1.0.0
- description: The configuration entities of A1 PMS policy services
-topology_template:
- inputs:
- pmsh_monitoring_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH monitoring policy to use
- default:
- name: >-
- MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
- pmsh_operational_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH operational policy to use
- default:
- name: operational.apex.pmcontrol
- version: 1.0.0
- node_templates:
- org.onap.policy.clamp.acm.PolicyParticipant:
- version: 2.3.1
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- type_version: 1.0.0
- description: >-
- Automation composition element for the monitoring policy for Performance
- Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_monitoring_policy
- org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- type_version: 1.0.0
- description: >-
- Automation composition element for the operational policy for
- Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_operational_policy
- org.onap.policy.clamp.acm.KubernetesParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for K8S
- properties:
- provider: ONAP
- org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
- type_version: 1.0.0
- description: Automation composition element for the K8S microservice for PMSH
- properties:
- provider: ONAP
- participant_id:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.KubernetesParticipant
- version: 2.3.4
- chart:
- chartId:
- name: dcae-pmsh
- version: 10.0.0
- namespace: onap
- releaseName: onap-dcae-pmsh
- repository:
- repoName: chartmuseum
- address: 'http://chart-museum:80'
- userName: onapinitializer
- password: demo123456!
- overrideParams:
- global.masterPassword: test
- org.onap.policy.clamp.acm.HttpParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for Http requests
- properties:
- provider: ONAP
- org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
- type_version: 1.0.1
- description: >-
- Automation composition element for the http requests of PMSH
- microservice
- properties:
- provider: ONAP
- participant_id:
- name: HttpParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.HttpParticipant
- version: 2.3.4
- uninitializedToPassiveTimeout: 180
- startPhase: 1
- baseUrl: 'https://dcae-pmsh:8443'
- httpHeaders:
- Content-Type: application/json
- configurationEntities:
- - configurationEntityId:
- name: entity1
- version: 1.0.1
- restSequence:
- - restRequestId:
- name: request1
- version: 1.0.1
- httpMethod: POST
- path: subscription
- body: >-
- { "subscription":{ "subscriptionName":"new_sub_01",
- "operationalPolicyName":"pmsh-operational-policy",
- "controlLoopName":"controlLoop-name", "nfFilter":{ "nfNames":[
- "^pnf*" ], "modelInvariantIDs":[
- "7129e420-d396-4efb-af02-6b83499b12f5" ], "modelVersionIDs":[
- "e80a6ae3-cafd-4d24-850d-e14c084a5ca7" ], "modelNames":[
- "pnf_134" ] }, "measurementGroups":[ { "measurementGroup":{
- "measurementGroupName":"msgroup_01",
- "administrativeState":"UNLOCKED", "fileBasedGP":15,
- "fileLocation":"/pm/pm.xml", "measurementTypes":[ {
- "measurementType":"EutranCell.*" }, {
- "measurementType":"EutranCellRelation.pmCounter1" }, {
- "measurementType":"EutranCellRelation.pmCounter2" } ],
- "managedObjectDNsBasic":[ {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1"
- }, {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
- EUtranCellRelation=CityCenter2" }, {
- "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
- EUtranCellRelation=CityCenter3" } ] } } ] } }
- expectedResponse: 201
- org.onap.k8s.acm.A1PMSAutomationCompositionParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.acm.Participant
- type_version: 1.0.1
- description: Participant for A1 PMS requests
- properties:
- provider: ONAP
- org.onap.domain.database.PMSH_A1PMSAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement
- type_version: 1.0.1
- description: Automation composition element for the A1 PMS Requests
- properties:
- provider: ONAP
- participantType:
- name: org.onap.policy.clamp.acm.A1PMSParticipant
- version: 2.3.4
- policyServiceEntities:
- - a1PolicyServiceEntityId:
- name: entity1
- version: 1.0.1
- clientId: firstService
- callbackUrl: http://localhost
- keepAliveIntervalSeconds: 0
- - a1PolicyServiceEntityId:
- name: entity2
- version: 1.0.1
- clientId: secondService
- callbackUrl: http://127.0.0.1
- keepAliveIntervalSeconds: 0
- org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.AutomationComposition
- type_version: 1.0.0
- description: Automation composition for Hello World
- properties:
- provider: ONAP
- elements:
- - name: >-
- org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.database.PMSH_A1PMSAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement
- version: 1.2.3
- - name: >-
- org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
- version: 1.2.3