diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md
index 08c5a57..c48190a 100644
--- a/bootstrap/vagrant-onap/README.md
+++ b/bootstrap/vagrant-onap/README.md
@@ -56,6 +56,7 @@
 | vid        | Virtual Infrastructure Development  |
 | vfc        | Virtual Function Controller         |
 | multicloud | Multi Cloud                         |
+| ccsdk      | Common Controller SDK               |
 | all_in_one | All ONAP services in a VM           |
 | testing    | Unit Test VM                        |
 
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
index 148d8ed..8417cc9 100644
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -160,7 +160,7 @@
       end
       all_in_one.vm.provision 'shell' do |s|
         s.path = 'vagrant_utils/postinstall.sh'
-        s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc']
+        s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc', 'ccsdk']
         s.env = conf
       end
     end
@@ -366,6 +366,19 @@
       end
     end
 
+    config.vm.define :ccsdk do |ccsdk|
+      ccsdk.vm.hostname = 'ccsdk'
+      ccsdk.vm.network :private_network, ip: '192.168.50.17'
+      ccsdk.vm.provider "openstack" do |v|
+        v.server_name = 'ccsdk'
+      end
+      ccsdk.vm.provision 'shell' do |s|
+        s.path = 'vagrant_utils/postinstall.sh'
+        s.args = ['ccsdk']
+        s.env = conf
+      end
+    end
+
   when 'testing'
 
     config.vm.define :testing do |testing|
diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions
index 9e06010..18a4659 100755
--- a/bootstrap/vagrant-onap/lib/_onap_functions
+++ b/bootstrap/vagrant-onap/lib/_onap_functions
@@ -28,6 +28,15 @@
     docker logout
 }
 
+# pull_onap_image() - Pull Docker container image from a Docker Registry Hub
+function pull_onap_image {
+    local image=$1
+    local tag=$2
+    docker_openecomp_login
+    pull_docker_image $nexus_docker_repo/onap/${image}:$docker_version $tag
+    docker logout
+}
+
 # configure_bind()- Configure bind utils
 function configure_bind {
     _install_bind
diff --git a/bootstrap/vagrant-onap/lib/ccsdk b/bootstrap/vagrant-onap/lib/ccsdk
new file mode 100755
index 0000000..d115eaa
--- /dev/null
+++ b/bootstrap/vagrant-onap/lib/ccsdk
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+set -o xtrace
+
+source /var/onap/functions
+
+ccsdk_src_folder=$git_src_folder/ccsdk
+ccsdk_repos=("dashboard" "distribution" "parent" "platform/blueprints" "platform/nbapi" "platform/plugins" "sli" "sli/adaptors" "sli/core" "sli/northbound" "sli/plugins" "storage" "storage/esaas" "storage/pgaas" "utils")
+
+# clone_ccsdk_repos() - Function that clones the CCSDK repositories
+function clone_ccsdk_repos {
+    clone_repo ccsdk $ccsdk_src_folder
+
+    for dirc in ${ccsdk_repos[@]}; do
+        clone_repo ccsdk/$dirc $ccsdk_src_folder/$dirc
+    done
+}
+
+# compile_ccsdk_repos() - 
+function compile_ccsdk_repos {
+    compile_src ccsdk $ccsdk_src_folder
+
+    for dirc in ${ccsdk_repos[@]}; do
+        compile_src $ccsdk_src_folder/$dirc
+    done
+}
+
+# _build_ccsdk_images() - Build CCSDK Docker images from source code
+function _build_ccsdk_images {
+    install_package unzip
+    compile_src $ccsdk_src_folder/distribution
+    clone_repo ccsdk/distribution $ccsdk_src_folder/distribution
+    for image in ubuntu opendaylight odlsli dgbuilder-docker; do
+        build_docker_image $ccsdk_src_folder/distribution/$image docker
+    done
+}
+
+# get_ccsdk_images() - Get CCSDK Docker images
+function get_ccsdk_images {
+    if [[ "$build_image" == "True" ]]; then
+        _build_ccsdk_images
+    else
+        for image in ubuntu odl dgbuilder; do
+            pull_onap_image ccsdk-$image-image
+        done
+    fi
+
+}
+
+# install_ccsdk() - 
+function install_ccsdk {
+    echo "pass"
+}
+
+# init_ccsdk() - Function that initialize Multi Cloud services
+function init_ccsdk {
+    if [[ "$clone_repo" == "True" ]]; then
+        clone_ccsdk_repos
+        if [[ "$compile_repo" == "True" ]]; then
+            compile_ccsdk_repos
+        fi
+    fi
+    install_ccsdk
+}
diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc
index 6fa4218..2b0634b 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -61,19 +61,15 @@
         build_nfvo_lcm_image
         # TODO(sshank): Add other VFC component docker image builds when they are ready.
     else
-        pull_docker_image nexus3.onap.org:10003/onap/vfc/nslcm latest
+        pull_onap_image vfc/nslcm
     fi
 }
 
