diff options
Diffstat (limited to 'bootstrap')
-rw-r--r-- | bootstrap/jenkins/vagrant/settings.xml | 11 | ||||
-rw-r--r-- | bootstrap/vagrant-onap/Vagrantfile | 1 | ||||
-rwxr-xr-x | bootstrap/vagrant-onap/lib/robot | 49 | ||||
-rwxr-xr-x | bootstrap/vagrant-onap/lib/vfc | 35 | ||||
-rw-r--r-- | bootstrap/vagrant-onap/tests/test_robot | 48 | ||||
-rw-r--r-- | bootstrap/vagrant-onap/tests/test_vfc | 20 |
6 files changed, 150 insertions, 14 deletions
diff --git a/bootstrap/jenkins/vagrant/settings.xml b/bootstrap/jenkins/vagrant/settings.xml index 41da9bec3..60fd7e8c9 100644 --- a/bootstrap/jenkins/vagrant/settings.xml +++ b/bootstrap/jenkins/vagrant/settings.xml @@ -33,6 +33,17 @@ <enabled>true</enabled> </snapshots> </repository> + <repository> + <id>open-o-thirdparty</id> + <name>open-o-thirdparty</name> + <url>https://nexus.open-o.org/content/repositories/thirdparty/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> </repositories> <pluginRepositories> <pluginRepository> diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile index ff3590882..148d8ed48 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -345,6 +345,7 @@ Vagrant.configure("2") do |config| vfc.vm.provider "openstack" do |v| v.server_name = 'vfc' end + vfc.vm.provision 'docker' vfc.vm.provision 'shell' do |s| s.path = 'vagrant_utils/postinstall.sh' s.args = ['vfc'] diff --git a/bootstrap/vagrant-onap/lib/robot b/bootstrap/vagrant-onap/lib/robot index 4102680ef..34b431a54 100755 --- a/bootstrap/vagrant-onap/lib/robot +++ b/bootstrap/vagrant-onap/lib/robot @@ -2,12 +2,34 @@ set -o xtrace -# install_testsuite_properties() - Download and install testsuite properties -function install_testsuite_properties { +source /var/onap/functions + +robot_src_folder=$git_src_folder/testsuite +robot_repos=("heatbridge" "properties" "python-testing-utils") + +# clone_robot_repos() - Function that clones Robot source repo. +function clone_robot_repos { + clone_repo testsuite $robot_src_folder + + for dirc in ${robot_repos[@]}; do + clone_repo testsuite/$dirc $robot_src_folder/$dirc + done +} + +# compile_robot_repos() - Function that compile Robot source repo. +function compile_robot_repos { + install_python_package tox + compile_src $robot_src_folder + + for dirc in ${robot_repos[@]}; do + compile_src $robot_src_folder/$dirc + done +} + +# _setup_ete_folder() - Create and copy ete folder structure +function _setup_ete_folder { mkdir -p /opt/eteshare/config - local src_folder=/opt/testsuite/properties - clone_repo testsuite/properties $src_folder cp $src_folder/integration_* /opt/eteshare/config cp $src_folder/vm_config2robot.sh /opt/eteshare/config cp $src_folder/ete.sh /opt @@ -17,15 +39,26 @@ function install_testsuite_properties { chmod +x /opt/demo.sh } -# run_testsuite_image() - Pull and run testsuite docker image -function run_testsuite_image { +# get_robot_images() - Pull or build the Robot Docker images +function get_robot_images { pull_openecomp_image testsuite +} + +# install_robot() - Run Robot services +function install_robot { docker rm -f openecompete_container docker run -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version } # init_robot() - Function that initialize Robot services function init_robot { - install_testsuite_properties - run_testsuite_image + if [[ "$clone_repo" == "True" ]]; then + clone_robot_repos + _setup_ete_folder + if [[ "$compile_repo" == "True" ]]; then + compile_robot_repos + fi + fi + get_robot_images + install_robot } diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc index 9c232be28..6fa42182e 100755 --- a/bootstrap/vagrant-onap/lib/vfc +++ b/bootstrap/vagrant-onap/lib/vfc @@ -23,6 +23,11 @@ function compile_all_vfc_repos { tox -e py27 popd + + pushd $src_folder/nfvo/lcm + tox -e py27 + popd + # TODO(sshank): Add compile for other vfc_repos. (Both Java and Python based.) # Python based: # gvnfm/vnflcm/lcm @@ -30,7 +35,6 @@ function compile_all_vfc_repos { # gvnfm/vnfres/res # nfvo/driver/vnfm/gvnfm/gvnfmadapter # nfvo/driver/vnfm/svnfm/zte/vmanager - # nfvo/lcm # Java based: # nfvo/catalog @@ -42,10 +46,34 @@ function compile_all_vfc_repos { # nfvo/wfengine } +# build_nfvo_lcm_image() - Build VFC NFVO LCM docker image +function build_nfvo_lcm_image { + pushd $src_folder/nfvo/lcm/docker + sed -i '$ d' build_image.sh + ./build_image.sh + popd +} + +# get_vfc_images() - Build VFC docker images +function get_vfc_images { + if [[ "$build_image" == "True" ]]; then + install_docker + 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 + 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 { - # TODO(sshank): Add further installation steps if necessary. - echo "" + run_vfc_images } # init_vfc() - Function that initialize VF-C services @@ -59,5 +87,6 @@ function init_vfc { fi fi + get_vfc_images install_vfc } diff --git a/bootstrap/vagrant-onap/tests/test_robot b/bootstrap/vagrant-onap/tests/test_robot new file mode 100644 index 000000000..702401e2a --- /dev/null +++ b/bootstrap/vagrant-onap/tests/test_robot @@ -0,0 +1,48 @@ +#!/bin/bash + +source /var/onap_tests/_test_base +source /var/onap/robot + +covered_functions=( +"clone_robot_repos" "compile_robot_repos" "get_robot_images" "install_robot" +) + +# test_clone_robot_repos() - Verify that Robot repositories are cloned properly +function test_clone_robot_repos { + clone_robot_repos + + asserts_file_exist $robot_src_folder/LICENSE.TXT + asserts_file_exist $robot_src_folder/heatbridge/pom.xml + asserts_file_exist $robot_src_folder/properties/LICENSE.TXT + asserts_file_exist $robot_src_folder/python-testing-utils/LICENSE.TXT +} + +# test_compile_robot_repos() - Verify that Robot source code can be compiled properly +function test_compile_robot_repos { + clone_robot_repos + compile_robot_repos + + asserts_file_exist $robot_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl +} + +# test_get_robot_images() - Verify that Robot Docker images are retrieved +function test_get_mr_images { + get_robot_images + + asserts_image testsuite +} + +# test_install_robot() - Verify the built and start of Robot services +function test_install_message_router { + clone_robot_repos + get_robot_images + install_robot + + asserts_image_running testsuite +} + +if [ "$1" != '*' ]; then + unset covered_functions + covered_functions=$1 +fi +main "${covered_functions[@]}" diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc index 338280948..e948ccedb 100644 --- a/bootstrap/vagrant-onap/tests/test_vfc +++ b/bootstrap/vagrant-onap/tests/test_vfc @@ -5,12 +5,15 @@ source /var/onap/vfc covered_functions=( "clone_all_vfc_repos" "compile_all_vfc_repos" "install_vfc" +"build_nfvo_lcm_image" "get_vfc_images" "run_vfc_images" ) # test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories function test_clone_all_vfc_repos { - # TODO(sshank) - echo "" + + # TODO(sshank): Add other asserts + asserts_file_exist $src_folder/nfvo/lcm/run.sh + } # test_compile_all_vfc_repos() - Verify that all the VFC modules are compiled properly @@ -21,11 +24,22 @@ function test_compile_all_vfc_repos { # TODO(electrocucaracha): Add asserts_file_exist } +# test_get_vfc_images() - Verify all VFC images are built correctly. +function test_get_vfc_images { + get_vfc_images + + asserts_image nexus3.onap.org:10003/onap/vfc/nslcm + + # TODO(sshank): Add asserts for other VFC component docker image builds when they are ready. +} + # test_install_vfc() - Verify that the VFC are up and running function test_install_vfc { install_vfc - # TODO(electrocucaracha): Add whatever asserts are needed + asserts_image_running vfc-nslcm + + # TODO(sshank): Add asserts for other running VFC component docker images when they are ready. } if [ "$1" != '*' ]; then |