summaryrefslogtreecommitdiffstats
path: root/lib/vfc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vfc')
-rwxr-xr-xlib/vfc96
1 files changed, 96 insertions, 0 deletions
diff --git a/lib/vfc b/lib/vfc
new file mode 100755
index 0000000..64f7df0
--- /dev/null
+++ b/lib/vfc
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+source /var/onap/functions
+
+# compile_all_vfc_repos() - Function that compiles VF-C source repo.
+function compile_all_vfc_repos {
+ install_python_package tox
+
+ tox_repos=("gvnfm/vnflcm/lcm" "gvnfm/vnfmgr/mgr" "gvnfm/vnfres/res" "nfvo/lcm" \
+ "nfvo/driver/vnfm/gvnfm/gvnfmadapter" "nfvo/driver/vnfm/svnfm/zte/vmanager")
+ for dirc in ${tox_repos[@]}; do
+ pushd ${src_folders[vfc]}/$dirc
+ tox -e py27
+ popd
+ done
+
+ # TODO(sshank): Add compile for other vfc_repos. (Java based.)
+
+ # Java based:
+ # nfvo/catalog
+ # nfvo/driver/ems/ems/sems/boco/ems-driver
+ # nfvo/driver/sfc/zte/sfc-driver
+ # nfvo/driver/vnfm/gvnfm/juju/juju-vnfmadapter
+ # nfvo/driver/vnfm/svnfm/huawei/vnfmadapter
+ # nfvo/resmanagement
+ # nfvo/wfengine
+}
+
+# _build_vfc_image() - Build VFC docker image
+function _build_vfc_image {
+ pushd ${src_folders[vfc]}/$1/docker
+ sed -i "s/^push_image/#push_image/g" build_image.sh
+ sed -i 's|IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"|IMAGE_NAME=${ORG}/${IMAGE}|g' 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
+ # Separate methods are required since the image build process will change.
+ _build_vfc_image gvnfm/vnflcm/lcm onap/nslcm
+ _build_vfc_image gvnfm/vnfmgr/mgr onap/gvnfmdriver
+ _build_vfc_image gvnfm/vnfres/res onap/vnfres
+ _build_vfc_image nfvo/lcm onap/vnflcm
+ _build_vfc_image nfvo/driver/vnfm/gvnfm/gvnfmadapter
+
+ build_gvnfm_lcm_image
+ build_gvnfm_vnfmgr_image
+ build_gvnfm_vnfres_image
+ build_nfvo_lcm_image
+ build_nfvo_vnfm_gvnfmadapter_image
+ # TODO(sshank): Add other VFC component docker image builds.
+ else
+ for image in gvnfm/vnflcm/lcm gvnfm/vnfmgr/mgr gvnfm/vnfres/res nfvo/lcm nfvo/driver/vnfm/gvnfm/gvnfmadapter; do
+ pull_onap_image vfc/$image
+ done
+ fi
+}
+
+# install_vfc() - Download and install vfc service from source code
+function install_vfc {
+ nslcm_image=`docker images | grep nslcm | grep latest| awk '{print $1 ":" $2}'`
+ vnflcm_image=`docker images | grep vnflcm | grep latest| awk '{print $1 ":" $2}'`
+ vnfmgr_image=`docker images | grep vnfmgr | grep latest| awk '{print $1 ":" $2}'`
+ vnfres_image=`docker images | grep vnfres | grep latest| awk '{print $1 ":" $2}'`
+ gvnfmdriver_image=`docker images | grep gvnfmdriver | grep latest| awk '{print $1 ":" $2}'`
+
+ run_docker_image -d --name vfc-nslcm -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image
+ run_docker_image -d --name vfc-vnflcm -p 8801:8801 -e MSB_ADDR=127.0.0.1 $vnflcm_image
+ run_docker_image -d --name vfc-vnfmgr -p 8803:8803 -e MSB_ADDR=127.0.0.1 $vnfmgr_image
+ run_docker_image -d --name vfc-vnfres -p 8802:8802 -e MSB_ADDR=127.0.0.1 $vnfres_image
+ run_docker_image -d --name vfc-gvnfmdriver -p 8484:8484 -e MSB_ADDR=127.0.0.1 $gvnfmdriver_image
+
+ # TODO(sshank): Run other VFC component docker images.
+}
+
+# init_vfc() - Function that initialize VF-C services
+function init_vfc {
+ install_package libmysqlclient-dev
+
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_repos "vfc"
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_all_vfc_repos
+ fi
+ fi
+
+ if [[ "$skip_get_images" == "False" ]]; then
+ get_vfc_images
+ if [[ "$skip_install" == "False" ]]; then
+ install_vfc
+ fi
+ fi
+}