aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootstrap/vagrant-onap/lib/vfc86
-rw-r--r--bootstrap/vagrant-onap/tests/test_aai15
-rw-r--r--bootstrap/vagrant-onap/tests/test_vfc18
-rw-r--r--test/csit/plans/holmes-rule-management/sanity-check/setup.sh4
-rwxr-xr-xtest/csit/plans/integration/vCPE/setup.sh21
-rwxr-xr-xtest/csit/plans/integration/vCPE/teardown.sh18
-rw-r--r--test/csit/plans/integration/vCPE/testplan.txt3
-rwxr-xr-xtest/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh2
-rw-r--r--test/csit/tests/common.robot22
-rw-r--r--test/csit/tests/integration/vCPE/__init__.robot2
-rw-r--r--test/csit/tests/integration/vCPE/test1.robot34
-rw-r--r--test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json6
-rw-r--r--test/csit/tests/vfc/nfvo-lcm/test.robot36
13 files changed, 224 insertions, 43 deletions
diff --git a/bootstrap/vagrant-onap/lib/vfc b/bootstrap/vagrant-onap/lib/vfc
index 2b0634bc6..2d1418258 100755
--- a/bootstrap/vagrant-onap/lib/vfc
+++ b/bootstrap/vagrant-onap/lib/vfc
@@ -19,22 +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
-
-
- pushd $src_folder/nfvo/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
+ # TODO(sshank): Add compile for other vfc_repos. (Java based.)
# Java based:
# nfvo/catalog
@@ -46,10 +39,42 @@ 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 '$ d' build_image.sh
+ 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
}
@@ -58,18 +83,37 @@ function build_nfvo_lcm_image {
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
- # TODO(sshank): Add other VFC component docker image builds when they are ready.
+ build_nfvo_vnfm_gvnfmadapter_image
+ # TODO(sshank): Add other VFC component docker image builds.
else
- pull_onap_image vfc/nslcm
+ 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 {
nslcm_image=`docker images | grep nslcm | grep latest| awk '{print $1 ":" $2}'`
- docker run -d --name vfc-nslcm -p 3306:3306 -p 8403:8403 -e MSB_ADDR=127.0.0.1 $nslcm_image
- # TODO(sshank): Run other VFC component docker images when they are ready.
+ 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
@@ -78,7 +122,7 @@ 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
diff --git a/bootstrap/vagrant-onap/tests/test_aai b/bootstrap/vagrant-onap/tests/test_aai
index 0fa82d531..5ff62c156 100644
--- a/bootstrap/vagrant-onap/tests/test_aai
+++ b/bootstrap/vagrant-onap/tests/test_aai
@@ -4,7 +4,8 @@ source /var/onap_tests/_test_base
source /var/onap/aai
covered_functions=(
-"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "start_aai_microservices" "install_hbase" "install_ajsc_aai" "install_model_loader"
+#"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "start_aai_microservices" "install_hbase" "install_ajsc_aai" "install_model_loader"
+"install_hadoop" "install_haproxy" "clone_all_aai_repos" "compile_aai_repos" "setup_titan" "install_hbase" "install_ajsc_aai" "install_model_loader"
)
# TODO(electrocucaracha): Remove/Modify functions that doesn't support proxy settings
@@ -61,23 +62,11 @@ function test_compile_aai_repos {
asserts_file_exist $aai_src_folder/aai-common/aai-core/target/aai-core-1.1.0-SNAPSHOT.jar
asserts_file_exist $aai_src_folder/aai-common/aai-schema/target/aai-schema-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/aai-service/aai-schema/target/aai-schema-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/aai-service/ajsc-aai/target/aai.jar
- asserts_file_exist $aai_src_folder/aai-service/annotations/target/annotations-1.1.0-SNAPSHOT.jar
-
- asserts_file_exist $aai_src_folder/data-router/target/data-router-1.1.0-SNAPSHOT.jar
-
asserts_file_exist $aai_src_folder/logging-service/common-logging/target/common-logging-1.1.0-SNAPSHOT.jar
asserts_file_exist $aai_src_folder/logging-service/eelf-logging/target/eelf-logging-1.1.0-SNAPSHOT.jar
asserts_file_exist $aai_src_folder/logging-service/logging-api/target/logging-api-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/model-loader/target/model-loader-1.1.0-SNAPSHOT.jar
asserts_file_exist $aai_src_folder/resources/aai-resources/target/aai-resources.jar
- asserts_file_exist $aai_src_folder/rest-client/target/rest-client-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/router-core/target/router-core-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/search-data-service/target/search-data-service-1.1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/sparky-be/target/sparky-be-1.0-SNAPSHOT.jar
- asserts_file_exist $aai_src_folder/sparky-fe/target/sparky-fe-1.0.0-SNAPSHOT.war
asserts_file_exist $aai_src_folder/traversal/aai-traversal/target/traversal.jar
}
diff --git a/bootstrap/vagrant-onap/tests/test_vfc b/bootstrap/vagrant-onap/tests/test_vfc
index e948ccedb..8392e701f 100644
--- a/bootstrap/vagrant-onap/tests/test_vfc
+++ b/bootstrap/vagrant-onap/tests/test_vfc
@@ -5,7 +5,9 @@ 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"
+"get_vfc_images" "run_vfc_images" "build_nfvo_lcm_image"
+"build_gvnfm_lcm_image" "build_gvnfm_vnfmgr_image" "build_gvnfm_vnfres_image"
+"build_nfvo_lcm_image" "build_nfvo_vnfm_gvnfmadapter_image"
)
# test_clone_all_vfc_repos() - Verify cloning and pulling source code from repositories
@@ -29,17 +31,25 @@ function test_get_vfc_images {
get_vfc_images
asserts_image nexus3.onap.org:10003/onap/vfc/nslcm
+ asserts_image nexus3.onap.org:10003/onap/vfc/gvnfmdriver
+ asserts_image nexus3.onap.org:10003/onap/vfc/vnfres
+ asserts_image nexus3.onap.org:10003/onap/vfc/vnfmgr
+ asserts_image nexus3.onap.org:10003/onap/vfc/vnflcm
- # TODO(sshank): Add asserts for other VFC component docker image builds when they are ready.
+ # TODO(sshank): Add asserts for other VFC component docker image builds.
}
# test_install_vfc() - Verify that the VFC are up and running
function test_install_vfc {
install_vfc
- asserts_image_running vfc-nslcm
+ asserts_image_running nexus3.onap.org:10003/onap/vfc/nslcm:latest
+ asserts_image_running nexus3.onap.org:10003/onap/vfc/gvnfmdriver:latest
+ asserts_image_running nexus3.onap.org:10003/onap/vfc/vnfres:latest
+ asserts_image_running nexus3.onap.org:10003/onap/vfc/vnfmgr:latest
+ asserts_image_running nexus3.onap.org:10003/onap/vfc/vnflcm:latest
- # TODO(sshank): Add asserts for other running VFC component docker images when they are ready.
+ # TODO(sshank): Add asserts for other running VFC component docker images.
}
if [ "$1" != '*' ]; then
diff --git a/test/csit/plans/holmes-rule-management/sanity-check/setup.sh b/test/csit/plans/holmes-rule-management/sanity-check/setup.sh
index cbe107c16..ee010a015 100644
--- a/test/csit/plans/holmes-rule-management/sanity-check/setup.sh
+++ b/test/csit/plans/holmes-rule-management/sanity-check/setup.sh
@@ -17,7 +17,7 @@
# Place the scripts in run order:
# Download and start MySQL
-docker pull postgresql:9.5
+docker pull postgres:9.5
docker run --name postgres-holmes -p 5432:5432 -e POSTGRES_USER=holmes -e POSTGRES_PASSWORD=holmespwd -d postgres:9.5
DB_IP=`get-instance-ip.sh postgres-holmes`
echo DB_IP=${DB_IP}
@@ -26,7 +26,7 @@ echo DB_IP=${DB_IP}
docker login -u docker -p docker nexus3.onap.org:10001
# Start MSB
-docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base
+docker run -d -p 8500:8500 --name msb_consul consul
CONSUL_IP=`get-instance-ip.sh msb_consul`
echo CONSUL_IP=${CONSUL_IP}
docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery
diff --git a/test/csit/plans/integration/vCPE/setup.sh b/test/csit/plans/integration/vCPE/setup.sh
new file mode 100755
index 000000000..1b9cc343d
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/setup.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Place the scripts in run order:
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES=""
+
diff --git a/test/csit/plans/integration/vCPE/teardown.sh b/test/csit/plans/integration/vCPE/teardown.sh
new file mode 100755
index 000000000..8beb6e1f9
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/teardown.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
diff --git a/test/csit/plans/integration/vCPE/testplan.txt b/test/csit/plans/integration/vCPE/testplan.txt
new file mode 100644
index 000000000..2b3d4ad5d
--- /dev/null
+++ b/test/csit/plans/integration/vCPE/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+integration/vCPE
diff --git a/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh
index d75b1cadb..3cc53988c 100755
--- a/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh
+++ b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh
@@ -55,4 +55,4 @@ for i in {1..10}; do
done
# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v NSLCM_IP:${NSLCM_IP}"
+ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v NSLCM_IP:${NSLCM_IP} -v SCRIPTS:${SCRIPTS}"
diff --git a/test/csit/tests/common.robot b/test/csit/tests/common.robot
new file mode 100644
index 000000000..944be6b9f
--- /dev/null
+++ b/test/csit/tests/common.robot
@@ -0,0 +1,22 @@
+#Robot functions that will be shared also with other tests
+
+*** Keywords ***
+json_from_file
+#Robot function to extract the json object from a file
+ [Arguments] ${file_path}
+ ${json_file}= Get file ${file_path}
+ ${json_object}= Evaluate json.loads('''${json_file}''') json
+ [return] ${json_object}
+
+string_from_json
+#Robot function to transform the json object to a string
+ [Arguments] ${json_value}
+ ${json_string}= Stringify Json ${json_value}
+ [return] ${json_string}
+
+random_ip
+#Robot function to generate a random IP
+ [Arguments]
+ ${numbers}= Evaluate random.sample([x for x in range(1, 256)], 4) random
+ ${generated_ip}= Catenate ${numbers[0]}.${numbers[1]}.${numbers[2]}.${numbers[3]}
+ [return] ${generated_ip} \ No newline at end of file
diff --git a/test/csit/tests/integration/vCPE/__init__.robot b/test/csit/tests/integration/vCPE/__init__.robot
new file mode 100644
index 000000000..b2057b0d1
--- /dev/null
+++ b/test/csit/tests/integration/vCPE/__init__.robot
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation Integration - vCPE
diff --git a/test/csit/tests/integration/vCPE/test1.robot b/test/csit/tests/integration/vCPE/test1.robot
new file mode 100644
index 000000000..d9a9baf95
--- /dev/null
+++ b/test/csit/tests/integration/vCPE/test1.robot
@@ -0,0 +1,34 @@
+*** Settings ***
+Library OperatingSystem
+Library RequestsLibrary
+Library Process
+
+*** Test Cases ***
+SO ServiceInstance health check
+ ${SO_IP}= Run Docker nexus3.onap.org:10001/openecomp/mso i-so
+ Wait Until Keyword Succeeds 1 min 5 sec CheckUrl http://${SO_IP}:8080
+ Create Session refrepo http://${SO_IP}:8080
+ &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
+ ${resp}= Get Request refrepo /ecomp/mso/infra/orchestrationRequests/v2 headers=${headers}
+ Should Not Contain ${resp.content} null
+ Kill Docker i-so
+
+*** Keywords ***
+Run Docker
+ [Arguments] ${image} ${name} ${parameters}=${EMPTY}
+ ${result}= Run Process docker run --name ${name} ${parameters} -d ${image} shell=True
+ Log all output: ${result.stdout}
+ ${result}= Run Process docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${name} shell=True
+ [Return] ${result.stdout}
+
+Kill Docker
+ [Arguments] ${name}
+ ${result}= Run Process docker logs ${name} shell=True
+ ${result}= Run Process docker kill ${name} shell=True
+ ${result}= Run Process docker rm ${name} shell=True
+
+CheckUrl
+ [Arguments] ${url}
+ Create Session session ${url} disable_warnings=True
+ ${resp}= Get Request session /
+ Should Be Equal As Integers ${resp.status_code} 200
diff --git a/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json b/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json
new file mode 100644
index 000000000..bb39364bb
--- /dev/null
+++ b/test/csit/tests/vfc/nfvo-lcm/jsoninput/create_ns.json
@@ -0,0 +1,6 @@
+{
+ "nsName": "ns1",
+ "csarId": "123",
+ "description": "ns1 desc",
+ "test": "test"
+} \ No newline at end of file
diff --git a/test/csit/tests/vfc/nfvo-lcm/test.robot b/test/csit/tests/vfc/nfvo-lcm/test.robot
index 7f6a0d8b8..44d23292e 100644
--- a/test/csit/tests/vfc/nfvo-lcm/test.robot
+++ b/test/csit/tests/vfc/nfvo-lcm/test.robot
@@ -1,12 +1,22 @@
*** settings ***
+Resource ../../common.robot
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library json
+Library HttpLibrary.HTTP
*** Variables ***
-@{return_ok_list}= 200 201 202
+@{return_ok_list}= 200 201 202 204
${queryswagger_url} /api/nslcm/v1/swagger.json
+${create_ns_url} /api/nslcm/v1/ns
+${delete_ns_url} /api/nslcm/v1/ns
+
+#json files
+${create_ns_json} ${SCRIPTS}/../tests/vfc/nfvo-lcm/jsoninput/create_ns.json
+
+#global variables
+${nsInstId}
*** Test Cases ***
NslcmSwaggerTest
@@ -29,4 +39,26 @@ NslcmSwaggerByMSBTest
List Should Contain Value ${return_ok_list} ${responese_code}
${response_json} json.loads ${resp.content}
${swagger_version}= Convert To String ${response_json['swagger']}
- Should Be Equal ${swagger_version} 2.0 \ No newline at end of file
+ Should Be Equal ${swagger_version} 2.0
+
+CreateNSTest
+ [Documentation] Create NS function test
+ ${json_value}= json_from_file ${create_ns_json}
+ ${json_string}= string_from_json ${json_value}
+ ${headers} Create Dictionary Content-Type=application/json Accept=application/json
+ Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers}
+ Set Request Body ${json_string}
+ ${resp}= Post Request web_session ${create_ns_url} ${json_string}
+ ${responese_code}= Convert To String ${resp.status_code}
+ List Should Contain Value ${return_ok_list} ${responese_code}
+ ${response_json} json.loads ${resp.content}
+ ${nsInstId}= Convert To String ${response_json['nsInstanceId']}
+ Set Global Variable ${nsInstId}
+
+DeleteNS Test
+ [Documentation] Delete NS function test
+ ${headers} Create Dictionary Content-Type=application/json Accept=application/json
+ Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers}
+ ${resp}= Delete Request web_session ${delete_ns_url}/${nsInstId}
+ ${responese_code}= Convert To String ${resp.status_code}
+ List Should Contain Value ${return_ok_list} ${responese_code}