summaryrefslogtreecommitdiffstats
path: root/bootstrap/vagrant-onap/lib
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap/vagrant-onap/lib')
-rwxr-xr-xbootstrap/vagrant-onap/lib/_onap_functions9
-rwxr-xr-xbootstrap/vagrant-onap/lib/ccsdk64
-rwxr-xr-xbootstrap/vagrant-onap/lib/robot49
-rwxr-xr-xbootstrap/vagrant-onap/lib/sdnc2
-rwxr-xr-xbootstrap/vagrant-onap/lib/vfc97
5 files changed, 199 insertions, 22 deletions
diff --git a/bootstrap/vagrant-onap/lib/_onap_functions b/bootstrap/vagrant-onap/lib/_onap_functions
index 9e06010ed..18a465948 100755
--- a/bootstrap/vagrant-onap/lib/_onap_functions
+++ b/bootstrap/vagrant-onap/lib/_onap_functions
@@ -28,6 +28,15 @@ function pull_openecomp_image {
docker logout
}
+# pull_onap_image() - Pull Docker container image from a Docker Registry Hub
+function pull_onap_image {
+ local image=$1
+ local tag=$2
+ docker_openecomp_login
+ pull_docker_image $nexus_docker_repo/onap/${image}:$docker_version $tag
+ docker logout
+}
+
# configure_bind()- Configure bind utils
function configure_bind {
_install_bind
diff --git a/bootstrap/vagrant-onap/lib/ccsdk b/bootstrap/vagrant-onap/lib/ccsdk
new file mode 100755
index 000000000..6ea829fb5
--- /dev/null
+++ b/bootstrap/vagrant-onap/lib/ccsdk
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+set -o xtrace
+
+source /var/onap/functions
+
+ccsdk_src_folder=$git_src_folder/ccsdk
+ccsdk_repos=("dashboard" "distribution" "parent" "platform/blueprints" "platform/nbapi" "platform/plugins" "sli" "sli/adaptors" "sli/core" "sli/northbound" "sli/plugins" "storage" "storage/esaas" "storage/pgaas" "utils")
+
+# clone_ccsdk_repos() - Function that clones the CCSDK repositories
+function clone_ccsdk_repos {
+ clone_repo ccsdk $ccsdk_src_folder
+
+ for dirc in ${ccsdk_repos[@]}; do
+ clone_repo ccsdk/$dirc $ccsdk_src_folder/$dirc
+ done
+}
+
+# compile_ccsdk_repos() -
+function compile_ccsdk_repos {
+ compile_src ccsdk $ccsdk_src_folder
+
+ for dirc in ${ccsdk_repos[@]}; do
+ compile_src $ccsdk_src_folder/$dirc
+ done
+}
+
+# _build_ccsdk_images() - Build CCSDK Docker images from source code
+function _build_ccsdk_images {
+ install_package unzip
+ clone_repo ccsdk/distribution $ccsdk_src_folder/distribution
+ compile_src $ccsdk_src_folder/distribution
+ for image in ubuntu opendaylight odlsli dgbuilder-docker; do
+ build_docker_image $ccsdk_src_folder/distribution/$image docker
+ done
+}
+
+# get_ccsdk_images() - Get CCSDK Docker images
+function get_ccsdk_images {
+ if [[ "$build_image" == "True" ]]; then
+ _build_ccsdk_images
+ else
+ for image in ubuntu odl dgbuilder; do
+ pull_onap_image ccsdk-$image-image
+ done
+ fi
+
+}
+
+# install_ccsdk() -
+function install_ccsdk {
+ echo "pass"
+}
+
+# init_ccsdk() - Function that initialize Multi Cloud services
+function init_ccsdk {
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_ccsdk_repos
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_ccsdk_repos
+ fi
+ fi
+ install_ccsdk
+}
diff --git a/bootstrap/vagrant-onap/lib/robot b/bootstrap/vagrant-onap/lib/robot
index 4102680ef..34b431a54 100755
--- a/bootstrap/vagrant-onap/lib/robot
+++ b/bootstrap/vagrant-onap/lib/robot
@@ -2,12 +2,34 @@
set -o xtrace
-# install_testsuite_properties() - Download and install testsuite properties
-function install_testsuite_properties {
+source /var/onap/functions
+
+robot_src_folder=$git_src_folder/testsuite
+robot_repos=("heatbridge" "properties" "python-testing-utils")
+
+# clone_robot_repos() - Function that clones Robot source repo.
+function clone_robot_repos {
+ clone_repo testsuite $robot_src_folder
+
+ for dirc in ${robot_repos[@]}; do
+ clone_repo testsuite/$dirc $robot_src_folder/$dirc
+ done
+}
+
+# compile_robot_repos() - Function that compile Robot source repo.
+function compile_robot_repos {
+ install_python_package tox
+ compile_src $robot_src_folder
+
+ for dirc in ${robot_repos[@]}; do
+ compile_src $robot_src_folder/$dirc
+ done
+}
+
+# _setup_ete_folder() - Create and copy ete folder structure
+function _setup_ete_folder {
mkdir -p /opt/eteshare/config
- local src_folder=/opt/testsuite/properties
- clone_repo testsuite/properties $src_folder
cp $src_folder/integration_* /opt/eteshare/config
cp $src_folder/vm_config2robot.sh /opt/eteshare/config
cp $src_folder/ete.sh /opt
@@ -17,15 +39,26 @@ function install_testsuite_properties {
chmod +x /opt/demo.sh
}
-# run_testsuite_image() - Pull and run testsuite docker image
-function run_testsuite_image {
+# get_robot_images() - Pull or build the Robot Docker images
+function get_robot_images {
pull_openecomp_image testsuite
+}
+
+# install_robot() - Run Robot services
+function install_robot {
docker rm -f openecompete_container
docker run -d --name openecompete_container -v /opt/eteshare:/share -p 88:88 $nexus_docker_repo/openecomp/testsuite:$docker_version
}
# init_robot() - Function that initialize Robot services
function init_robot {
- install_testsuite_properties
- run_testsuite_image
+ if [[ "$clone_repo" == "True" ]]; then
+ clone_robot_repos
+ _setup_ete_folder
+ if [[ "$compile_repo" == "True" ]]; then
+ compile_robot_repos
+ fi
+ fi
+ get_robot_images
+ install_robot
}
diff --git a/bootstrap/vagrant-onap/lib/sdnc b/bootstrap/vagrant-onap/lib/sdnc
index c7c2745d8..770f6be9f 100755
--- a/bootstrap/vagrant-onap/lib/sdnc
+++ b/bootstrap/vagrant-onap/lib/sdnc
@@ -3,6 +3,7 @@
set -o xtrace
source /var/onap/functions
+source /var/onap/ccsdk
sdnc_src_folder=$git_src_folder/openecomp/sdnc
sdnc_repos=("core" "adaptors" "northbound" "plugins" "oam")
@@ -28,6 +29,7 @@ function compile_all_sdnc_repos {
function _build_sdnc_images {
local folder=$sdnc_src_folder/oam
+ get_ccsdk_images
install_package unzip
clone_repo sdnc/oam $folder
# The OAM code depends on all the SDNC repos which should be downloaded and compiled first
diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc
index 9c232be28..2d1418258 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -19,18 +19,15 @@ function clone_all_vfc_repos {
function compile_all_vfc_repos {
install_python_package tox
- pushd $src_folder/gvnfm/vnflcm/lcm
- tox -e py27
- popd
+ 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_folder/$dirc
+ tox -e py27
+ popd
+ done
- # 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
- # nfvo/lcm
+ # TODO(sshank): Add compile for other vfc_repos. (Java based.)
# Java based:
# nfvo/catalog
@@ -42,10 +39,81 @@ function compile_all_vfc_repos {
# nfvo/wfengine
}
+# build_gvnfm_lcm_image() - Build VFC GVNFM VNF LCM docker image
+function build_gvnfm_lcm_image {
+ pushd $src_folder/gvnfm/vnflcm/lcm/docker
+ sed -i '$ {s/^/#/}' build_image.sh
+ ./build_image.sh
+ popd
+}
+
+# build_gvnfm_vnfmgr_image() - Build VFC GVNFM VNF Manager docker image
+function build_gvnfm_vnfmgr_image {
+ pushd $src_folder/gvnfm/vnfmgr/mgr/docker
+ sed -i '$ {s/^/#/}' build_image.sh
+ ./build_image.sh
+ popd
+}
+
+# build_gvnfm_vnfres_image() - Build VFC GVNFM VNF Resource Management docker image
+function build_gvnfm_vnfres_image {
+ pushd $src_folder/gvnfm/vnfres/res/docker
+ sed -i '$ {s/^/#/}' build_image.sh
+ ./build_image.sh
+ popd
+}
+
+# build_nfvo_lcm_image() - Build VFC NFVO LCM docker image
+function build_nfvo_lcm_image {
+ pushd $src_folder/nfvo/lcm/docker
+ sed -i '$ {s/^/#/}' build_image.sh
+ ./build_image.sh
+ popd
+}
+
+# build_nfvo_vnfm_gvnfmadapter_image() - Build VFC NFVO General VNF Adapter docker image
+function build_nfvo_vnfm_gvnfmadapter_image {
+ pushd $src_folder/nfvo/driver/vnfm/gvnfm/gvnfmadapter/docker
+ sed -i '$ {s/^/#/}' 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_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
+ pull_onap_image vfc/gvnfm/vnflcm/lcm
+ pull_onap_image vfc/gvnfm/vnfmgr/mgr
+ pull_onap_image vfc/gvnfm/vnfres/res
+ pull_onap_image vfc/nfvo/lcm
+ pull_onap_image vfc/nfvo/driver/vnfm/gvnfm/gvnfmadapter
+ fi
+}
+
# install_vfc() - Download and install vfc service from source code
function install_vfc {
- # TODO(sshank): Add further installation steps if necessary.
- echo ""
+ 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}'`
+
+ docker run -d --name vfc-nslcm -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image
+ docker run -d --name vfc-vnflcm -p 8801:8801 -e MSB_ADDR=127.0.0.1 $vnflcm_image
+ docker run -d --name vfc-vnfmgr -p 8803:8803 -e MSB_ADDR=127.0.0.1 $vnfmgr_image
+ docker run -d --name vfc-vnfres -p 8802:8802 -e MSB_ADDR=127.0.0.1 $vnfres_image
+ docker run -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
@@ -54,10 +122,11 @@ function init_vfc {
if [[ "$clone_repo" == "True" ]]; then
clone_all_vfc_repos
- if [[ "$compile_repo" == "False" ]]; then
+ if [[ "$compile_repo" == "True" ]]; then
compile_all_vfc_repos
fi
fi
+ get_vfc_images
install_vfc
}