summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compose/config/clamp/HttpParticipantParameters.yaml10
-rw-r--r--compose/config/clamp/KubernetesParticipantParameters.yaml10
-rw-r--r--compose/config/clamp/PolicyParticipantParameters.yaml10
-rw-r--r--compose/docker-compose.yml11
-rwxr-xr-xcsit/resources/scripts/setup-clamp.sh4
-rw-r--r--csit/resources/tests/data/ACDepriming.json3
-rw-r--r--csit/resources/tests/data/ACPriming.json3
-rw-r--r--csit/resources/tests/data/AutomationComposition.json67
-rw-r--r--csit/resources/tests/data/DeployAC.json3
-rw-r--r--csit/resources/tests/data/InstantiateAC.json51
-rw-r--r--csit/resources/tests/data/PassivateAC.json9
-rw-r--r--csit/resources/tests/data/PassiveCommand.json5
-rw-r--r--csit/resources/tests/data/UndeployAC.json3
-rw-r--r--csit/resources/tests/data/acelement-usecase.yaml1117
-rw-r--r--csit/resources/tests/data/functional-pmsh-usecase.yaml3404
-rw-r--r--csit/resources/tests/policy-clamp-test.robot237
-rwxr-xr-xcsit/run-k8s-csit-enable.sh114
-rwxr-xr-xhelm/policy/Chart.yaml1
-rw-r--r--helm/policy/components/policy-drools-pdp/values.yaml2
-rwxr-xr-xhelm/policy/values.yaml10
20 files changed, 1400 insertions, 3674 deletions
diff --git a/compose/config/clamp/HttpParticipantParameters.yaml b/compose/config/clamp/HttpParticipantParameters.yaml
index 038e97af..878eed75 100644
--- a/compose/config/clamp/HttpParticipantParameters.yaml
+++ b/compose/config/clamp/HttpParticipantParameters.yaml
@@ -14,12 +14,7 @@ participant:
intermediaryParameters:
reportingTimeIntervalMs: 120000
description: Participant Description
- participantId:
- name: HttpParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.HttpParticipant
- version: 2.3.4
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c01
clampAutomationCompositionTopics:
topicSources:
- topic: POLICY-ACRUNTIME-PARTICIPANT
@@ -34,6 +29,9 @@ participant:
- ${topicServer:message-router}
topicCommInfrastructure: dmaap
useHttps: false
+ participantSupportedElementTypes:
+ - typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ typeVersion: 1.0.0
management:
endpoints:
web:
diff --git a/compose/config/clamp/KubernetesParticipantParameters.yaml b/compose/config/clamp/KubernetesParticipantParameters.yaml
index d9c3326f..3449a5d1 100644
--- a/compose/config/clamp/KubernetesParticipantParameters.yaml
+++ b/compose/config/clamp/KubernetesParticipantParameters.yaml
@@ -17,12 +17,7 @@ participant:
intermediaryParameters:
reportingTimeIntervalMs: 120000
description: Participant Description
- participantId:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.KubernetesParticipant
- version: 2.3.4
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c02
clampAutomationCompositionTopics:
topicSources:
-
@@ -39,6 +34,9 @@ participant:
- ${topicServer:message-router}
topicCommInfrastructure: dmaap
useHttps: false
+ participantSupportedElementTypes:
+ - typeName: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
+ typeVersion: 1.0.0
management:
endpoints:
diff --git a/compose/config/clamp/PolicyParticipantParameters.yaml b/compose/config/clamp/PolicyParticipantParameters.yaml
index 8db98a78..443a0cae 100644
--- a/compose/config/clamp/PolicyParticipantParameters.yaml
+++ b/compose/config/clamp/PolicyParticipantParameters.yaml
@@ -30,12 +30,7 @@ participant:
intermediaryParameters:
reportingTimeIntervalMs: 120000
description: Participant Description
- participantId:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.clamp.acm.PolicyParticipant
- version: 2.3.1
+ participantId: 101c62b3-8918-41b9-a747-d21eb79c6c03
clampAutomationCompositionTopics:
topicSources:
-
@@ -52,6 +47,9 @@ participant:
- ${topicServer:message-router}
topicCommInfrastructure: dmaap
useHttps: false
+ participantSupportedElementTypes:
+ - typeName: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
+ typeVersion: 1.0.0
management:
endpoints:
web:
diff --git a/compose/docker-compose.yml b/compose/docker-compose.yml
index 429e9889..dfb6b641 100644
--- a/compose/docker-compose.yml
+++ b/compose/docker-compose.yml
@@ -242,6 +242,10 @@ services:
depends_on:
- mariadb
- simulator
+ - policy-clamp-ac-http-ppnt
+ - policy-clamp-ac-k8s-ppnt
+ - policy-clamp-ac-pf-ppnt
+ - apex-pdp
hostname: policy-clamp-runtime-acm
ports:
- ${ACM_PORT}:6969
@@ -253,8 +257,13 @@ services:
command: [
'-c', './acm-runtime.sh',
'mariadb', '3306',
- 'message-router', '3904'
+ 'message-router', '3904',
+ 'policy-clamp-ac-http-ppnt', '6969',
+ 'policy-clamp-ac-k8s-ppnt', '6969',
+ 'policy-clamp-ac-pf-ppnt', '6969',
+ 'apex-pdp', '6969'
]
+
policy-clamp-ac-http-ppnt:
image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_VERSION}
container_name: policy-clamp-ac-http-ppnt
diff --git a/csit/resources/scripts/setup-clamp.sh b/csit/resources/scripts/setup-clamp.sh
index 923b5218..e680cf09 100755
--- a/csit/resources/scripts/setup-clamp.sh
+++ b/csit/resources/scripts/setup-clamp.sh
@@ -28,4 +28,6 @@ unset http_proxy https_proxy
export SUITES="policy-clamp-test.robot"
ROBOT_VARIABLES="-v POLICY_RUNTIME_ACM_IP:localhost:${ACM_PORT}
--v POLICY_API_IP:localhost:${POLICY_API_PORT}"
+-v POLICY_API_IP:localhost:${API_PORT} -v POLICY_PAP_IP:localhost:${PAP_PORT}"
+
+
diff --git a/csit/resources/tests/data/ACDepriming.json b/csit/resources/tests/data/ACDepriming.json
new file mode 100644
index 00000000..d2311b97
--- /dev/null
+++ b/csit/resources/tests/data/ACDepriming.json
@@ -0,0 +1,3 @@
+{
+ "primeOrder": "DEPRIME"
+} \ No newline at end of file
diff --git a/csit/resources/tests/data/ACPriming.json b/csit/resources/tests/data/ACPriming.json
new file mode 100644
index 00000000..76fafeca
--- /dev/null
+++ b/csit/resources/tests/data/ACPriming.json
@@ -0,0 +1,3 @@
+{
+ "primeOrder": "PRIME"
+} \ No newline at end of file
diff --git a/csit/resources/tests/data/AutomationComposition.json b/csit/resources/tests/data/AutomationComposition.json
index b58d6118..57148256 100644
--- a/csit/resources/tests/data/AutomationComposition.json
+++ b/csit/resources/tests/data/AutomationComposition.json
@@ -1,64 +1,25 @@
{
- "name": "PMSHInstance0",
+ "name": "DemoInstance0",
"version": "1.0.1",
"compositionId": "COMPOSITIONIDPLACEHOLDER",
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH automation composition instance 0",
+ "description": "Demo automation composition instance 0",
"elements": {
"709c62b3-8918-41b9-a747-d21eb79c6c20": {
"id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
"definition": {
- "name": "org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
"version": "1.2.3"
},
- "participantId": {
- "name": "K8sParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.KubernetesParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Automation composition element for the K8S microservice for PMSH"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "HttpParticipant0",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.HttpParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Automation composition element for the http requests of PMSH microservice"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Automation composition element for the operational policy for Performance Management Subscription Handling"
+ "description": "Policy Automation Composition Element for the Demo",
+ "properties": {
+ "policy_type_id": {
+ "name": "onap.policies.native.Apex",
+ "version": "1.0.0"
+ },
+ "policy_id": {
+ "get_input": "acm_element_policy"
+ }
+ }
}
}
-}
+} \ No newline at end of file
diff --git a/csit/resources/tests/data/DeployAC.json b/csit/resources/tests/data/DeployAC.json
new file mode 100644
index 00000000..cf65ba65
--- /dev/null
+++ b/csit/resources/tests/data/DeployAC.json
@@ -0,0 +1,3 @@
+{
+ "deployOrder": "DEPLOY"
+} \ No newline at end of file
diff --git a/csit/resources/tests/data/InstantiateAC.json b/csit/resources/tests/data/InstantiateAC.json
deleted file mode 100644
index 4e93c032..00000000
--- a/csit/resources/tests/data/InstantiateAC.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "automationCompositionList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "compositionId": "COMPOSITIONIDPLACEHOLDER",
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH automation composition instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Automation Composition Element for the PMSH instance 0 automation composition"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.PM_Policy",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.policy.clamp.acm.PolicyParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Automation Composition Element for the PMSH instance 0 automation composition"
- }
- }
- }
- ]
-}
-
diff --git a/csit/resources/tests/data/PassivateAC.json b/csit/resources/tests/data/PassivateAC.json
deleted file mode 100644
index bd4c4a21..00000000
--- a/csit/resources/tests/data/PassivateAC.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "orderedState": "PASSIVE",
- "automationCompositionIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- }
- ]
-}
diff --git a/csit/resources/tests/data/PassiveCommand.json b/csit/resources/tests/data/PassiveCommand.json
deleted file mode 100644
index 48422d7e..00000000
--- a/csit/resources/tests/data/PassiveCommand.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "instantiationCommand": {
- "orderedState": "PASSIVE"
- }
-}
diff --git a/csit/resources/tests/data/UndeployAC.json b/csit/resources/tests/data/UndeployAC.json
new file mode 100644
index 00000000..148bca11
--- /dev/null
+++ b/csit/resources/tests/data/UndeployAC.json
@@ -0,0 +1,3 @@
+{
+ "deployOrder": "UNDEPLOY"
+} \ No newline at end of file
diff --git a/csit/resources/tests/data/acelement-usecase.yaml b/csit/resources/tests/data/acelement-usecase.yaml
new file mode 100644
index 00000000..94deb943
--- /dev/null
+++ b/csit/resources/tests/data/acelement-usecase.yaml
@@ -0,0 +1,1117 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2023 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+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.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
+
+ org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ restRequestId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ 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
+ 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
+ type_version: 1.0.0
+ description: A sequence of REST commands to send to the REST endpoint
+
+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
+
+node_types:
+ org.onap.policy.clamp.acm.Participant:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ required: 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
+ 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.0
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
+ properties:
+ policy_type_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ required: true
+ policy_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ required: false
+ org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
+ version: 1.0.0
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
+ properties:
+ chart:
+ type: string
+ required: true
+ configs:
+ type: list
+ required: false
+ requirements:
+ type: string
+ required: false
+ templates:
+ type: list
+ required: false
+ entry_schema:
+ values:
+ type: string
+ required: true
+ org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
+ version: 1.0.0
+ 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
+ type_version: 1.0.0
+ description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests
+
+topology_template:
+ inputs:
+ acm_element_policy:
+ type: onap.datatypes.ToscaConceptIdentifier
+ description: The ID of the operational policy to use
+ default:
+ name: onap.policies.native.apex.ac.element
+ 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 Policy microservices
+ properties:
+ provider: ONAP
+ onap.policy.clamp.ac.element.Policy_AutomationCompositionElement:
+ 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
+ startPhase: 0
+
+ org.onap.k8s.acm.K8SAutomationCompositionParticipant:
+ version: 2.3.4
+ type: org.onap.policy.clamp.acm.Participant
+ type_version: 1.0.1
+ description: Participant for K8S
+ properties:
+ provider: ONAP
+ onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement:
+ # Chart from any chart repository configured on helm client.
+ 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 AC Element Starter
+ properties:
+ provider: ONAP
+ startPhase: 0
+ uninitializedToPassiveTimeout: 300
+ podStatusCheckInterval: 30
+ onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement:
+ # Chart from any chart repository configured on helm client.
+ 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 AC Element Bridge
+ properties:
+ provider: ONAP
+ startPhase: 0
+ uninitializedToPassiveTimeout: 300
+ podStatusCheckInterval: 30
+ onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement:
+ # Chart from any chart repository configured on helm client.
+ 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 AC Element Sink
+ properties:
+ provider: ONAP
+ startPhase: 0
+ uninitializedToPassiveTimeout: 300
+ podStatusCheckInterval: 30
+
+ 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
+ onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement:
+ # Http config for AC Element Starter.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ type_version: 1.0.0
+ description: Automation composition element for the http requests of AC Element Starter microservice
+ properties:
+ provider: ONAP
+ uninitializedToPassiveTimeout: 300
+ startPhase: 1
+ onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement:
+ # Http config for AC Element Bridge.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ type_version: 1.0.0
+ description: Automation composition element for the http requests of AC Element Bridge microservice
+ properties:
+ provider: ONAP
+ uninitializedToPassiveTimeout: 300
+ startPhase: 1
+ onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement:
+ # Http config for AC Element Sink.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ type_version: 1.0.0
+ description: Automation composition element for the http requests of AC Element Sink microservice
+ properties:
+ provider: ONAP
+ uninitializedToPassiveTimeout: 300
+ startPhase: 1
+
+ onap.policy.clamp.ac.element.AutomationCompositionDefinition:
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.AutomationComposition
+ type_version: 1.0.1
+ description: Automation composition for Demo
+ properties:
+ provider: ONAP
+ elements:
+ - name: onap.policy.clamp.ac.element.Policy_AutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement
+ version: 1.2.3
+ - name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement
+ version: 1.2.3
+
+ 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: DmaapResponseStatusEvent
+ version: 0.0.1
+ outgoingEventReference:
+ - name: DmaapResponseStatusEvent
+ 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: Dmaap
+ target: APEX
+ parameter:
+ entry:
+ - key: DmaapResponseEvent
+ value:
+ key:
+ parentKeyName: AcElementEvent
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DmaapResponseEvent
+ fieldSchemaKey:
+ name: ACEventType
+ version: 0.0.1
+ optional: false
+ toscaPolicyState: ENTRY
+ outputEvents:
+ entry:
+ - key: DmaapResponseStatusEvent
+ value:
+ key:
+ name: DmaapResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.ac.element
+ source: APEX
+ target: Dmaap
+ parameter:
+ entry:
+ - key: DmaapResponseStatusEvent
+ value:
+ key:
+ parentKeyName: DmaapResponseStatusEvent
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DmaapResponseStatusEvent
+ 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('DmaapResponseEvent');\n\
+ executor.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\
+ \ dmaapResponse = new java.util.HashMap();\n dmaapResponse.put('elementId',\
+ \ elementIdResponse);\n\n var message = msgResponse.get('message')\
+ \ + ' trace added from policy';\n dmaapResponse.put('message',\
+ \ message);\n dmaapResponse.put('messageType', 'STATUS');\n\
+ \ dmaapResponse.put('messageId', msgResponse.get('messageId'));\n\
+ \ dmaapResponse.put('timestamp', msgResponse.get('timestamp'));\n\
+ \n executor.logger.info('Sending forwarding Event to Ac\
+ \ element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent',\
+ \ dmaapResponse);\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: Dmaap
+ target: APEX
+ parameter:
+ entry:
+ - key: DmaapResponseEvent
+ value:
+ key:
+ parentKeyName: AcElementEvent
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DmaapResponseEvent
+ fieldSchemaKey:
+ name: ACEventType
+ version: 0.0.1
+ optional: false
+ toscaPolicyState: ENTRY
+ - key:
+ name: DmaapResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DmaapResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.ac.element
+ source: APEX
+ target: Dmaap
+ parameter:
+ entry:
+ - key: DmaapResponseStatusEvent
+ value:
+ key:
+ parentKeyName: DmaapResponseStatusEvent
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DmaapResponseStatusEvent
+ 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: DmaapResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DmaapResponseStatusEvent
+ version: 0.0.1
+ UUID: 2715cb6c-2778-3461-8b69-871e79f95935
+ description: Generated description for concept referred to by
+ key "DmaapResponseStatusEvent: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:
+ DmaapConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ pojoField: DmaapResponseEvent
+ eventName: AcElementEvent
+ eventNameFilter: AcElementEvent
+ eventOutputParameters:
+ logOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ fileName: outputevents.log
+ eventProtocolParameters:
+ eventProtocol: JSON
+ DmaapReplyProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/POLICY_UPDATE_MSG
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ pojoField: DmaapResponseStatusEvent
+ eventNameFilter: (LogEvent|DmaapResponseStatusEvent)
+ name: onap.policies.native.apex.ac.element
+ version: 1.0.0
diff --git a/csit/resources/tests/data/functional-pmsh-usecase.yaml b/csit/resources/tests/data/functional-pmsh-usecase.yaml
deleted file mode 100644
index f0da6f35..00000000
--- a/csit/resources/tests/data/functional-pmsh-usecase.yaml
+++ /dev/null
@@ -1,3404 +0,0 @@
-# ============LICENSE_START=======================================================
-# Copyright (C) 2022 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-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.controlloop.Target:
- derived_from: tosca.datatypes.Root
- description: Definition for a entity in A&AI to perform a control loop 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.controlloop.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.controlloop.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.controlloop.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.controlloop.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
- org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- restRequestId:
- type: onap.datatypes.ToscaConceptIdentifier
- 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
- 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
- type_version: 1.0.0
- description: A sequence of REST commands to send to the REST endpoint
-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.customPolicyType:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.customPolicyType
- onap.policies.controlloop.operational.Common:
- derived_from: tosca.policies.Root
- version: 1.0.0
- name: onap.policies.controlloop.operational.Common
- description: |
- Operational Policy for Control Loop 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 control loop 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 control
- loop from DCAE.
- required: true
- default: false
- trigger:
- type: string
- description: Initial operation to execute upon receiving an Onset event message
- for the Control Loop.
- required: true
- operations:
- type: list
- description: List of operations to be performed when Control Loop is triggered.
- required: true
- entry_schema:
- type: onap.datatype.controlloop.Operation
- onap.policies.controlloop.operational.common.Apex:
- derived_from: onap.policies.controlloop.operational.Common
- type_version: 1.0.0
- version: 1.0.0
- name: onap.policies.controlloop.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
- required: 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
- required: 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
- required: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- required: 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
- required: 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
- required: false
- templates:
- type: list
- required: false
- entry_schema:
- values:
- type: string
- required: 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
- type_version: 1.0.0
- description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests
-
-topology_template:
- inputs:
- 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_OperationalPolicyAutomationCompositionElement:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
- type_version: 1.0.1
- 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:
- # Chart from new repository
- version: 1.2.3
- type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
- type_version: 1.0.1
- 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: dcae-pmsh
- repository:
- repoName: chartmuseum
- address: http://chart-museum:80
- userName: onapinitializer
- password: demo123456!
- overrideParams:
- global.masterPassword: test
- global.centralizedLoggingEnabled: false
- 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:
- # Http config for PMSH.
- 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.domain.pmsh.PMSHAutomationCompositionDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.acm.AutomationComposition
- type_version: 1.0.1
- description: Automation composition for PMSH
- 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.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
- version: 1.2.3
- policies:
- - operational.apex.pmcontrol:
- type: onap.policies.controlloop.operational.common.Apex
- type_version: 1.0.0
- 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:
- 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.common.gson.InstantAsMillisTypeAdapter
- policy_type_impl:
- apexPolicyModel:
- key:
- name: PMControlPolicy
- version: 0.0.1
- keyInformation:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- keyInfoMap:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
- description: Generated description for concept referred to by
- key "CDSActionIdentifiersType:0.0.1"
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
- description: Generated description for concept referred to by
- key "CDSCreateResponseEvent:0.0.1"
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
- description: Generated description for concept referred to by
- key "CDSCreateResponsePayloadType:0.0.1"
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
- description: Generated description for concept referred to by
- key "CDSCreateResponsePolicy:0.0.1"
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
- description: Generated description for concept referred to by
- key "CDSCreateResponseTask:0.0.1"
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
- description: Generated description for concept referred to by
- key "CDSCreateSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
- description: Generated description for concept referred to by
- key "CDSCreateSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
- description: Generated description for concept referred to by
- key "CDSDeleteResponseEvent:0.0.1"
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
- description: Generated description for concept referred to by
- key "CDSDeleteResponsePayloadType:0.0.1"
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- UUID: a780251c-edd5-3132-b865-04313246b43c
- description: Generated description for concept referred to by
- key "CDSDeleteResponsePolicy:0.0.1"
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
- description: Generated description for concept referred to by
- key "CDSDeleteResponseTask:0.0.1"
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
- description: Generated description for concept referred to by
- key "CDSDeleteSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
- description: Generated description for concept referred to by
- key "CDSDeleteSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
- description: Generated description for concept referred to by
- key "CDSRequestCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
- description: Generated description for concept referred to by
- key "CDSResponseCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- UUID: 7986e21b-32f7-302e-9554-31f21b673493
- description: Generated description for concept referred to by
- key "CDSResponseStatusEvent:0.0.1"
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
- description: Generated description for concept referred to by
- key "CDSResponseStatusType:0.0.1"
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
- description: Generated description for concept referred to by
- key "CreateSubscriptionPayloadEvent:0.0.1"
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
- description: Generated description for concept referred to by
- key "CreateSubscriptionPayloadTask:0.0.1"
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
- description: Generated description for concept referred to by
- key "CreateSubscriptionRequestTask:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
- description: Generated description for concept referred to by
- key "DeleteSubscriptionPayloadEvent:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- UUID: 0f519117-5fea-3e4b-941f-8f778100465f
- description: Generated description for concept referred to by
- key "DeleteSubscriptionPayloadTask:0.0.1"
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- UUID: acb772fe-d442-39e3-98f9-b1080caf4150
- description: Generated description for concept referred to by
- key "DeleteSubscriptionRequestTask:0.0.1"
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
- description: Generated description for concept referred to by
- key "MRResponseEvent:0.0.1"
- - key:
- name: PMControlPolicy
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy
- version: 0.0.1
- UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
- description: Generated description for concept referred to by
- key "PMControlPolicy:0.0.1"
- - key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
- description: Generated description for concept referred to by
- key "PMControlPolicy_Albums:0.0.1"
- - key:
- name: PMControlPolicy_Events
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- UUID: be3871a0-c42a-3113-a066-82d192840eca
- description: Generated description for concept referred to by
- key "PMControlPolicy_Events:0.0.1"
- - key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- UUID: ced37634-28a4-3178-b7f6-2980794927b0
- description: Generated description for concept referred to by
- key "PMControlPolicy_KeyInfo:0.0.1"
- - key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
- description: Generated description for concept referred to by
- key "PMControlPolicy_Policies:0.0.1"
- - key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
- description: Generated description for concept referred to by
- key "PMControlPolicy_Schemas:0.0.1"
- - key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
- description: Generated description for concept referred to by
- key "PMControlPolicy_Tasks:0.0.1"
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
- description: Generated description for concept referred to by
- key "PMSubscriptionAlbum:0.0.1"
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
- description: Generated description for concept referred to by
- key "PMSubscriptionOutputEvent:0.0.1"
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
- description: Generated description for concept referred to by
- key "PMSubscriptionType: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: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- UUID: f596afc8-100c-35eb-92c8-352355ea457d
- description: Generated description for concept referred to by
- key "ReceiveSubscriptionTask: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: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
- description: Generated description for concept referred to by
- key "SubscriptionStatusType:0.0.1"
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
- description: Generated description for concept referred to by
- key "SubscriptionType: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"
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
- description: Generated description for concept referred to by
- key "pmsh-operational-policy:0.0.1"
- policies:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- policyMap:
- entry:
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSCreateResponseState
- value:
- stateKey:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSCreateResponseState
- trigger:
- name: CDSCreateResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- outgoingEventReference:
- - name: CDSResponseStatusEvent
- 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: CDSCreateResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: CDSCreateResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- firstState: CDSCreateResponseState
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSDeleteResponseState
- value:
- stateKey:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSDeleteResponseState
- trigger:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- outgoingEventReference:
- - name: CDSResponseStatusEvent
- 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: CDSDeleteResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: CDSDeleteResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- firstState: CDSDeleteResponseState
- - key:
- name: ReceiveEventPolicy
- version: 0.0.1
- value:
- policyKey:
- name: ReceiveEventPolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CreateOrDeleteState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- trigger:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: CreateSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- outgoingEvent:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- outgoingEventReference:
- - name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- - key: DeleteSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- outgoingEvent:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- outgoingEventReference:
- - name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: TaskSelectionLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- var changeType = pmSubscriptionInfo.get("changeType").toString()
- executor.logger.info("Change Type is " + changeType)
- if ("CREATE".equals(changeType)) {
- executor.logger.info("Choosing to create a subscription")
- executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
- else if ("DELETE".equals(changeType)) {
- executor.logger.info("Choosing to delete a subscription")
- executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
- returnValue = executor.isTrue;
- true;
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- - key: CreateSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- trigger:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueCreateSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- outgoingEvent:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- outgoingEventReference:
- - name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- - key: DeleteSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- trigger:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueDeleteSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- outgoingEvent:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- outgoingEventReference:
- - name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- - key: ReceiveSubscriptionState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: ReceiveSubscriptionState
- trigger:
- name: pmsh-operational-policy
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ReceivePMSubscriptionOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- outgoingEvent:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- outgoingEventReference:
- - name: PMSubscriptionOutputEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- firstState: ReceiveSubscriptionState
- tasks:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- taskMap:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- inputEvent:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: CDSResponseStatusEvent
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: DCAE
- parameter:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
- var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
- if ("CREATE".equals(changeType)) {
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
- }
- else if ("DELETE".equals(changeType)) {
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
- responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
- }
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
- executor.logger.info("RESPONSE STATUS = " + status)
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
- executor.outFields.put("status", responseStatus)
- returnValue = executor.isTrue;
- true;
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- inputEvent:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: CDSResponseStatusEvent
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: DCAE
- parameter:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
- var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
- if ("CREATE".equals(changeType)) {
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
- }
- else if ("DELETE".equals(changeType)) {
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
- responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
- }
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
- executor.logger.info("RESPONSE STATUS = " + status)
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
- executor.outFields.put("status", responseStatus)
- returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- inputEvent:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: CreateSubscriptionPayloadEvent
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
- if ("create".equals(changeType)) {
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
- }
- else if ("delete".equals(changeType)) {
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
- payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
- }
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
- returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- inputEvent:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: CDSCreateSubscriptionRequestEvent
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- executor.logger.info(pmSubscriptionInfo)
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
- returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- inputEvent:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: DeleteSubscriptionPayloadEvent
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
- if ("create".equals(changeType)) {
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
- }
- else if ("delete".equals(changeType)) {
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
- payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
- }
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
- returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- inputEvent:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputEvents:
- entry:
- - key: CDSDeleteSubscriptionRequestEvent
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- executor.logger.info(executor.subject.id);
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- executor.logger.info(pmSubscriptionInfo)
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
- returnValue = executor.isTrue;
- true;
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- inputEvent:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: controlLoopName
- value:
- key: controlLoopName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: ipAddress
- value:
- key: ipAddress
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: measurementGroupName
- value:
- key: measurementGroupName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: true
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: operationalPolicyName
- value:
- key: operationalPolicyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: true
- - key: subscriptionName
- value:
- key: subscriptionName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: true
- outputEvents:
- entry:
- - key: PMSubscriptionOutputEvent
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- var uuidType = java.util.UUID;
- executor.logger.info(executor.subject.id);
- //albumID will be used to fetch info from our album later
- var albumID = uuidType.randomUUID();
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
- var returnValue = true;
- if(executor.inFields.get("operationalPolicyName") != null) {
- executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
- var changeType = executor.inFields.get("changeType")
- var nfName = executor.inFields.get("nfName")
- var ipAddress = executor.inFields.get("ipAddress")
- var operationalPolicyName = executor.inFields.get("operationalPolicyName")
- var controlLoopName = executor.inFields.get("controlLoopName")
- var subscription = executor.inFields.get("subscription")
- var blueprintName = executor.inFields.get("blueprintName")
- var blueprintVersion = executor.inFields.get("blueprintVersion")
- pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
- pmSubscriptionInfo.put("ipAddress", executor.inFields.get("ipAddress"));
- pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
- pmSubscriptionInfo.put("operationalPolicyName", executor.inFields.get("operationalPolicyName"))
- pmSubscriptionInfo.put("controlLoopName", executor.inFields.get("controlLoopName"))
- pmSubscriptionInfo.put("subscription", subscription)
- pmSubscriptionInfo.put("blueprintName", blueprintName)
- pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
- if ("delete".equals(changeType.toLowerCase())) {
- pmSubscriptionInfo.put("subscriptionName", executor.inFields.get("subscriptionName"))
- pmSubscriptionInfo.put("measurementGroupName", executor.inFields.get("measurementGroupName"))
- }
- executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
- executor.outFields.put("albumID", albumID)
- } else {
- executor.message = "Received invalid event"
- returnValue = false;
- }
- returnValue;
- events:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- eventMap:
- entry:
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: DCAE
- parameter:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: count
- value:
- key: count
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key: serverTimeMs
- value:
- key: serverTimeMs
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: controlLoopName
- value:
- key: controlLoopName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: ipAddress
- value:
- key: ipAddress
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: measurementGroupName
- value:
- key: measurementGroupName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: true
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: operationalPolicyName
- value:
- key: operationalPolicyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: true
- - key: subscriptionName
- value:
- key: subscriptionName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: true
- albums:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- albums:
- entry:
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- scope: policy
- isWritable: true
- itemSchema:
- name: PMSubscriptionType
- version: 0.0.1
- schemas:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- schemas:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActionIdentifiers_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "actionName",
- "type": "string"
- },
- {
- "name": "blueprintName",
- "type": "string"
- },
- {
- "name": "blueprintVersion",
- "type": "string"
- },
- {
- "name": "mode",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "CreateResponsePayloadEntry",
- "type": "record",
- "namespace": "com.acme.avro",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_response",
- "type": {
- "name": "create_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type":"map",
- "values":{
- "type":"record",
- "name":"CDSRequestPayloadEntry",
- "fields":[
- {
- "name":"create_DasH_subscription_DasH_properties",
- "type":{
- "name":"create_DasH_subscription_DasH_properties_record",
- "type":"record",
- "fields":[
- {
- "name":"nfName",
- "type":"string"
- },
- {
- "name":"ipAddress",
- "type":"string"
- },
- {
- "name":"subscriptionName",
- "type":"string"
- },
- {
- "name":"fileBasedGP",
- "type":"string"
- },
- {
- "name":"fileLocation",
- "type":"string"
- },
- {
- "name":"measurementGroup",
- "type":{
- "name":"Measurement_Group_Type",
- "type":"record",
- "fields":[
- {
- "name":"measurementGroupName",
- "type":"string"
- },
- {
- "name":"measurementTypes",
- "type":{
- "type":"array",
- "items":{
- "name":"Measurement_Types_Type",
- "type":"record",
- "fields":[
- {
- "name":"measurementType",
- "type":"string"
- }
- ]
- }
- }
- },
- {
- "name":"managedObjectDNsBasic",
- "type":{
- "type":"array",
- "items":{
- "name":"Managed_Object_Dns_Basic_Type",
- "type":"record",
- "fields":[
- {
- "name":"DN",
- "type":"string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "DeleteResponsePayloadEntry",
- "type": "record",
- "namespace": "com.acme.avro",
- "fields": [
- {
- "name": "delete_DasH_subscription_DasH_response",
- "type": {
- "name": "delete_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type":"map",
- "values":{
- "type":"record",
- "name":"CDSRequestPayloadEntry",
- "fields":[
- {
- "name":"delete_DasH_subscription_DasH_properties",
- "type":{
- "name":"delete_DasH_subscription_DasH_properties_record",
- "type":"record",
- "fields":[
- {
- "name":"nfName",
- "type":"string"
- },
- {
- "name":"ipAddress",
- "type":"string"
- },
- {
- "name":"subscriptionName",
- "type":"string"
- },
- {
- "name":"measurementGroupName",
- "type":"string"
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "RequestCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "flags",
- "type": ["null", "string"]
- }
- ]
- }
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "code",
- "type": "int"
- },
- {
- "name": "eventType",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "PMSubscription",
- "type": "record",
- "namespace": "org.onap.policy.apex.onap.pmcontrol",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "ipAddress",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "controlLoopName",
- "type": "string"
- },
- {
- "name": "operationalPolicyName",
- "type": "string"
- },
- {
- "name": "blueprintName",
- "type": "string"
- },
- {
- "name": "blueprintVersion",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "measurementGroupName",
- "type": "string"
- },
- {
- "name": "subscription",
- "type": {
- "name": "subscription",
- "type": "record",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "int"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroup",
- "type": {
- "name": "Measurement_Group_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroupName",
- "type": "string"
- },
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Types_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "Managed_Object_Dns_Basic_Type",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - 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: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActivateSubscriptionStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "measurementGroupName",
- "type": "string"
- },
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "subscription",
- "type": "record",
- "default": "null",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "int"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroup",
- "type": {
- "name": "Measurement_Group_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroupName",
- "type": "string"
- },
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "Measurement_Types_Type",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "Managed_Object_Dns_Basic_Type",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: UUIDType
- version: 0.0.1
- value:
- key:
- name: UUIDType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.util.UUID
- eventInputParameters:
- DCAEConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTCLIENT
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
- parameters:
- consumerPollTime: '50'
- url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
- eventProtocolParameters:
- eventProtocol: JSON
- parameters:
- nameAlias: operationalPolicyName
- eventName: pmsh-operational-policy
- eventNameFilter: pmsh-operational-policy
- CDSRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSCreateResponseEvent
- eventNameFilter: CDSCreateResponseEvent
- requestorMode: true
- requestorPeer: CDSRequestProducer
- requestorTimeout: 500
- CDSDeleteRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSDeleteResponseEvent
- eventNameFilter: CDSDeleteResponseEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestProducer
- requestorTimeout: 500
- eventOutputParameters:
- logOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- standardIo: true
- eventProtocolParameters:
- eventProtocol: JSON
- StdOutOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- standardIo: true
- eventProtocolParameters:
- eventProtocol: JSON
- CDSRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSCreateSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSRequestConsumer
- requestorTimeout: 500
- CDSDeleteRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSDeleteSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestConsumer
- requestorTimeout: 500
- CDSReplyProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTCLIENT
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
- parameters:
- url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
- httpMethod: POST
- restRequestTimeout: 2000
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSResponseStatusEvent
diff --git a/csit/resources/tests/policy-clamp-test.robot b/csit/resources/tests/policy-clamp-test.robot
index 5fa48af2..3fc41550 100644
--- a/csit/resources/tests/policy-clamp-test.robot
+++ b/csit/resources/tests/policy-clamp-test.robot
@@ -17,82 +17,161 @@ Healthcheck
Log Received response from ACM healthcheck {resp.text}
Should Be Equal As Strings ${resp.status_code} 200
-#CommissionAutomationCompositionV1
-# [Documentation] Commission automation composition.
-# ${auth}= Create List runtimeUser zb!XztG34
-# Log Creating session http://${POLICY_RUNTIME_ACM_IP}
-# ${postyaml}= Get file ${CURDIR}/data/functional-pmsh-usecase.yaml
-# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml
-# ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions data=${postyaml} headers=${headers}
-# Log Received response from runtime acm ${resp.text}
-# ${respyaml}= yaml.Safe Load ${resp.text}
-# set Suite variable ${compositionId} ${respyaml["compositionId"]}
-# Should Be Equal As Strings ${resp.status_code} 201
-#
-#InstantiateAutomationCompositionV1
-# [Documentation] Instantiate automation composition.
-# ${auth}= Create List runtimeUser zb!XztG34
-# Log Creating session http://${POLICY_RUNTIME_ACM_IP}
-# ${postjson}= Get file ${CURDIR}/data/AutomationComposition.json
-# ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId}
-# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances data=${updatedpostjson} headers=${headers}
-# Log Received response from runtime acm ${resp.text}
-# ${respyaml}= yaml.Safe Load ${resp.text}
-# set Suite variable ${instanceId} ${respyaml["instanceId"]}
-# Should Be Equal As Strings ${resp.status_code} 201
-#
-#PassivateAutomationComposition
-# [Documentation] Passivate automation composition.
-# ${auth}= Create List runtimeUser zb!XztG34
-# Log Creating session http://${POLICY_RUNTIME_ACM_IP}
-# ${postjson}= Get file ${CURDIR}/data/PassiveCommand.json
-# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers}
-# Log Received response from runtime acm ${resp.text}
-# Should Be Equal As Strings ${resp.status_code} 200
-#
-#QueryPolicies
-# [Documentation] Runs Policy Participant Query New Policies
-# ${auth}= Create List policyadmin zb!XztG34
-# Log Creating session http://${POLICY_API_IP}
-# ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= GET On Session policy /policy/api/v1/policies headers=${headers}
-# Log Received response from policy-api {resp.text}
-# Should Be Equal As Strings ${resp.status_code} 200
-#
-#QueryPolicyTypes
-# [Documentation] Runs Policy Participant Query New Policy Types
-# ${auth}= Create List policyadmin zb!XztG34
-# Log Creating session http://${POLICY_API_IP}}:6969
-# ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers}
-# Log Received response from policy-api ${resp.text}
-# Should Be Equal As Strings ${resp.status_code} 200
-#
-#StateChangeRunningAutomationComposition
-# [Documentation] AutomationComposition State Change to RUNNING.
-# ${auth}= Create List runtimeUser zb!XztG34
-# Log Creating session http://${POLICY_RUNTIME_ACM_IP}
-# ${postjson}= Get file ${CURDIR}/data/RunningCommand.json
-# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers} expected_status=400
-# Log Received response from runtime acm ${resp.text}
-#
-#QueryInstantiatedACs
-# [Documentation] Get Instantiated AutomationCompositions
-# ${auth}= Create List runtimeUser zb!XztG34
-# Log Creating session http://${POLICY_RUNTIME_ACM_IP}
-# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
-# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
-# ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers}
-# Log Received response from runtime acm ${resp.text}
-# Should Be Equal As Strings ${resp.status_code} 200
-# Should Be Equal As Strings ${resp.json()['state']} UNINITIALISED2PASSIVE
-# Should Be Equal As Strings ${resp.json()['orderedState']} PASSIVE
+CommissionAutomationComposition
+ [Documentation] Commission automation composition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postyaml}= Get file ${CURDIR}/data/acelement-usecase.yaml
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml
+ ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions data=${postyaml} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ ${respyaml}= yaml.Safe Load ${resp.text}
+ set Suite variable ${compositionId} ${respyaml["compositionId"]}
+ Should Be Equal As Strings ${resp.status_code} 201
+
+RegisterParticipants
+ [Documentation] Register Participants.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/participants
+ Log Received response from runtime acm ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 202
+
+PrimeACDefinitions
+ [Documentation] Prime automation composition definition
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/ACPriming.json
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} data=${postjson} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 202
+ Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming PRIMED
+
+
+InstantiateAutomationComposition
+ [Documentation] Instantiate automation composition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/AutomationComposition.json
+ ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId}
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances data=${updatedpostjson} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ ${respyaml}= yaml.Safe Load ${resp.text}
+ set Suite variable ${instanceId} ${respyaml["instanceId"]}
+ Should Be Equal As Strings ${resp.status_code} 201
+
+DeployAutomationComposition
+ [Documentation] Deploy automation composition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/DeployAC.json
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 202
+ Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus DEPLOYED
+
+
+QueryPolicies
+ [Documentation] Verify the new policies deployed
+ ${auth}= Create List policyadmin zb!XztG34
+ Log Creating session http://${POLICY_PAP_IP}
+ ${session}= Create Session policy http://${POLICY_PAP_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= GET On Session policy /policy/pap/v1/policies/deployed headers=${headers}
+ Log Received response from policy-pap {resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Dictionary Should Contain Value ${resp.json()[0]} onap.policies.native.apex.ac.element
+
+
+QueryPolicyTypes
+ [Documentation] Verify the new policy types created
+ ${auth}= Create List policyadmin zb!XztG34
+ Log Creating session http://${POLICY_API_IP}}:6969
+ ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers}
+ Log Received response from policy-api ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+ List Should Contain Value ${resp.json()['policy_types']} onap.policies.native.Apex
+
+
+UnDeployAutomationComposition
+ [Documentation] UnDeploy automation composition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/UndeployAC.json
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 202
+ Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus UNDEPLOYED
+
+
+UnInstantiateAutomationComposition
+ [Documentation] Delete automation composition instance.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+
+DePrimeACDefinitions
+ [Documentation] DePrime automation composition definition
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/ACDepriming.json
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} data=${postjson} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 202
+ Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming COMMISSIONED
+
+
+DeleteACDefinition
+ [Documentation] Delete automation composition definition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml
+ ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers}
+ Log Received response from runtime acm ${resp.text}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+
+
+*** Keywords ***
+
+VerifyPriming
+ [Arguments] ${primestate}
+ [Documentation] Verify the AC definitions are primed to the participants
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['state']} ${primestate}
+
+VerifyDeployStatus
+ [Arguments] ${deploystate}
+ [Documentation] Verify the Deploy status of automation composition.
+ ${auth}= Create List runtimeUser zb!XztG34
+ Log Creating session http://${POLICY_RUNTIME_ACM_IP}
+ ${postjson}= Get file ${CURDIR}/data/DeployAC.json
+ ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['deployState']} ${deploystate}
+
diff --git a/csit/run-k8s-csit-enable.sh b/csit/run-k8s-csit-enable.sh
index 25bc781c..f8c56678 100755
--- a/csit/run-k8s-csit-enable.sh
+++ b/csit/run-k8s-csit-enable.sh
@@ -26,6 +26,8 @@ if [ -z "${WORKSPACE}" ]; then
export WORKSPACE
fi
+export GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${WORKSPACE}"/.gitreview)
+
CSIT_SCRIPT="scripts/run-test.sh"
ROBOT_DOCKER_IMAGE="policy-csit-robot"
POLICY_CLAMP_ROBOT="policy-clamp-test.robot"
@@ -35,6 +37,7 @@ POLICY_APEX_PDP_ROBOT="apex-pdp-test.robot apex-slas.robot"
POLICY_XACML_PDP_ROBOT="xacml-pdp-test.robot"
POLICY_DROOLS_PDP_ROBOT="drools-pdp-test.robot"
POLICY_DISTRIBUTION_ROBOT="distribution-test.robot"
+
POLICY_API_CONTAINER="policy-api"
POLICY_PAP_CONTAINER="policy-pap"
POLICY_CLAMP_CONTAINER="policy-clamp-runtime-acm"
@@ -42,6 +45,9 @@ POLICY_APEX_CONTAINER="policy-apex-pdp"
POLICY_DROOLS_CONTAINER="policy-drools-pdp"
POLICY_XACML_CONTAINER="policy-xacml-pdp"
POLICY_DISTRIBUTION_CONTAINER="policy-distribution"
+POLICY_K8S_PPNT_CONTAINER="policy-clamp-ac-k8s-ppnt"
+POLICY_HTTP_PPNT_CONTAINER="policy-clamp-ac-http-ppnt"
+POLICY_PF_PPNT_CONTAINER="policy-clamp-ac-pf-ppnt"
SET_VALUES=""
DISTRIBUTION_CSAR=${WORKSPACE}/csit/resources/tests/data/csar
@@ -84,18 +90,24 @@ function spin_microk8s_cluster() {
}
-function teardown_cluster() {
- echo "Removing k8s cluster and k8s configuration file"
+function uninstall_policy() {
+ echo "Removing the policy helm deployment"
sudo microk8s helm uninstall csit-policy
sudo microk8s helm uninstall prometheus
sudo microk8s helm uninstall csit-robot
rm -rf ${WORKSPACE}/helm/policy/Chart.lock
sudo rm -rf /dockerdata-nfs/mariadb-galera/
- echo "K8s Cluster removed"
+ echo "Policy deployment deleted"
echo "Clean up docker"
docker image prune -f
}
+function teardown_cluster() {
+ echo "Removing k8s cluster and k8s configuration file"
+ sudo snap remove microk8s;rm -rf $HOME/.kube/config
+ echo "MicroK8s Cluster removed"
+}
+
function build_robot_image() {
echo "Build docker image for robot framework"
cd ${WORKSPACE}/csit/resources || exit
@@ -121,6 +133,15 @@ function start_csit() {
rm -rf ${WORKSPACE}/csit/resources/policy-csit-robot.tar
rm -rf ${WORKSPACE}/csit/resources/tests/models/
echo "---------------------------------------------"
+ if [ $PROJECT == "clamp" ] || [ $PROJECT == "policy-clamp" ]; then
+ POD_READY_STATUS="0/1"
+ while [[ ${POD_READY_STATUS} != "1/1" ]]; do
+ echo "Waiting for chartmuseum pod to come up..."
+ sleep 5
+ POD_READY_STATUS=$(microk8s kubectl get pods | grep -e "policy-chartmuseum" | awk '{print $2}')
+ done
+ push_acelement_chart
+ fi
echo "Installing Robot framework pod for running CSIT"
cd ${WORKSPACE}/helm
mkdir -p ${ROBOT_LOG_DIR}
@@ -146,9 +167,8 @@ function print_robot_log() {
echo "Please check the logs of policy-csit-robot pod for the test execution results"
}
-function clone_models() {
- GERRIT_BRANCH=$(awk -F= '$1 == "defaultbranch" { print $2 }' "${WORKSPACE}"/.gitreview)
- echo GERRIT_BRANCH="${GERRIT_BRANCH}"
+
+function clone_models () {
# download models examples
git clone -b "${GERRIT_BRANCH}" --single-branch https://github.com/onap/policy-models.git "${WORKSPACE}"/csit/resources/tests/models
@@ -173,12 +193,17 @@ function copy_csar_file() {
sudo mv ${DISTRIBUTION_CSAR}/temp.csar ${DIST_TEMP_FOLDER}/sample_csar_with_apex_policy.csar
}
-function get_robot_file() {
+
+function set_project_config() {
+ echo "Setting project configuration for: $PROJECT"
case $PROJECT in
clamp | policy-clamp)
export ROBOT_FILE=$POLICY_CLAMP_ROBOT
- export READINESS_CONTAINERS=($POLICY_CLAMP_CONTAINER)
+ export READINESS_CONTAINERS=($POLICY_CLAMP_CONTAINER,$POLICY_APEX_CONTAINER,$POLICY_PF_PPNT_CONTAINER,$POLICY_K8S_PPNT_CONTAINER,
+ $POLICY_HTTP_PPNT_CONTAINER)
+ export SET_VALUES="--set $POLICY_CLAMP_CONTAINER.enabled=true --set $POLICY_APEX_CONTAINER.enabled=true
+ --set $POLICY_PF_PPNT_CONTAINER.enabled=true --set $POLICY_K8S_PPNT_CONTAINER.enabled=true --set $POLICY_HTTP_PPNT_CONTAINER.enabled=true"
;;
api | policy-api)
@@ -190,83 +215,73 @@ function get_robot_file() {
export ROBOT_FILE=$POLICY_PAP_ROBOT
export READINESS_CONTAINERS=($POLICY_APEX_CONTAINER,$POLICY_PAP_CONTAINER,$POLICY_API_CONTAINER,$POLICY_DROOLS_CONTAINER,
$POLICY_XACML_CONTAINER)
+ export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_DROOLS_CONTAINER.enabled=true --set $POLICY_XACML_CONTAINER.enabled=true"
;;
apex-pdp | policy-apex-pdp)
export ROBOT_FILE=$POLICY_APEX_PDP_ROBOT
export READINESS_CONTAINERS=($POLICY_APEX_CONTAINER,$POLICY_API_CONTAINER,$POLICY_PAP_CONTAINER)
+ export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true"
;;
xacml-pdp | policy-xacml-pdp)
export ROBOT_FILE=($POLICY_XACML_PDP_ROBOT)
export READINESS_CONTAINERS=($POLICY_API_CONTAINER,$POLICY_PAP_CONTAINER,$POLICY_XACML_CONTAINER)
+ export SET_VALUES="--set $POLICY_XACML_CONTAINER.enabled=true"
;;
drools-pdp | policy-drools-pdp)
export ROBOT_FILE=($POLICY_DROOLS_PDP_ROBOT)
export READINESS_CONTAINERS=($POLICY_DROOLS_CONTAINER)
+ export SET_VALUES="--set $POLICY_DROOLS_CONTAINER.enabled=true"
;;
distribution | policy-distribution)
export ROBOT_FILE=($POLICY_DISTRIBUTION_ROBOT)
export READINESS_CONTAINERS=($POLICY_APEX_CONTAINER,$POLICY_API_CONTAINER,$POLICY_PAP_CONTAINER,
$POLICY_DISTRIBUTION_CONTAINER)
+ export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_DISTRIBUTION_CONTAINER.enabled=true"
;;
*)
- echo "unknown project supplied"
+ echo "Unknown project supplied. Enabling all policy charts for the deployment"
+ export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_XACML_CONTAINER.enabled=true
+ --set $POLICY_DISTRIBUTION_CONTAINER.enabled=true --set $POLICY_POLICY_DROOLS_CONTAINER.enabled=true
+ --set $POLICY_CLAMP_CONTAINER.enabled=true --set $POLICY_PF_PPNT_CONTAINER.enabled=true
+ --set $POLICY_K8S_PPNT_CONTAINER.enabled=true --set $POLICY_HTTP_PPNT_CONTAINER.enabled=true"
;;
esac
}
-function set_charts() {
- case $PROJECT in
-
- clamp | policy-clamp)
- export SET_VALUES="--set $POLICY_CLAMP_CONTAINER.enabled=true"
- ;;
-
- api | policy-api)
- export SET_VALUES="--set $POLICY_API_CONTAINER.enabled=true"
- ;;
-
- pap | policy-pap)
- export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_PAP_CONTAINER.enabled=true --set $POLICY_API_CONTAINER.enabled=true
- --set $POLICY_DROOLS_CONTAINER.enabled=true --set $POLICY_XACML_CONTAINER.enabled=true"
- ;;
-
- apex-pdp | policy-apex-pdp)
- export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_PAP_CONTAINER.enabled=true --set $POLICY_API_CONTAINER.enabled=true"
- ;;
-
- xacml-pdp | policy-xacml-pdp)
- export SET_VALUES="--set $POLICY_PAP_CONTAINER.enabled=true --set $POLICY_API_CONTAINER.enabled=true --set $POLICY_XACML_CONTAINER.enabled=true"
- ;;
-
- drools-pdp | policy-drools-pdp)
- export SET_VALUES="--set $POLICY_DROOLS_CONTAINER.enabled=true"
- ;;
-
- distribution | policy-distribution)
- export SET_VALUES="--set $POLICY_APEX_CONTAINER.enabled=true --set $POLICY_PAP_CONTAINER.enabled=true --set $POLICY_API_CONTAINER.enabled=true
- --set $POLICY_DISTRIBUTION_CONTAINER.enabled=true"
- ;;
+function install_chartmuseum () {
+ echo "Installing Chartmuseum helm repository..."
+ sudo microk8s helm repo add chartmuseum-git https://chartmuseum.github.io/charts
+ sudo microk8s helm repo update
+ sudo microk8s helm install policy-chartmuseum chartmuseum-git/chartmuseum --set env.open.DISABLE_API=false --set service.type=NodePort --set service.nodePort=30208
+ sudo microk8s helm plugin install https://github.com/chartmuseum/helm-push
+}
- *)
- echo "all charts to be deployed"
- ;;
- esac
+function push_acelement_chart() {
+ echo "Pushing acelement chart to the chartmuseum repo..."
+ sudo microk8s helm repo add policy-chartmuseum http://localhost:30208
+ # download clamp repo
+ git clone -b "${GERRIT_BRANCH}" --single-branch https://github.com/onap/policy-clamp.git "${WORKSPACE}"/csit/resources/tests/clamp
+ ACELEMENT_CHART=${WORKSPACE}/csit/resources/tests/clamp/examples/src/main/resources/clamp/acm/acelement-helm/acelement
+ sudo microk8s helm cm-push $ACELEMENT_CHART policy-chartmuseum
+ sudo microk8s helm repo update
+ echo "-------------------------------------------"
}
+
OPERATION="$1"
PROJECT="$2"
-if [ $OPERATION == "install" ]; then
+if [ $OPERATION == "install" ]; then
spin_microk8s_cluster
if [ "${?}" -eq 0 ]; then
- set_charts
+ set_project_config
echo "Installing policy helm charts in the default namespace"
cd ${WORKSPACE}/helm || exit
sudo microk8s helm dependency build policy
@@ -289,7 +304,10 @@ if [ $OPERATION == "install" ]; then
fi
elif [ $OPERATION == "uninstall" ]; then
+ uninstall_policy
+
+elif [ $OPERATION == "clean" ]; then
teardown_cluster
else
- echo "Invalid arguments provided. Usage: $0 [option..] {install {project} | uninstall}"
+ echo "Invalid arguments provided. Usage: $0 [option..] {install {project} | uninstall} | {clean}"
fi
diff --git a/helm/policy/Chart.yaml b/helm/policy/Chart.yaml
index 3b83cd9a..91553112 100755
--- a/helm/policy/Chart.yaml
+++ b/helm/policy/Chart.yaml
@@ -21,6 +21,7 @@ dependencies:
- name: mariadb-galera
version: ~11.x-0
repository: 'file://components/mariadb-galera'
+ condition: mariadb-galera.enabled
- name: policy-clamp-ac-k8s-ppnt
version: ~11.x-0
repository: 'file://components/policy-clamp-ac-k8s-ppnt'
diff --git a/helm/policy/components/policy-drools-pdp/values.yaml b/helm/policy/components/policy-drools-pdp/values.yaml
index 088a2dda..2d7415cd 100644
--- a/helm/policy/components/policy-drools-pdp/values.yaml
+++ b/helm/policy/components/policy-drools-pdp/values.yaml
@@ -43,7 +43,7 @@ secrets:
# Application configuration defaults.
#################################################################
# application image
-image: nexus3.onap.org:10001/onap/policy-pdpd-cl:1.12-SNAPSHOT-latest
+image: nexus3.onap.org:10001/onap/policy-pdpd-cl:1.12.1
pullPolicy: Always
# flag to enable debugging - application support required
diff --git a/helm/policy/values.yaml b/helm/policy/values.yaml
index e007afb6..322b1e9f 100755
--- a/helm/policy/values.yaml
+++ b/helm/policy/values.yaml
@@ -31,16 +31,18 @@ global:
policyKafkaUser: policy-kafka-user
+policy-mariadb-galera:
+ enabled: true
policy-models-simulator:
enabled: true
+policy-api:
+ enabled: true
+policy-pap:
+ enabled: true
policy-clamp-ac-k8s-ppnt:
enabled: false
policy-clamp-runtime-acm:
enabled: false
-policy-api:
- enabled: false
-policy-pap:
- enabled: false
policy-apex-pdp:
enabled: false
policy-clamp-ac-pf-ppnt: