From 6cc4a43c4ad20af22c0587522455c580c5751e97 Mon Sep 17 00:00:00 2001 From: Shashank Kumar Shankar Date: Tue, 5 Sep 2017 13:26:19 -0700 Subject: Add VFC LCM docker image build in Vagrant ONAP This patch adds support for building docker image for the VFC NFVO LCM repo. Change-Id: I5aa999a872bc727959180389ff354c029af513a0 Issue-Id: INT-136 Signed-off-by: Shashank Kumar Shankar --- bootstrap/vagrant-onap/Vagrantfile | 1 + bootstrap/vagrant-onap/lib/vfc | 35 ++++++++++++++++++++++++++++++++--- bootstrap/vagrant-onap/tests/test_vfc | 20 +++++++++++++++++--- 3 files changed, 50 insertions(+), 6 deletions(-) (limited to 'bootstrap/vagrant-onap') 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/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_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 -- cgit 1.2.3-korg