aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShashank Kumar Shankar <shashank.kumar.shankar@intel.com>2017-09-05 13:26:19 -0700
committerShashank Kumar Shankar <shashank.kumar.shankar@intel.com>2017-09-05 13:31:46 -0700
commit6cc4a43c4ad20af22c0587522455c580c5751e97 (patch)
tree0fe7e0c7f79edf0e9c980336ee9c427ef781e3f4
parente51891b6827f33390d4e81ac34222d862ad24880 (diff)
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 <shashank.kumar.shankar@intel.com>
-rw-r--r--bootstrap/vagrant-onap/Vagrantfile1
-rwxr-xr-xbootstrap/vagrant-onap/lib/vfc35
-rw-r--r--bootstrap/vagrant-onap/tests/test_vfc20
3 files changed, 50 insertions, 6 deletions
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