diff --git a/.gitignore b/.gitignore
index 35a76c2..4e5e3fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,3 +79,4 @@
 .apt_generated_test/
 
 !operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/k8s-profiles
+!doc/files
diff --git a/doc/dosc_A1_PE_PoC.rst b/doc/dosc_A1_PE_PoC.rst
new file mode 100644
index 0000000..aebe8eb
--- /dev/null
+++ b/doc/dosc_A1_PE_PoC.rst
@@ -0,0 +1,426 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2021 Samsung Electronics Co., Ltd.
+
+.. _docs_A1_PE_PoC:
+
+:orphan:
+
+A1 Policy Enforcement PoC
+-------------------------
+
+Source files
+~~~~~~~~~~~~
+- A1 PE Simulator: `A1 Policy Enforcement Simulator code`_
+- RAPPs code: `A1 Policy Enforcement rapps code`_
+
+Description
+~~~~~~~~~~~
+This PoC shows automated A1 policy updates towards O-RAN Near-RT RIC based on VES events received from RAN elements and analysis done by ONAP Non-RT RIC components as R-APP (DCAE MSs).
+The goal is to show how ONAP platform features can be used to implement a control loop based on Non RT RIC in demonstrated **Policy Enforcement scenario**. RAPPs should predicted that Cell 1 will go to sleep in 1 minute and all high priority UE (emergency) will be proactively switched from Cell 1 to Cell 2 (another cell in ue range).
+
+**Policy Enforcement scenario**:
+
+- A1 PE Simulator deployed as CNF in ONAP
+- A1 PE Simulator is configured as RIC in ONAP Policy Managment Service
+- RAPPs are deployed in ONAP as DCAE MS (to monitor and optimize behavior of RAN)
+- RIC simulates a sleeping cell behavior
+- Detection of sleeping cell in A1 policy, triggers handover of emergency UEs to the next available cell
+
+Deploying A1 PE Simulator CNF in ONAP
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+To onboard/distribute and instantiated the CNF ONAP mechanisms can be used, and this this instruction based on reference documentation for `vFirewall CNF Use Case`_
+
+1-1 Build CNF package
+.....................
+To prepare the CNF csar that can be onboarded to ONAP as VSP (SDC resource), please run the mvn command in *operations/a1-pe-sim-packages* directory:
+
+::
+
+    cd operations/a1-pe-sim-packages
+    mvn clean install
+
+As an expected result the *operations/a1-pe-sim-packages/target/oran-sim-csar.zip* file should be created.
+
+1-2 CNF onboarding and distribution
+...................................
+
+**<MANUAL>**
+
+Service Creation in SDC is composed of the same steps that are performed by the most other use-cases. For reference, you can refer to `vLB use-case`_
+
+Onboard VSP
+
+    Remember during VSP onboard to choose “Network Package” Onboarding procedure
+
+Create VF and Service Service -> Properties Assignment -> Choose VF (at right box):
+
+    sdnc_artifact_name - vnf
+
+    sdnc_model_name - a1_pe_simulator
+
+    sdnc_model_version - 1.3.2
+
+    controller_actor - CDS
+
+    skip_post_instantiation_configuration - False
+
+
+**<MANUAL>**
+
+Distribute service.
+
+Verify in SDC UI if distribution was successful. In case of any errors (sometimes SO fails on accepting CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT), try redistribution.
+
+1-3 CNF instantiation
+.....................
+
+Postman collection setup
+++++++++++++++++++++++++
+
+For this PoC purpose the Postman collection was created to present all manual ONAP steps, so it will be clear what exactly is needed. Some of the steps, such as AAI population, are automated by Robot scripts in other ONAP demos (**./demo-k8s.sh onap init**).
+
+Postman collection is used also to trigger instantiation using SO APIs.
+
+Following steps are needed to setup Postman:
+
+- Import this Postman collection zip
+
+  :download:`A1 PE CNF Postman collection <files/a1pe-postman.zip>`
+
+- Extract the zip and import Postman collection into Postman. Environment file is provided for reference, it's better to create own environment on your own providing variables.
+    - `A1-PE-CNF.postman_collection.json`
+    - `A1-PE-CNF.postman_environment.json`
+
+- For use case debugging purposes to get Kubernetes cluster external access to SO CatalogDB (GET operations only), modify SO CatalogDB service to NodePort instead of ClusterIP. You may also create separate own NodePort if you wish, but here we have just edited directly the service with kubectl.
+
+::
+
+    kubectl -n onap edit svc so-catalog-db-adapter
+         - .spec.type: ClusterIP
+         + .spec.type: NodePort
+         + .spec.ports[0].nodePort: 30120
+
+.. note::  The port number 30120 is used in included Postman collection
+
+- You may also want to inspect after SDC distribution if CBA has been correctly delivered to CDS. In order to do it, the relevant calls are created and described later on in this documentation, however CDS since Frankfurt doesn't expose blueprints-processor's service as NodePort. This is OPTIONAL but if you'd like to use these calls later, you need to expose service in similar way as so-catalog-db-adapter above:
+
+::
+
+    kubectl edit -n onap svc cds-blueprints-processor-http
+          - .spec.type: ClusterIP
+          + .spec.type: NodePort
+          + .spec.ports[0].nodePort: 30499
+
+.. note::  The port number 30499 is used in included Postman collection
+
+**Postman variables:**
+
+Most of the Postman variables are automated by Postman scripts and environment file provided, but there are few mandatory variables that need to be setup by user.
+
+=====================  ===================
+Variable               Description
+---------------------  -------------------
+k8s                    ONAP Kubernetes host
+managed_k8s            VES host variables use by the A1 PE sim to send the ves message (use as a input param in instantiation request to SO)
+service-name           name of service as defined in SDC
+service-version        version of service defined in SDC (if service wasn't updated, it should be set to "1.0")
+service-instance-name  name of instantiated service (if ending with -{num}, will be autoincrement for each instantiation request)
+=====================  ===================
+
+ONAP post-install steps
++++++++++++++++++++++++
+
+In order to prepare the data in SO to properly instantiate the CNF, the following script needs to be executed:
+
+::
+
+    ./operations/scripts/setup_onap_for_cnf.sh ${{k8s}}
+
+
+Where MASTER_IP this is IP address of our kubernetes cluster that will be used to initialized the CNF.
+
+This script will create appropriated resources e.q:
+- tenant
+- cloud-region
+- cloud-owner
+and properly configure the k8splugin and SO.
+
+To test this configuration you can use:
+
+::
+
+    Postman -> A1-PE_CNF -> [TEST] SO Catalog DB Cloud Sites
+
+Postman execution to initialize the CNF
++++++++++++++++++++++++++++++++++++++++
+
+**<MANUAL>**
+
+Postman collection is automated to populate needed parameters when queries are run in correct order.
+Some of queries mark as *<TEST>* are used only to verify distribution and postman variables setup.
+
+To initialized the CNF executed appropriated requests:
+
+::
+
+    Postman -> A1-PE_CNF -> [STEP 1] SDC Catalog Service
+    Postman -> A1-PE_CNF -> [TEST] SDC Catalog Service Metadata - to check that CNF service was found in SDC and uuid was setup properly.
+    Postman -> A1-PE_CNF -> [STEP 2] SO Catalog DB Service xNFs
+    Postman -> A1-PE_CNF -> [STEP 3] SO Self-Serve Service Assign & Activate
+    Postman -> A1-PE_CNF -> [TEST] SO Infra Active Requests - in this request we can see the status of the CNF instantiation
+
+After successfully instantiation we should have (from **[TEST] SO Infra Active Requests** response):
+
+::
+
+    {
+        "requestStatus": "COMPLETE",
+        "statusMessage": "Macro-Service-createInstance request was executed correctly.",
+        "flowStatus": "Successfully completed all Building Blocks",
+        "progress": 100,
+    }
+
+2-1 A1 PE Closed-loop - A1 policy creation
+..........................................
+
+Postman collection setup
+++++++++++++++++++++++++
+The separated collection was prepared to trigger and check the A1 Close-loop.
+
+Like before, following steps are needed to setup Postman:
+
+- Extract the **a1pe-postman.zip** and import Postman collection into Postman. Environment **A1-PE_CNF.postman_environment.json** file is provided for reference, it's better to create own environment on your own providing variables.
+    - `A1-PE-CLOSED-LOOP.postman_collection.json`
+
+
+CNF post-instantiation steps
+++++++++++++++++++++++++++++
+
+1. Register CNF as a RIC in onap-a1policymanagement
+
+::
+
+    kubectl edit cm onap-a1policymanagement-policy-conf
+
+update config-map with information about A1 PE Simulator:
+
+::
+
+    data:
+      application_configuration.json: |
+        {
+          "config": {
+            "controller": [
+              {
+                "name": "controller1",
+                "baseUrl": "https://sdnc.onap:8443",
+                "userName": "admin",
+                "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
+              }
+            ],
+            "ric": [
+              {
+                "name": "ric1",
+                "baseUrl": "http://${{k8s}}:32482/v1",
+                "controller": "controller1",
+                "managedElementIds": [
+                ]
+              }
+            ]
+          }
+        }
+
+
+2. Deploy RAPPs
+
+Build the rapps docker images from `A1 Policy Enforcement rapps code`_ by using the maven:
+
+::
+
+    mvn clean install -Pdocker
+
+Deploy the RAPPs as DCAE MS by using the *operations/dcae/rapps.sh* script.
+To run this script a user must know the DB password generated by oom.
+To get this information, run in your ONAP kubernetes:
+
+::
+
+    kubectl get secret `kubectl get secrets | grep mariadb-galera-db-root-password | awk '{print $1}'` -o jsonpath="{.data.password}" | base64 --decode
+    DepdDuza6%Venu[
+
+Next use this password to deploy RAPPs
+
+::
+
+    export NODE_IP=${{k8s}}
+    ./rapps.sh DepdDuza6%Venu[
+
+The expected result is to have two DCAE MS up and working:
+
+::
+
+    kubectl get pods | grep rapp
+
+Output
+
+::
+
+    dep-rapp-datacollector-84bcd96fc4-pf42g             1/1     Running            0          4m
+    dep-rapp-sleepingcelldetector-589647c4c5-rbrw9      1/1     Running            0          4m
+
+
+Executing the A1 PE Closed-loop
++++++++++++++++++++++++++++++++
+
+::
+
+    Postman -> A1-PE-CLOSED-LOOP -> [TEST] Get cells - to check that A1 PE Simulator was setup correctly and is up and working
+    Postman -> A1-PE-CLOSED-LOOP -> [STEP 1] Configure the policy type
+    Postman -> A1-PE-CLOSED-LOOP -> [TEST] Get policy types
+    Postman -> A1-PE-CLOSED-LOOP -> [TEST] RIC healthcheck
+    Postman -> A1-PE-CLOSED-LOOP -> [STEP 2] Start sending normal VES
+
+Sending the VES message for cell1 should started. To see more details about this process please check the `A1 Policy Enforcement Simulator README`_
+To trigger the A1 Closed loop, we must provide UE performance information for Sleeping Cell Detector that the cell can be in the sleeping mode in the near feature.
+Sleeping Cell Detector RAPP should proactively create the A1 Policy with information that user-equipments should avoid all the cells predicted as a *SLEEPING*.
+More information: `Sleeping Cell Detector RAPPs README`_
+To do that we can start seeding the fault ves events (with worst UE performance that the normal one)
+
+::
+
+    Postman -> A1-PE-CLOSED-LOOP -> [STEP 3] Start sending fault VES
+
+After 1 minute we should see in the Sleeping Cell Detector RAPP logs:
+
+::
+
+    2021-06-25 10:05:24,320 INFO  org.onap.rapp.sleepingcelldetector.service.PolicyAgentClient : Sending policy event; URL: http://a1policymanagement:8081/policy?id=acbf542a-09e8-4113-96bf-8ff45adbf480&ric=ric1&service=rapp-sleepingcelldetector&type=1000,
+     Policy: {
+      "scope" : {
+        "ueId" : "emergency_samsung_s10_01"
+      },
+      "resources" : [ {
+        "cellIdList" : [ "Cell1" ],
+        "preference" : "AVOID"
+      } ]
+    }
+    2021-06-25 10:05:24,321 DEBUG org.springframework.web.client.RestTemplate : HTTP PUT http://a1policymanagement:8081/policy?id=acbf542a-09e8-4113-96bf-8ff45adbf480&ric=ric1&service=rapp-sleepingcelldetector&type=1000
+    2021-06-25 10:05:24,321 DEBUG org.springframework.web.client.RestTemplate : Writing [{
+      "scope" : {
+        "ueId" : "emergency_samsung_s10_01"
+      },
+      "resources" : [ {
+        "cellIdList" : [ "Cell1" ],
+        "preference" : "AVOID"
+      } ]
+    }] as "application/json"
+
+
+In the A1 PE Simulator the new policy instance should be created for each emergency UE.
+
+::
+
+    Postman -> A1-PE-CLOSED-LOOP -> [TEST] Get policy instances
+
+Also emergency UE should be hand over to a new cell (in the range of those UEs).
+
+Request
+
+::
+
+    curl --location --request GET 'http://${{k8s}}:32482/v1/ran/cells/Cell3'
+
+Response:
+
+::
+
+    {
+    "id": "Cell3",
+    "latitude": 50.06,
+    "longitude": 19.94,
+    "connectedUserEquipments": [
+        "emergency_police_01",
+        "mobile_samsung_s20_02",
+        "emergency_samsung_s10_01"
+    ],
+    "currentState": {
+        "value": "ACTIVE"
+    }
+  }
+
+Now the Cell1 should be in the sleeping state:
+
+::
+
+    {
+        "id": "Cell1",
+        "latitude": 50.11,
+        "longitude": 19.98,
+        "connectedUserEquipments": [],
+        "currentState": {
+            "value": "SLEEPING"
+        }
+    }
+
+We can also stop sending the VES events for this cell:
+
+::
+
+    Postman -> A1-PE-CLOSED-LOOP -> [STEP 4] Stop sending fault VES
+
+2-2 A1 PE Closed-loop - A1 policy deletion
+..........................................
+
+After execution all actions described `2-1 A1 PE Closed-loop - A1 policy creation`_ chapter.
+
+To delete create A1 policy a user can send the normal ves event for *SLEEPING* cell again (Cell1 in the this example).
+
+::
+
+    Postman -> A1-PE-CLOSED-LOOP -> [STEP 2] Start sending normal VES
+
+Sleeping Cell Detector should be able to recognize that the Cell1 is *ACTIVE* again and delete the A1 Policy Instance that was created.
+
+::
+
+    2021-06-25 10:47:44,192 DEBUG org.springframework.web.client.RestTemplate : HTTP GET http://rapp-datacollector:8087/v1/pm/events/aggregatedmetrics?slot=10&count=12&startTime=2021-06-25T10%3A45%3A44.192051Z
+    2021-06-25 10:47:44,192 DEBUG org.springframework.web.client.RestTemplate : Accept=[application/json, application/*+json]
+    2021-06-25 10:47:44,252 DEBUG org.springframework.web.client.RestTemplate : Response 200 OK
+    2021-06-25 10:47:44,252 DEBUG org.springframework.web.client.RestTemplate : Reading to [org.onap.rapp.sleepingcelldetector.entity.pm.PMEntity]
+    2021-06-25 10:47:44,252 INFO  org.onap.rapp.sleepingcelldetector.service.CellPerformanceHandler : Handle cell: Cell1 started
+    2021-06-25 10:47:44,253 INFO  org.onap.rapp.sleepingcelldetector.service.PolicyAgentClient : Policy instance 4d59fcf2-9b75-4e48-8d25-0593070e04a4 remove request will be send
+    2021-06-25 10:47:44,253 DEBUG org.springframework.web.client.RestTemplate : HTTP DELETE http://a1policymanagement:8081/policy?id=4d59fcf2-9b75-4e48-8d25-0593070e04a4
+    2021-06-25 10:47:44,663 DEBUG org.springframework.web.client.RestTemplate : Response 204 NO_CONTENT
+    2021-06-25 10:47:44,663 INFO  org.onap.rapp.sleepingcelldetector.service.PolicyInstanceManager : Policy Instances for cell Cell1 removed
+    2021-06-25 10:47:44,663 INFO  org.onap.rapp.sleepingcelldetector.service.CellPerformanceHandler : Cell Cell1 is not in failed status
+
+Known issue
+~~~~~~~~~~~
+
+`Issue SO-3467`_
+
+ControllerExecutionBB fails because it cannot locate BB_NAME in the table named bbname_selection_reference.
+
+As a circumvention, please execute below command:
+
+**ONAP Gulin**:
+
+::
+
+    kubectl exec -it onap-mariadb-galera-0 -n onap -- bash -c '/usr/bin/mysql -uroot -p"$MYSQL_ROOT_PASSWORD" catalogdb -e "INSERT INTO bbname_selection_reference (CONTROLLER_ACTOR, SCOPE, ACTION, BB_NAME) VALUES (\"CDS\", \"*\", \"*\", \"ControllerExecutionBB\")"'
+
+
+**ONAP Honolulu (and above)**:
+
+::
+
+    kubectl exec -it onap-mariadb-galera-0 -n onap -- bash -c '/opt/bitnami/mariadb/bin/mysql -uroot -p"$MARIADB_ROOT_PASSWORD" catalogdb -e "INSERT INTO bbname_selection_reference (CONTROLLER_ACTOR, SCOPE, ACTION, BB_NAME) VALUES (\"CDS\", \"*\", \"*\", \"ControllerExecutionBB\")"'
+
+.. _A1 Policy Enforcement Simulator code: https://gerrit.onap.org/r/gitweb?p=integration/simulators/A1-policy-enforcement-simulator.git;a=tree;h=refs/heads/master;hb=refs/heads/master
+.. _A1 Policy Enforcement rapps code: https://gerrit.onap.org/r/gitweb?p=integration/usecases/A1-policy-enforcement-r-apps.git;a=tree;h=refs/heads/master;hb=refs/heads/master
+.. _vFirewall CNF Use Case: https://docs.onap.org/projects/onap-integration/en/latest/docs_vFW_CNF_CDS.html#docs-vfw-cnf-cds
+.. _vLB use-case: https://wiki.onap.org/pages/viewpage.action?pageId=71838898
+.. _A1 Policy Enforcement Simulator README: https://gerrit.onap.org/r/gitweb?p=integration/simulators/A1-policy-enforcement-simulator.git;a=blob;f=README.md;h=a06c0cd34567ce6c1d0ecf791670b4f298ba29ec;hb=refs/heads/master
+.. _Sleeping Cell Detector RAPPs README: https://gerrit.onap.org/r/gitweb?p=integration/usecases/A1-policy-enforcement-r-apps.git;a=blob;f=sleepingcelldetector/README.md;h=b91c15a7d4ed06566b29971bcfc5db336d9766f2;hb=refs/heads/master
+.. _Issue SO-3467: https://jira.onap.org/browse/SO-3467
diff --git a/doc/files/a1pe-postman.zip b/doc/files/a1pe-postman.zip
new file mode 100644
index 0000000..c368811
--- /dev/null
+++ b/doc/files/a1pe-postman.zip
Binary files differ
diff --git a/operations/dcae/blueprints/k8s-datacollector.yaml b/operations/dcae/blueprints/k8s-datacollector.yaml
index 7cc28a4..d092936 100644
--- a/operations/dcae/blueprints/k8s-datacollector.yaml
+++ b/operations/dcae/blueprints/k8s-datacollector.yaml
@@ -19,7 +19,7 @@
 tosca_definitions_version: cloudify_dsl_1_3
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=3.4.2
+  - plugin:k8splugin?version=>=3.4.3,<4.0.0
 inputs:
   service_id:
     type: string
@@ -28,7 +28,7 @@
   image:
     type: string
     description: docker image name and version
-    default: "nexus3.onap.org:10001/onap/datacollector/datacollector:0.0.1-SNAPSHOT"
+    default: "nexus3.onap.org:10001/onap/integration/usecase/a1-policy-enforcement/datacollector"
   database_host:
     type: string
     description: Database host.
@@ -46,9 +46,9 @@
     type: string
     description: DMaaP host.
     default: "message-router"
-  ves_measurements_topic_name:
+  ves_measurements_topics_name:
     type: string
-    default: "unauthenticated.VES_MEASUREMENT_OUTPUT"
+    default: "events/unauthenticated.VES_MEASUREMENT_OUTPUT/mygroup/mycus, events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS/mygroup/mycus"
 
 
 node_templates:
@@ -62,8 +62,7 @@
               DMAAP_HOST: { get_input: dmaap_host }
               DMAAP_PORT: "3904"
               DMAAP_PROTOCOL: "http"
-              # "events/unauthenticated.VES_MEASUREMENT_OUTPUT/mygroup/mycus"
-              DMAAP_MEASUREMENTS_TOPIC: {concat: ["events/", { get_input: ves_measurements_topic_name }, "/mygroup/mycus"]}
+              DMAAP_MEASUREMENTS_TOPICS: { get_input: ves_measurements_topics_name }
               DATABASE_HOST: { get_input: database_host }
               DATABASE_PORT: "3306"
               DATABASE_NAME: "ves"
diff --git a/operations/dcae/blueprints/k8s-sleepingcelldetector.yaml b/operations/dcae/blueprints/k8s-sleepingcelldetector.yaml
index e06b508..fe087fa 100644
--- a/operations/dcae/blueprints/k8s-sleepingcelldetector.yaml
+++ b/operations/dcae/blueprints/k8s-sleepingcelldetector.yaml
@@ -19,7 +19,7 @@
 tosca_definitions_version: cloudify_dsl_1_3
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=3.4.2
+  - plugin:k8splugin?version=>=3.4.3,<4.0.0
 inputs:
   service_id:
     type: string
@@ -28,7 +28,7 @@
   image:
     type: string
     description: docker image name and version
-    default: "nexus3.onap.org:10001/onap/sleepingcelldetector/sleepingcelldetector:0.0.1-SNAPSHOT"
+    default: "nexus3.onap.org:10001/onap/integration/usecase/a1-policy-enforcement/sleepingcelldetector"
 
 node_templates:
   rapp-sleepingcelldetector:
diff --git a/operations/dcae/dcae-cli.py b/operations/dcae/dcae-cli.py
index 49db4f1..aee288e 100755
--- a/operations/dcae/dcae-cli.py
+++ b/operations/dcae/dcae-cli.py
@@ -1,10 +1,15 @@
 #!/usr/bin/env python
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# Copyright (C) 2020 by Samsung Electronics Co., Ltd.
-#
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
 """Cli application for ONAP DCAE Dashboard for managing DCAE Microservices.
 
diff --git a/operations/dcae/dcae.sh b/operations/dcae/dcae.sh
index 31bb334..a7807ea 100755
--- a/operations/dcae/dcae.sh
+++ b/operations/dcae/dcae.sh
@@ -1,9 +1,15 @@
 #!/bin/bash
-# Copyright (C) 2019 by Samsung Electronics Co., Ltd.
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
 #
 # Onboard R-APP blueprint and deploy R-APP as DCAE Microservice.
diff --git a/operations/dcae/inputs_database_password.sh b/operations/dcae/inputs_database_password.sh
index 9e4f883..e20866b 100644
--- a/operations/dcae/inputs_database_password.sh
+++ b/operations/dcae/inputs_database_password.sh
@@ -1,8 +1,14 @@
 #!/bin/bash
-# Copyright (C) 2019 by Samsung Electronics Co., Ltd.
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
 export DATABASE_PASSWORD=${DATABASE_PASSWORD:-$(kubectl get secret `kubectl get secrets | grep mariadb-galera-db-root-password | awk '{print $1}'` -o jsonpath="{.data.password}" | base64 --decode)}
diff --git a/operations/dcae/rapps.sh b/operations/dcae/rapps.sh
index 8d51f5b..fe58f6f 100755
--- a/operations/dcae/rapps.sh
+++ b/operations/dcae/rapps.sh
@@ -1,9 +1,15 @@
 #!/bin/bash
-# Copyright (C) 2019 by Samsung Electronics Co., Ltd.
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
 set -e
 
diff --git a/operations/scripts/enrich.sh b/operations/scripts/enrich.sh
index 0e3921f..e02efa1 100755
--- a/operations/scripts/enrich.sh
+++ b/operations/scripts/enrich.sh
@@ -1,4 +1,15 @@
 #!/bin/bash
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
+#
+# 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
 
 usage() {
     echo "Usage:"
diff --git a/operations/scripts/k8s_get_node_ip.sh b/operations/scripts/k8s_get_node_ip.sh
index 4f423e8..36e416c 100755
--- a/operations/scripts/k8s_get_node_ip.sh
+++ b/operations/scripts/k8s_get_node_ip.sh
@@ -1,11 +1,14 @@
 #!/bin/bash
-# Copyright (C) 2018 by Samsung Electronics Co., Ltd.
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
-#
-# Echo Kubernetes cluster first node's internal IP address
-#
 kubectl get nodes -o jsonpath='{ $.items[*].status.addresses[?(@.type=="InternalIP")].address }' | cut -d ' ' -f 1
diff --git a/operations/scripts/onboard-cba.sh b/operations/scripts/onboard-cba.sh
index 9c80d58..bdd8de7 100755
--- a/operations/scripts/onboard-cba.sh
+++ b/operations/scripts/onboard-cba.sh
@@ -1,9 +1,15 @@
 #!/bin/bash
-# Copyright (C) 2019 by Samsung Electronics Co., Ltd.
+# Copyright (C) 2021 by Samsung Electronics Co., Ltd.
 #
-# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
-# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
-# it only in accordance with the terms of the license agreement you entered into with Samsung.
+# 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
 
 #
 # Onboards CDS model into CDS runtime. CDS model package file is called CBA (CDS Model Package).
diff --git a/operations/scripts/setup_onap_for_cnf.sh b/operations/scripts/setup_onap_for_cnf.sh
new file mode 100755
index 0000000..e5cba41
--- /dev/null
+++ b/operations/scripts/setup_onap_for_cnf.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+# This scripts preloads ONAP with some relevant entries required to orchestrate CNFs
+# Some steps may fail if script is ran non-first time on environment so strict error checking is turned off
+set +e -x
+aai_curl() {
+  curl -ksSL -H "X-TransactionId: $RANDOM" -H "X-FromAppId: Jenkins" -H "Content-Type: application/json" -H "Accept: application/json" \
+    -H "Authorization: Basic QUFJOkFBSQ==" "$@"
+}
+MASTER_IP="${1:?Missing mandatory positional parameter}"
+
+echo "Handling AAI Entries"
+aai_curl -X PUT "https://${MASTER_IP}:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/K8sRegion" \
+  --data '{
+      "cloud-owner": "CloudOwner",
+      "cloud-region-id": "K8sRegion",
+      "cloud-type": "k8s",
+      "owner-defined-type": "t1",
+      "cloud-region-version": "1.0",
+      "complex-name": "clli1",
+      "cloud-zone": "CloudZone",
+      "sriov-automation": false
+  }'
+aai_curl -X PUT "https://${MASTER_IP}:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/K8sRegion/vip-ipv4-address-list/${MASTER_IP}" \
+  --data "{
+      \"vip-ipv4-address\": \"${MASTER_IP}\"
+  }"
+aai_curl -X PUT "https://${MASTER_IP}:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/K8sRegion/relationship-list/relationship" \
+  --data '{
+      "related-to": "complex",
+      "related-link": "/aai/v16/cloud-infrastructure/complexes/complex/clli1",
+      "relationship-data": [
+          {
+            "relationship-key": "complex.physical-location-id",
+            "relationship-value": "clli1"
+          }
+      ]
+  }'
+aai_curl -X PUT "https://${MASTER_IP}:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/K8sRegion/availability-zones/availability-zone/k8savz" \
+  --data '{
+      "availability-zone-name": "k8savz",
+      "hypervisor-type": "k8s"
+  }'
+aai_curl -X PUT "https://${MASTER_IP}:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/K8sRegion/tenants/tenant/k8stenant" \
+  --data '{
+      "tenant-id": "k8stenant",
+      "tenant-name": "k8stenant",
+      "relationship-list": {
+          "relationship": [
+          {
+              "related-to": "service-subscription",
+              "relationship-label": "org.onap.relationships.inventory.Uses",
+              "related-link": "/aai/v16/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW",
+              "relationship-data": [
+                  {
+                      "relationship-key": "customer.global-customer-id",
+                      "relationship-value": "Demonstration"
+                  },
+                  {
+                      "relationship-key": "service-subscription.service-type",
+                      "relationship-value": "vFW"
+                  }
+              ]
+        }
+        ]
+      }
+  }'
+
+echo "Configuring k8splugin"
+curl -ksSL -X POST "https://${MASTER_IP}:30283/api/multicloud-k8s/v1/v1/connectivity-info" \
+  --header "Content-Type: multipart/form-data" \
+  --form "file=@${HOME}/.kube/config" \
+  --form metadata='{
+    "cloud-region": "K8sRegion",
+    "cloud-owner": "CloudOwner"
+  }'
+
+echo "Configuring SO"
+pass=$(kubectl get "$(kubectl get secrets -o name | grep mariadb-galera-db-root-password)" \
+  -o jsonpath="{.data.password}" | base64 --decode)
+kubectl -n onap exec onap-mariadb-galera-0 -- \
+  mysql -uroot -p"${pass}" -D catalogdb -e \
+  'INSERT IGNORE INTO
+    cloud_sites(ID, REGION_ID, IDENTITY_SERVICE_ID, CLOUD_VERSION, CLLI, ORCHESTRATOR)
+    values("K8sRegion", "K8sRegion", "DEFAULT_KEYSTONE", "2.5", "clli1", "multicloud");'
