#!/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 }