Add CCSDK support
This changes add support to Common Controller SDK project, which it's
extracting some code from SDNC.
Change-Id: I0e7365fdc854c4c6357c5c3b4bc7608f0076d241
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-Id: INT-196
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