-# run_vfc_images() - Run VFC docker images
-function run_vfc_images() {
-    docker run -d --name vfc-nslcm -p 3306:3306 -p 8403:8403 -e MSB_ADDR=127.0.0.1 nexus3.onap.org:10003/onap/vfc/nslcm
-    # TODO(sshank): Run other VFC component docker images when they are ready.
-}
-
 # install_vfc() - Download and install vfc service from source code
 function install_vfc {
-    run_vfc_images
+    nslcm_image=`docker images | grep nslcm | grep latest| awk '{print $1 ":" $2}'`
+    docker run -d --name vfc-nslcm -p 3306:3306 -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image
+    # TODO(sshank): Run other VFC component docker images when they are ready.
 }
 
 # init_vfc() - Function that initialize VF-C services
diff --git a/bootstrap/vagrant-onap/tests/test_ccsdk b/bootstrap/vagrant-onap/tests/test_ccsdk
new file mode 100644
index 0000000..2d2b87a
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_ccsdk
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/ccsdk
+
+covered_functions=(
+"clone_ccsdk_repos" "compile_ccsdk_repos" "get_ccsdk_images"
+)
+
+# test_clone_ccsdk_repos() - Verify that CCSDL repositories are retrieved properly
+function test_clone_ccsdk_repos {
+    clone_ccsdk_repos
+
+    asserts_file_exist $ccsdk_src_folder/dashboard/pom.xml
+    asserts_file_exist $ccsdk_src_folder/distribution/pom.xml
+    asserts_file_exist $ccsdk_src_folder/parent/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/blueprints/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/nbapi/pom.xml
+    asserts_file_exist $ccsdk_src_folder/platform/plugins/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/adaptors/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/core/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/pom.xml
+    asserts_file_exist $ccsdk_src_folder/sli/plugins/pom.xml
+    asserts_file_exist $ccsdk_src_folder/storage/esaas/pom.xml
+    asserts_file_exist $ccsdk_src_folder/storage/pgaas/pom.xml
+    asserts_file_exist $ccsdk_src_folder/utils/pom.xml
+}
+
+# test_compile_ccsdk_repos() - Verify the compilation of CCSDK repositories
+function compile_ccsdk_repos {
+    clone_ccsdk_repos
+    compile_ccsdk_repos
+
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-common/target/oom-app-common-1.1.0-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-os/target/oom-app-os-1.1.0-SNAPSHOT.war
+    asserts_file_exist $ccsdk_src_folder/dashboard/oom-app-overlay/target/oom-app-overlay-1.1.0-SNAPSHOT.war
+    asserts_file_exist $ccsdk_src_folder/distribution/dgbuilder/target/dgbuilder.0.1.0-SNAPSHOT.zip
+    asserts_file_exist $ccsdk_src_folder/distribution/platform-logic/installer/target/platform-logic-installer-0.1.0-SNAPSHOT.zip
+    asserts_file_exist $ccsdk_src_folder/platform/nbapi/target/commonnbapi-0.0.3.war
+
+    for adaptor in aai-service mdsal-resource resource-assignment sql-resource; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/$component/target/$adaptor-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/adaptors/$adaptor/installer/target/sdnc-$adaptor-0.1.0-SNAPSHOT-installer.zip
+    done
+
+    for core in dblib filters sli sliapi sliPluginUtils; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/core/$core/$component/target/$core-$component-0.1.2-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/core/$core/installer/target/sdnc-$core-0.1.2-SNAPSHOT-installer.zip
+    done
+    asserts_file_exist $ccsdk_src_folder/sli/core/sli/common/target/sli-common-0.1.2-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/core/sli/recording/target/sli-recording-0.1.2-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/core/sliapi/model/target/sliapi-model-0.1.2-SNAPSHOT.jar
+
+    for northbound in asdcApi dataChange; do
+        for component in features model provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/$component/target/$northbound-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/northbound/$northbound/installer/target/sdnc-$northbound-0.1.0-SNAPSHOT-installer.zip
+    done
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/dmaap-listener/target/dmaap-listener-0.1.0-SNAPSHOT.jar
+    asserts_file_exist $ccsdk_src_folder/sli/northbound/ueb-listener/target/ueb-listener-0.1.0-SNAPSHOT.jar
+
+    for plugin in properties-node restapi-call-node; do
+        for component in features provider; do
+            asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/$component/target/$plugin-$component-0.1.0-SNAPSHOT.jar
+        done
+        asserts_file_exist $ccsdk_src_folder/sli/plugins/$plugin/installer/target/sdnc-$plugin-0.1.0-SNAPSHOT-installer.zip
+    done
+}
+
+# test_get_ccsdk_images() - Verify that CCSDK images are retrieved or built properly
+function test_get_ccsdk_images {
+    clone_ccsdk_repos
+    get_ccsdk_images
+
+    for image in dgbuilder odlsli odl ubuntu; do
+        asserts_image onap/ccsdk-$image-image
+    done
+}
+
+if [ "$1" != '*' ]; then
+    unset covered_functions
+    covered_functions=$1
+fi
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tools/Run.ps1 b/bootstrap/vagrant-onap/tools/Run.ps1
index 103dfee..8e6c94f 100644
--- a/bootstrap/vagrant-onap/tools/Run.ps1
+++ b/bootstrap/vagrant-onap/tools/Run.ps1
@@ -25,7 +25,7 @@
 #>
 
 Param(
-    [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "testing")]
+    [ValidateSet("all_in_one","dns", "mr", "sdc", "aai", "mso", "robot", "vid", "sdnc", "portal", "dcae", "policy", "appc", "vfc", "multicloud", "ccsdk", "testing")]
     [Parameter(Mandatory=$True,Position=0)]
     [ValidateNotNullOrEmpty()]
     [String]
