blob: 6fa42182e14067b5b1f9d958ec09b1536b5ffa8c [file] [log] [blame]
#!/bin/bash
set -o xtrace
source /var/onap/functions
src_folder=$git_src_folder/vfc
vfc_repos=("gvnfm/vnflcm" "gvnfm/vnfmgr" "gvnfm/vnfres" "nfvo/catalog" "nfvo/driver/ems" "nfvo/driver/sfc" \
"nfvo/driver/vnfm/gvnfm" "nfvo/driver/vnfm/svnfm" "nfvo/lcm" "nfvo/resmanagement" "nfvo/wfengine")
# clone_all_vfc_repos() - Function that clones VF-C source repo.
function clone_all_vfc_repos {
for dirc in ${vfc_repos[@]}; do
clone_repo vfc/$dirc $src_folder/$dirc
done
}
# compile_all_vfc_repos() - Function that compiles VF-C source repo.
function compile_all_vfc_repos {
install_python_package tox
pushd $src_folder/gvnfm/vnflcm/lcm
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
# gvnfm/vnfmgr/mgr
# gvnfm/vnfres/res
# nfvo/driver/vnfm/gvnfm/gvnfmadapter
# nfvo/driver/vnfm/svnfm/zte/vmanager
# 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_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 {
run_vfc_images
}
# init_vfc() - Function that initialize VF-C services
function init_vfc {
install_package libmysqlclient-dev
if [[ "$clone_repo" == "True" ]]; then
clone_all_vfc_repos
if [[ "$compile_repo" == "False" ]]; then
compile_all_vfc_repos
fi
fi
get_vfc_images
install_vfc
}