summaryrefslogtreecommitdiffstats
path: root/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/jenkins/vagrant/settings.xml11
-rw-r--r--bootstrap/vagrant-onap/Vagrantfile1
-rwxr-xr-xbootstrap/vagrant-onap/lib/robot49
-rwxr-xr-xbootstrap/vagrant-onap/lib/vfc35
-rw-r--r--bootstrap/vagrant-onap/tests/test_robot48
-rw-r--r--bootstrap/vagrant-onap/tests/test_vfc20
6 files changed, 150 insertions, 14 deletions
diff --git a/bootstrap/jenkins/vagrant/settings.xml b/bootstrap/jenkins/vagrant/settings.xml
index 41da9bec3..60fd7e8c9 100644
--- a/bootstrap/jenkins/vagrant/settings.xml
+++ b/bootstrap/jenkins/vagrant/settings.xml
@@ -33,6 +33,17 @@
<enabled>true</enabled>
</snapshots>
</repository>
+ <repository>
+ <id>open-o-thirdparty</id>
+ <name>open-o-thirdparty</name>
+ <url>https://nexus.open-o.org/content/repositories/thirdparty/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
</repositories>
<pluginRepositories>
<pluginRepository>
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile
index ff3590882..148d8ed48 100644
--- a/bootstrap/vagrant-onap/Vagrantfile
+++ b/bootstrap/vagrant-onap/Vagrantfile
@@ -345,6 +345,7 @@ Vagrant.configure("2") do |config|
vfc.vm.provider "openstack" do |v|
v.server_name = 'vfc'
end
+ vfc.vm.provision 'docker'
vfc.vm.provision 'shell' do |s|
s.path = 'vagrant_utils/postinstall.sh'
s.args = ['vfc']
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/vfc b/bootstrap/vagrant-onap/lib/vfc
index 9c232be28..6fa42182e 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -23,6 +23,11 @@ function compile_all_vfc_repos {
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
@@ -30,7 +35,6 @@ function compile_all_vfc_repos {
# gvnfm/vnfres/res
# nfvo/driver/vnfm/gvnfm/gvnfmadapter
# nfvo/driver/vnfm/svnfm/zte/vmanager
- # nfvo/lcm
# Java based:
# nfvo/catalog
@@ -42,10 +46,34 @@ function compile_all_vfc_repos {
# 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 {
- # TODO(sshank): Add further installation steps if necessary.
- echo ""
+ run_vfc_images
}
# init_vfc() - Function that initialize VF-C services
@@ -59,5 +87,6 @@ function init_vfc {
fi
fi
+ get_vfc_images
install_vfc
}
diff --git a/bootstrap/vagrant-onap/tests/test_robot b/bootstrap/vagrant-onap/tests/test_robot
new file mode 100644
index 000000000..702401e2a
--- /dev/null
+++ b/bootstrap/vagrant-onap/tests/test_robot
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+source /var/onap_tests/_test_base
+source /var/onap/robot
+
+covered_functions=(
+"clone_robot_repos" "compile_robot_repos" "get_robot_images" "install_robot"
+)
+
+# test_clone_robot_repos() - Verify that Robot repositories are cloned properly
+function test_clone_robot_repos {
+ clone_robot_repos
+
+ asserts_file_exist $robot_src_folder/LICENSE.TXT
+ asserts_file_exist $robot_src_folder/heatbridge/pom.xml
+ asserts_file_exist $robot_src_folder/properties/LICENSE.TXT
+ asserts_file_exist $robot_src_folder/python-testing-utils/LICENSE.TXT
+}
+
+# test_compile_robot_repos() - Verify that Robot source code can be compiled properly
+function test_compile_robot_repos {
+ clone_robot_repos
+ compile_robot_repos
+
+ asserts_file_exist $robot_src_folder/heatbridge/target/maven-python/dist/heatbridge-0.3.0.dev0-py2-none-any.whl
+}
+
+# test_get_robot_images() - Verify that Robot Docker images are retrieved
+function test_get_mr_images {
+ get_robot_images
+
+ asserts_image testsuite
+}
+
+# test_install_robot() - Verify the built and start of Robot services
+function test_install_message_router {
+ clone_robot_repos
+ get_robot_images
+ install_robot
+
+ asserts_image_running testsuite
+}
+
+if [ "$1" != '*' ]; then
+ unset covered_functions
+ covered_functions=$1
+fi
+main "${covered_functions[@]}"
diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc
index 338280948..e948ccedb 100644
--- a/bootstrap/vagrant-onap/tests/test_vfc
+++ b/bootstrap/vagrant-onap/tests/test_vfc
@@ -5,12 +5,15 @@ source /var/onap/vfc
covered_functions=(
"clone_all_vfc_repos" "compile_all_vfc_repos" "install_vfc"
+"build_nfvo_lcm_image" "get_vfc_images" "run_vfc_images"
)
# test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories
function test_clone_all_vfc_repos {
- # TODO(sshank)
- echo ""
+
+ # TODO(sshank): Add other asserts
+ asserts_file_exist $src_folder/nfvo/lcm/run.sh
+
}
# test_compile_all_vfc_repos() - Verify that all the VFC modules are compiled properly
@@ -21,11 +24,22 @@ function test_compile_all_vfc_repos {
# TODO(electrocucaracha): Add asserts_file_exist
}
+# test_get_vfc_images() - Verify all VFC images are built correctly.
+function test_get_vfc_images {
+ get_vfc_images
+
+ asserts_image nexus3.onap.org:10003/onap/vfc/nslcm
+
+ # TODO(sshank): Add asserts for other VFC component docker image builds when they are ready.
+}
+
# test_install_vfc() - Verify that the VFC are up and running
function test_install_vfc {
install_vfc
- # TODO(electrocucaracha): Add whatever asserts are needed
+ asserts_image_running vfc-nslcm
+
+ # TODO(sshank): Add asserts for other running VFC component docker images when they are ready.
}
if [ "$1" != '*' ]; then