diff --git a/plans/usecases/config-over-netconf/cds/cds_setup.sh b/plans/usecases/config-over-netconf/cds/cds_setup.sh
new file mode 100755
index 0000000..b595e6b
--- /dev/null
+++ b/plans/usecases/config-over-netconf/cds/cds_setup.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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=========================================================
+
+# @author Rahul Tyagi (rahul.tyagi@est.tech)
+
+CDS_DATA_PATH=$WORKSPACE/plans/$PARENT/$SUB_PARENT/cds
+
+cd $CDS_DATA_PATH
+export LOCAL_IP=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')
+unset http_proxy https_proxy
+
+#cd $WORKSPACE/archives/cds/ms/blueprintsprocessor/distribution/src/main/dc/
+
+############# update ip of sdnc in docker-compose###########
+SDNC_CONTAINER=$(docker ps -a -q --filter="name=sdnc_controller_container")
+SDNC_CONTAINER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $SDNC_CONTAINER)
+echo " " >> docker-compose.yaml
+echo "    extra_hosts:"  >> docker-compose.yaml
+echo "    - 'sdnc:$LOCAL_IP'" >> docker-compose.yaml
+#############################################################
+
+docker-compose up -d
+sleep 10
+################# Check state of BP ####################
+BP_CONTAINER=$(docker ps -a -q --filter="name=bp-rest")
+CCSDK_MARIADB=$(docker ps -a -q --filter="name=ccsdk-mariadb")
+for i in {1..10}; do
+if [ $(docker inspect --format='{{ .State.Running }}' $BP_CONTAINER) ] && \
+[ $(docker inspect --format='{{ .State.Running }}' $CCSDK_MARIADB) ]
+then
+   echo "Blueprint proc Service Running"
+   break
+else
+   echo sleep $i
+   sleep $i
+fi
+done
+
diff --git a/plans/usecases/config-over-netconf/cds/docker-compose.yaml b/plans/usecases/config-over-netconf/cds/docker-compose.yaml
new file mode 100755
index 0000000..4834f91
--- /dev/null
+++ b/plans/usecases/config-over-netconf/cds/docker-compose.yaml
@@ -0,0 +1,31 @@
+version: '3.3'
+
+services:
+  db:
+    image: mariadb:latest
+    container_name: ccsdk-mariadb
+    ports:
+      - "3306:3306"
+    volumes:
+      - ~/vm_mysql:/var/lib/mysql
+    restart: always
+    environment:
+      MYSQL_ROOT_PASSWORD: sdnctl
+      MYSQL_DATABASE: sdnctl
+      MYSQL_USER: sdnctl
+      MYSQL_PASSWORD: sdnctl
+  blueprints-processor:
+    depends_on:
+      - db
+    image: onap/ccsdk-blueprintsprocessor:latest
+    container_name: bp-rest
+    ports:
+      - "8000:8080"
+    restart: always
+    environment:
+      APPLICATIONNAME: BlueprintsProcessor
+      BUNDLEVERSION: 1.0.0
+      APP_CONFIG_HOME: /opt/app/onap/config
+      STICKYSELECTORKEY:
+      ENVCONTEXT: dev
+
diff --git a/plans/usecases/config-over-netconf/certs/certs.properties b/plans/usecases/config-over-netconf/certs/certs.properties
new file mode 100755
index 0000000..f8f3fa7
--- /dev/null
+++ b/plans/usecases/config-over-netconf/certs/certs.properties
@@ -0,0 +1,2 @@
+keys0.zip
+*****
diff --git a/plans/usecases/config-over-netconf/certs/keys0.zip b/plans/usecases/config-over-netconf/certs/keys0.zip
new file mode 100644
index 0000000..48b4d90
--- /dev/null
+++ b/plans/usecases/config-over-netconf/certs/keys0.zip
Binary files differ
diff --git a/plans/usecases/config-over-netconf/sdn/docker-compose.yaml b/plans/usecases/config-over-netconf/sdn/docker-compose.yaml
new file mode 100755
index 0000000..59858e1
--- /dev/null
+++ b/plans/usecases/config-over-netconf/sdn/docker-compose.yaml
@@ -0,0 +1,73 @@
+version: '2.1'
+
+networks:
+  default:
+    driver: bridge
+    driver_opts:
+      com.docker.network.driver.mtu: ${MTU}
+
+
+services:
+  db:
+    image: mysql/mysql-server:5.6
+    container_name: sdnc_db_container
+    ports:
+      - "3306"
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - MYSQL_ROOT_HOST=%
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
+  ansible:
+    image: onap/sdnc-ansible-server-image:latest
+    depends_on :
+      - db
+    container_name: sdnc_ansible_container
+    entrypoint: ["/opt/onap/ccsdk/startAnsibleServer.sh"]
+    ports:
+      - "8000"
+    links:
+      - db:dbhost
+      - db:sdnctldb01
+      - db:sdnctldb02
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+
+  sdnc:
+    image: onap/sdnc-image:latest
+    depends_on :
+      - db
+      - ansible
+    container_name: sdnc_controller_container
+    volumes: 
+      - $SDNC_CERT_PATH:/opt/opendaylight/current/certs
+    entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"]
+    ports:
+      - "8282:8181"
+    links:
+      - db:dbhost
+      - db:sdnctldb01
+      - db:sdnctldb02
+      - ansible:ansiblehost
+    environment:
+      - MYSQL_ROOT_PASSWORD=openECOMP1.0
+      - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties
+    dns:
+      - ${DNS_IP_ADDR-10.0.100.1}
+    logging:
+      driver:   "json-file"
+      options:
+        max-size: "30m"
+        max-file: "5"
+    extra_hosts:
+        aaf.osaaf.org: 10.12.6.214
+
diff --git a/plans/usecases/config-over-netconf/setup.sh b/plans/usecases/config-over-netconf/setup.sh
new file mode 100644
index 0000000..9e87b04
--- /dev/null
+++ b/plans/usecases/config-over-netconf/setup.sh
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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=========================================================
+
+# @author Rahul Tyagi (rahul.tyagi@est.tech)
+
+
+SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+export PARENT=usecases
+export SUB_PARENT=config-over-netconf
+source ${WORKSPACE}/plans/$PARENT/$SUB_PARENT/test.properties
+
+export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
+
+if [ "$MTU" == "" ]; then
+	  export MTU="1450"
+fi
+
+# clone integration branch for pnf-simulator
+mkdir -m 755 -p $WORKSPACE/temp/integration
+cd $WORKSPACE/temp
+git clone -b dublin --single-branch --depth=1 http://gerrit.onap.org/r/integration.git integration
+
+HOST_IP_ADDR=localhost
+
+# setup sdnc
+
+cd $SDNC_DOCKER_PATH
+unset http_proxy https_proxy
+
+#sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" diocker-compose.yml
+docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+
+docker pull $NEXUS_DOCKER_REPO/onap/sdnc-image:$SDNC_IMAGE_TAG
+docker tag $NEXUS_DOCKER_REPO/onap/sdnc-image:$SDNC_IMAGE_TAG onap/sdnc-image:latest
+
+docker pull $NEXUS_DOCKER_REPO/onap/sdnc-ansible-server-image:$ANSIBLE_IMAGE_TAG
+docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ansible-server-image:$ANSIBLE_IMAGE_TAG onap/sdnc-ansible-server-image:latest
+
+docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-blueprintsprocessor:$BP_IMAGE_TAG
+docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-blueprintsprocessor:$BP_IMAGE_TAG onap/ccsdk-blueprintsprocessor:latest
+
+export SDNC_CERT_PATH=${CERT_SUBPATH}
+#sed -i 's/sdnc_controller_container/sdnc_controller_container\n    volumes: \n      - $SDNC_CERT_PATH:\/opt\/opendaylight\/current\/certs/' docker-compose.yaml
+# start SDNC containers with docker compose and configuration from docker-compose.yml
+docker-compose up -d
+
+# start pnf simulator
+
+cd $INT_DOCKER_PATH
+
+./simulator.sh start&
+
+# WAIT 10 minutes maximum and test every 5 seconds if SDNC is up using HealthCheck API
+TIME_OUT=1000
+INTERVAL=30
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+  response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); echo $response
+
+  if [ "$response" == "200" ]; then
+    echo SDNC started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+  sleep $INTERVAL
+  TIME=$(($TIME+$INTERVAL))
+done
+
+export LOCAL_IP=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')
+sed -i "s/pnfaddr/$LOCAL_IP/g" $REQUEST_DATA_PATH/mount.xml
+
+
+if [ "$TIME" -ge "$TIME_OUT" ]; then
+   echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities...
+fi
+
+########################################## blueprintsprocessor setup ##########################################################
+source $CDS_DOCKER_PATH/cds_setup.sh
+
+########## update pnf simulator ip in config deploy request ########
+
+NETOPEER_CONTAINER=$(docker ps -a -q --filter="name=netopeer")
+NETOPEER_CONTAINER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $SDNC_CONTAINER)
+RES_KEY=$(uuidgen -r)
+sed -i "s/pnfaddr/$LOCAL_IP/g" $REQUEST_DATA_PATH/config-deploy.json
+sed -i "s/pnfaddr/$LOCAL_IP/g" $REQUEST_DATA_PATH/config-assign.json
+
+sed -i "s/reskey/$RES_KEY/g" $REQUEST_DATA_PATH/config-deploy.json
+sed -i "s/reskey/$RES_KEY/g" $REQUEST_DATA_PATH/config-assign.json
+
+#########################check if server is up gracefully ######################################
+
+TIME_OUT=1500
+INTERVAL=60
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+docker exec sdnc_controller_container rm -f /opt/opendaylight/current/etc/host.key
+response=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level)
+docker exec sdnc_controller_container rm -f /opt/opendaylight/current/etc/host.key
+
+  if [ "$response" == "Level 100" ] ; then
+    echo SDNC karaf started in $TIME seconds
+    break;
+  fi
+
+  echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+  sleep $INTERVAL
+  TIME=$(($TIME+$INTERVAL))
+done
+
+if [ "$TIME" -ge "$TIME_OUT" ]; then
+   echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities...
+fi
+
+response=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level)
+
+  if [ "$response" == "Level 100" ] ; then
+    num_failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l)
+    failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure)
+    echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles.
+  fi
+
+if [ "$num_failed_bundles" -ge 1 ]; then
+  echo "The following bundle(s) are in a failed state: "
+  echo "  $failed_bundles"
+fi
+
+
+# Sleep additional 3 minutes (180 secs) to give application time to finish
+
+sleep 150
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+
+ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
diff --git a/plans/usecases/config-over-netconf/teardown.sh b/plans/usecases/config-over-netconf/teardown.sh
new file mode 100755
index 0000000..5bf1b90
--- /dev/null
+++ b/plans/usecases/config-over-netconf/teardown.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+SDNC_DOCKER_COMPOSE_PATH=$SDNC_DOCKER_PATH/docker-compose.yaml
+PNFSIM_DOCKER_COMPOSE_PATH=$INT_DOCKER_PATH/docker-compose.yml
+CDS_DOCKER_COMPOSE_PATH=$CDS_DOCKER_PATH/docker-compose.yaml
+
+docker-compose -f $SDNC_DOCKER_COMPOSE_PATH down
+docker-compose -f $PNFSIM_DOCKER_COMPOSE_PATH down
+docker-compose -f $CDS_DOCKER_COMPOSE_PATH down
+
+rm -rf $WORKSPACE/temp
diff --git a/plans/usecases/config-over-netconf/test.properties b/plans/usecases/config-over-netconf/test.properties
new file mode 100644
index 0000000..bdce15a
--- /dev/null
+++ b/plans/usecases/config-over-netconf/test.properties
@@ -0,0 +1,13 @@
+NEXUS_DOCKER_REPO=nexus3.onap.org:10001
+NEXUS_USERNAME=docker
+NEXUS_PASSWD=docker
+SDNC_IMAGE_TAG=1.7.3
+ANSIBLE_IMAGE_TAG=1.7.3
+BP_IMAGE_TAG=0.6.3
+REQUEST_DATA_PATH=$WORKSPACE/tests/$PARENT/$SUB_PARENT/data
+TC_PLANS_PATH=$WORKSPACE/plans/$PARENT/$SUB_PARENT
+CDS_DOCKER_PATH=$TC_PLANS_PATH/cds
+SDNC_DOCKER_PATH=$TC_PLANS_PATH/sdn
+INT_DOCKER_PATH=$WORKSPACE/temp/integration/test/mocks/pnfsimulator
+CERT_SUBPATH=$TC_PLANS_PATH/certs
+
diff --git a/plans/usecases/config-over-netconf/testplan.txt b/plans/usecases/config-over-netconf/testplan.txt
new file mode 100644
index 0000000..9c69609
--- /dev/null
+++ b/plans/usecases/config-over-netconf/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+usecases/config-over-netconf
+