diff --git a/bootstrap/vagrant-onap/tools/run.sh b/bootstrap/vagrant-onap/tools/run.sh
index 094577f..08eae01 100755
--- a/bootstrap/vagrant-onap/tools/run.sh
+++ b/bootstrap/vagrant-onap/tools/run.sh
@@ -12,7 +12,7 @@
         Test case to use in testing mode.
 Commands:
     all_in_one  Deploy in all-in-one mode.
-    dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud  Deploy chosen service.
+    dns|mr|sdc|aai|mso|robot|vid|sdnc|portal|dcae|policy|appc|vfc|multicloud|ccsdk  Deploy chosen service.
     testing  Deploy in testing mode.
 EOF
 }
@@ -55,7 +55,7 @@
     "all_in_one" )
         export DEPLOY_MODE='all-in-one'
         ;;
-    "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "multicloud" )
+    "dns" | "mr" | "sdc" | "aai" | "mso" | "robot" | "vid" | "sdnc" | "portal" | "dcae" | "policy" | "appc" | "vfc" | "multicloud" | "ccsdk" )
         export DEPLOY_MODE='individual'
         ;;
     "testing" )
diff --git a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
index b0e64ad..89a69dd 100755
--- a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
+++ b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh
@@ -6,7 +6,6 @@
 
 create_configuration_files
 install_dev_tools
-install_java
 configure_bind
 
 for serv in $@; do
