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