From 896c80752ee8d5e4e9439146bba12606246aaf53 Mon Sep 17 00:00:00 2001 From: Victor Morales Date: Tue, 12 Sep 2017 12:19:57 -0700 Subject: 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 Issue-Id: INT-196 --- bootstrap/vagrant-onap/README.md | 1 + bootstrap/vagrant-onap/Vagrantfile | 15 +++- bootstrap/vagrant-onap/lib/_onap_functions | 9 +++ bootstrap/vagrant-onap/lib/ccsdk | 64 ++++++++++++++++ bootstrap/vagrant-onap/lib/vfc | 12 +-- bootstrap/vagrant-onap/tests/test_ccsdk | 89 ++++++++++++++++++++++ bootstrap/vagrant-onap/tools/Run.ps1 | 2 +- bootstrap/vagrant-onap/tools/run.sh | 4 +- .../vagrant-onap/vagrant_utils/postinstall.sh | 1 - 9 files changed, 184 insertions(+), 13 deletions(-) create mode 100755 bootstrap/vagrant-onap/lib/ccsdk create mode 100644 bootstrap/vagrant-onap/tests/test_ccsdk diff --git a/bootstrap/vagrant-onap/README.md b/bootstrap/vagrant-onap/README.md index 08c5a5756..c48190ad1 100644 --- a/bootstrap/vagrant-onap/README.md +++ b/bootstrap/vagrant-onap/README.md @@ -56,6 +56,7 @@ current options include: | 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 148d8ed48..8417cc953 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -160,7 +160,7 @@ Vagrant.configure("2") do |config| 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 @@ Vagrant.configure("2") do |config| 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 9e06010ed..18a465948 100755 --- a/bootstrap/vagrant-onap/lib/_onap_functions +++ b/bootstrap/vagrant-onap/lib/_onap_functions @@ -28,6 +28,15 @@ function pull_openecomp_image { 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 000000000..d115eaa0f --- /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 6fa42182e..2b0634bc6 100755 --- a/bootstrap/vagrant-onap/lib/vfc +++ b/bootstrap/vagrant-onap/lib/vfc @@ -61,19 +61,15 @@ function get_vfc_images { 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 000000000..2d2b87a54 --- /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 103dfeee1..8e6c94fa7 100644 --- a/bootstrap/vagrant-onap/tools/Run.ps1 +++ b/bootstrap/vagrant-onap/tools/Run.ps1 @@ -25,7 +25,7 @@ https://wiki.onap.org/display/DW/ONAP+on+Vagrant #> 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 094577fb1..08eae01e3 100755 --- a/bootstrap/vagrant-onap/tools/run.sh +++ b/bootstrap/vagrant-onap/tools/run.sh @@ -12,7 +12,7 @@ Optional arguments: 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 @@ case $COMMAND in "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 b0e64ad32..89a69dd9a 100755 --- a/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh +++ b/bootstrap/vagrant-onap/vagrant_utils/postinstall.sh @@ -6,7 +6,6 @@ source /var/onap/functions create_configuration_files install_dev_tools -install_java configure_bind for serv in $@; do -- cgit 1.2.3-korg