Add CSIT for ACM in docker 02/134102/1
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>
Sun, 2 Apr 2023 23:57:58 +0000 (00:57 +0100)
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>
Thu, 13 Apr 2023 08:08:43 +0000 (09:08 +0100)
Included policy particiant tests in docker.
Http and Kubernetes will be tested in kubernetes env.

Issue-ID: POLICY-4541
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: I2dcc294d9127307ef74a0f47791aed9d641b37f2

20 files changed:
compose/config/clamp/HttpParticipantParameters.yaml
compose/config/clamp/KubernetesParticipantParameters.yaml
compose/config/clamp/PolicyParticipantParameters.yaml
compose/docker-compose.yml
csit/resources/scripts/setup-clamp.sh
csit/resources/tests/data/ACDepriming.json [new file with mode: 0644]
csit/resources/tests/data/ACPriming.json [new file with mode: 0644]
csit/resources/tests/data/AutomationComposition.json
csit/resources/tests/data/DeployAC.json [new file with mode: 0644]
csit/resources/tests/data/InstantiateAC.json [deleted file]
csit/resources/tests/data/PassivateAC.json [deleted file]
csit/resources/tests/data/PassiveCommand.json [deleted file]
csit/resources/tests/data/UndeployAC.json [new file with mode: 0644]
csit/resources/tests/data/acelement-usecase.yaml [new file with mode: 0644]
csit/resources/tests/data/functional-pmsh-usecase.yaml [deleted file]
csit/resources/tests/policy-clamp-test.robot
csit/run-k8s-csit-enable.sh
helm/policy/Chart.yaml
helm/policy/components/policy-drools-pdp/values.yaml
helm/policy/values.yaml

index 038e97a..878eed7 100644 (file)
@@ -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:
index d9c3326..3449a5d 100644 (file)
@@ -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:
index 8db98a7..443a0ca 100644 (file)
@@ -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:
index 429e988..dfb6b64 100644 (file)
@@ -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
index 923b521..e680cf0 100755 (executable)
@@ -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 (file)
index 0000000..d2311b9
--- /dev/null
@@ -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 (file)
index 0000000..76fafec
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "primeOrder": "PRIME"
+}
\ No newline at end of file
index b58d611..5714825 100644 (file)
@@ -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 (file)
index 0000000..cf65ba6
--- /dev/null
@@ -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 (file)
index 4e93c03..0000000
+++ /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 (file)
index bd4c4a2..0000000
+++ /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 (file)
index 48422d7..0000000
+++ /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 (file)
index 0000000..148bca1
--- /dev/null
@@ -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 (file)
index 0000000..94deb94
--- /dev/null
@@ -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 (file)
index f0da6f3..0000000
+++ /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
index 5fa48af..3fc4155 100644 (file)
@@ -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}
+
index 25bc781..f8c5667 100755 (executable)
@@ -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
index 3b83cd9..9155311 100755 (executable)
@@ -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'
index 088a2dd..2d7415c 100644 (file)
@@ -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
index e007afb..322b1e9 100755 (executable)
@@ -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: