diff options
16 files changed, 443 insertions, 49 deletions
diff --git a/bootstrap/vagrant-onap/Vagrantfile b/bootstrap/vagrant-onap/Vagrantfile index e39ccbd62..5eb22d71f 100644 --- a/bootstrap/vagrant-onap/Vagrantfile +++ b/bootstrap/vagrant-onap/Vagrantfile @@ -160,7 +160,7 @@ Vagrant.configure("2") do |config| end all_in_one.vm.provision 'shell' do |s| s.path = 'vagrant_utils/postinstall.sh' - s.args = ['mr', 'asdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc'] + s.args = ['mr', 'sdc', 'aai', 'mso', 'robot', 'vid', 'sdnc', 'portal', 'dcae', 'policy', 'appc', 'vfc'] s.env = conf end end @@ -217,7 +217,7 @@ Vagrant.configure("2") do |config| end sdc.vm.provision 'shell' do |s| s.path = 'vagrant_utils/postinstall.sh' - s.args = ['asdc'] + s.args = ['sdc'] s.env = conf end end diff --git a/bootstrap/vagrant-onap/lib/mr b/bootstrap/vagrant-onap/lib/mr index 5bd1d1aaf..a137f73bb 100755 --- a/bootstrap/vagrant-onap/lib/mr +++ b/bootstrap/vagrant-onap/lib/mr @@ -4,11 +4,11 @@ set -o xtrace source /var/onap/functions -src_folder=$git_src_folder/dcae/message-router +mr_src_folder=$git_src_folder/dcae/message-router # clone_mr_repos() - Function that clones the Message Router repositories function clone_mr_repos { - clone_repo dcae/demo/startup/message-router $src_folder + clone_repo dcae/demo/startup/message-router $mr_src_folder } # get_mr_images() - Function that retrieves the Message Router Docker images @@ -21,7 +21,7 @@ function get_mr_images { function install_message_router { install_docker_compose - pushd $src_folder + pushd $mr_src_folder bash deploy.sh popd } diff --git a/bootstrap/vagrant-onap/lib/asdc b/bootstrap/vagrant-onap/lib/sdc index fb7b40b04..1c872fa48 100755..100644 --- a/bootstrap/vagrant-onap/lib/asdc +++ b/bootstrap/vagrant-onap/lib/sdc @@ -3,13 +3,13 @@ set -o xtrace source /var/onap/functions -source /var/onap/asserts -src_folder=$git_src_folder/sdc +sdc_src_folder=$git_src_folder/sdc +sdc_repos=("sdc-os-chef" "jtosca" "sdc-distribution-client" "sdc-titan-cassandra" "sdc-tosca" "sdc_common") -# mount_external_partition() - Create partition and mount the external volume -function mount_external_partition { - cat <<EOL > /tmp/asdc_ext_volume_partitions.txt +# _mount_external_partition() - Create partition and mount the external volume +function _mount_external_partition { + cat <<EOL > /tmp/sdc_ext_volume_partitions.txt # partition table of /dev/sdb unit: sectors @@ -18,15 +18,15 @@ unit: sectors /dev/sdb3 : start= 0, size= 0, Id= 0 /dev/sdb4 : start= 0, size= 0, Id= 0 EOL - sfdisk --force /dev/sdb < /tmp/asdc_ext_volume_partitions.txt + sfdisk --force /dev/sdb < /tmp/sdc_ext_volume_partitions.txt mkfs -t ext4 /dev/sdb1 mkdir -p /data mount /dev/sdb1 /data echo "/dev/sdb1 /data ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab } -# init_data_folders() - Function that initialize the data folders -function init_data_folders { +# _init_data_folders() - Function that initialize the data folders +function _init_data_folders { mkdir -p /data/environments mkdir -p /data/scripts mkdir -p /data/logs/BE @@ -35,8 +35,8 @@ function init_data_folders { chmod 777 /data/logs } -# setup_docker_aliases() - Function that setups the aliases required by sdc scripts -function setup_docker_aliases { +# _setup_docker_aliases() - Function that setups the aliases required by sdc scripts +function _setup_docker_aliases { cat <<EOL > /root/.bash_aliases alias dcls='/data/scripts/docker_clean.sh \$1' alias dlog='/data/scripts/docker_login.sh \$1' @@ -47,23 +47,36 @@ EOL # clone_all_sdc_repos() - Function that clones SDC source repo. function clone_all_sdc_repos { - clone_repo sdc $src_folder + clone_repo sdc $sdc_src_folder - for dirc in sdc-os-chef jtosca sdc-distribution-client sdc-titan-cassandra sdc-tosca sdc_common ; do - clone_repo sdc/$dirc $src_folder/$dirc + for dirc in ${sdc_repos[@]}; do + clone_repo sdc/$dirc $sdc_src_folder/$dirc done } # compile_all_sdc_repos() - Function that compiles SDC source repo. function compile_all_sdc_repos { - local src_folder=/opt/sdc - clone_repo sdc $src_folder + clone_repo sdc $sdc_src_folder - for dirc in jtosca sdc-distribution-client sdc-titan-cassandra sdc-tosca sdc_common ; do - compile_src $src_folder/$dirc + for dirc in ${sdc_repos[@]}; do + compile_src $sdc_src_folder/$dirc done } +# get_sdc_images() - Function that retrieves the SDC docker images +function get_sdc_images { + if [[ "$build_image" == "True" ]]; then + if [[ "$compile_repo" != "True" ]]; then + compile_src $sdc_src_folder + fi + build_docker_image $sdc_src_folder/sdc-os-chef docker + else + for image in backend frontend elasticsearch kibana cassandra sanity; do + pull_openecomp_image openecomp/sdc-$image + done + fi +} + # install_sdc() - Function that pull templates and executes function install_sdc { local ENV_NAME=$dmaap_topic @@ -71,16 +84,10 @@ function install_sdc { local RELEASE=$docker_version NEXUS_DOCKER_PORT=$(echo $nexus_docker_repo | cut -d':' -f2) - if [[ "$build_image" == "True" ]]; then - compile_src $src_folder - build_docker_image $src_folder/sdc-os-chef docker - for image in backend frontend elasticsearch kibana cassandra sanity; do - asserts_image openecomp/sdc-$image - done - fi - cp $src_folder/sdc-os-chef/environments/Template.json /data/environments - cp $src_folder/sdc-os-chef/scripts/docker_run.sh /data/scripts - cp $src_folder/sdc-os-chef/scripts/docker_health.sh /data/scripts + _init_data_folders + cp $sdc_src_folder/sdc-os-chef/environments/Template.json /data/environments + cp $sdc_src_folder/sdc-os-chef/scripts/docker_run.sh /data/scripts + cp $sdc_src_folder/sdc-os-chef/scripts/docker_health.sh /data/scripts chmod +x /data/scripts/docker_run.sh chmod +x /data/scripts/docker_health.sh @@ -96,16 +103,16 @@ function install_sdc { fi } -# init_asdc() - Function that initialize SDC services -function init_asdc { - mount_external_partition - init_data_folders - setup_docker_aliases +# init_sdc() - Function that initialize SDC services +function init_sdc { + _mount_external_partition if [[ "$clone_repo" == "True" ]]; then clone_all_sdc_repos if [[ "$compile_repo" == "True" ]]; then compile_all_sdc_repos fi fi + get_sdc_images install_sdc + _setup_docker_aliases } diff --git a/bootstrap/vagrant-onap/tests/_test_base b/bootstrap/vagrant-onap/tests/_test_base index 19cc8ef11..155de98bb 100644 --- a/bootstrap/vagrant-onap/tests/_test_base +++ b/bootstrap/vagrant-onap/tests/_test_base @@ -1,6 +1,6 @@ #!/bin/bash -source /var/onap/asserts +source /var/onap_tests/asserts # main() - Starting point for Unit Tests function main { diff --git a/bootstrap/vagrant-onap/lib/asserts b/bootstrap/vagrant-onap/tests/asserts index 02c269b4c..02c269b4c 100755 --- a/bootstrap/vagrant-onap/lib/asserts +++ b/bootstrap/vagrant-onap/tests/asserts diff --git a/bootstrap/vagrant-onap/tests/test_mr b/bootstrap/vagrant-onap/tests/test_mr index d8db84940..a863b99ba 100644 --- a/bootstrap/vagrant-onap/tests/test_mr +++ b/bootstrap/vagrant-onap/tests/test_mr @@ -11,7 +11,7 @@ covered_functions=( function test_clone_mr_repos { clone_mr_repos - asserts_file_exist $src_folder/deploy.sh + asserts_file_exist $mr_src_folder/deploy.sh } # test_get_mr_images() - Verify that Message Router Docker images are retrieved diff --git a/bootstrap/vagrant-onap/tests/test_sdc b/bootstrap/vagrant-onap/tests/test_sdc new file mode 100644 index 000000000..bb0cd7010 --- /dev/null +++ b/bootstrap/vagrant-onap/tests/test_sdc @@ -0,0 +1,69 @@ +#!/bin/bash + +source /var/onap_tests/_test_base +source /var/onap/asdc + +covered_functions=( +"clone_all_sdc_repos" "compile_all_sdc_repos" "get_sdc_images" "install_sdc" +) + +# test_clone_all_sdc_repos() - Verifies the retrieval of SDC source code repos +function test_clone_all_sdc_repos { + clone_all_sdc_repos + + asserts_file_exist $sdc_src_folder/pom.xml + asserts_file_exist $sdc_src_folder/sdc-os-chef/pom.xml + asserts_file_exist $sdc_src_folder/jtosca/pom.xml + asserts_file_exist $sdc_src_folder/sdc-distribution-client/pom.xml + asserts_file_exist $sdc_src_folder/sdc-titan-cassandra/pom.xml + asserts_file_exist $sdc_src_folder/sdc-tosca/pom.xml + asserts_file_exist $sdc_src_folder/sdc_common/pom.xml +} + +# test_compile_all_sdc_repos() - Verifies the correct compilation of SDC repositories +function test_compile_all_sdc_repos { + clone_all_sdc_repos + compile_all_sdc_repos + + asserts_file_exist $sdc_src_folder/jtosca/target/jtosca-1.1.10-SNAPSHOT.jar + asserts_file_exist $sdc_src_folder/sdc-distribution-client/sdc-distribution-ci/target/sdc-distribution-ci-1.1.32-SNAPSHOT.jar + asserts_file_exist $sdc_src_folder/sdc-distribution-client/sdc-distribution-client/target/sdc-distribution-client-1.1.32-SNAPSHOT.jar + asserts_file_exist $sdc_src_folder/sdc-os-chef/target/sdc-os-chef-1.1.0-SNAPSHOT.jar + asserts_file_exist $sdc_src_folder/sdc-titan-cassandra/target/sdc-titan-cassandra-1.0.0.jar + asserts_file_exist $sdc_src_folder/sdc-tosca/target/sdc-tosca-1.1.50-SNAPSHOT.jar + + for dirc in logging sdc-artifact-generator; do + name="openecomp-$dirc" + for module in api core; do + fullname="$name-$module" + asserts_file_exist $sdc_src_folder/sdc_common/$name-lib/$fullname/target/$fullname-1.1.0-SNAPSHOT.jar + done + done +} + +# test_get_sdc_images() - Verifies the correct retrieval of SDC Docker images +function test_get_sdc_images { + clone_all_sdc_repos + get_sdc_images + + for image in backend frontend elasticsearch kibana cassandra sanity; do + asserts_image openecomp/sdc-$image + done +} + +# test_install_sdc() - Verifies that SDC services are up and running +function test_install_sdc { + clone_all_sdc_repos + get_sdc_images + install_sdc + + for image in backend frontend elasticsearch kibana cassandra sanity; do + asserts_image_running openecomp/sdc-$image + done +} + +if [ "$1" != '*' ]; then + unset covered_functions + covered_functions=$1 +fi +main "${covered_functions[@]}" diff --git a/bootstrap/vagrant-onap/tools/get_repos.sh b/bootstrap/vagrant-onap/tools/get_repos.sh index 7e531bd95..ae5d4e0eb 100755 --- a/bootstrap/vagrant-onap/tools/get_repos.sh +++ b/bootstrap/vagrant-onap/tools/get_repos.sh @@ -19,7 +19,7 @@ repos=( function git_clone_or_pull { local repo=$1 - local folder="../opt/$1" + local folder="./opt/$1" local mvn_build=$2 if [ ! -d $folder ]; then git clone https://git.onap.org/$repo $folder @@ -29,9 +29,6 @@ function git_clone_or_pull { if [ -f .gitreview ]; then git review -s fi - #if [ -f pom.xml ] && [ -n ${mvn_build+x} ]; then - #mvn clean -q install -U -DskipTests=true -Dmaven.test.skip=true -Dadditionalparam=-Xdoclint:none - #fi popd > /dev/null } diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar b/test/csit/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar Binary files differnew file mode 100644 index 000000000..29e08c162 --- /dev/null +++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh b/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh new file mode 100644 index 000000000..85c6bc275 --- /dev/null +++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/setup.sh @@ -0,0 +1,30 @@ +#!/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. +# +# These scripts are sourced by run-csit.sh. + + + +#Start market place +docker run -d -i -t --name=vnfmarket -p 8702:8702 onap/vnfmarket + +REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' vnfmarket` + + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}" + + diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/teardown.sh b/test/csit/plans/vnfsdk-refrepo/sanity-check/teardown.sh new file mode 100644 index 000000000..42d7b7fd4 --- /dev/null +++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/teardown.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. +# +# This script is sourced by run-csit.sh after Robot test completion. + + +kill-instance.sh vnfmarket + diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/testplan.txt b/test/csit/plans/vnfsdk-refrepo/sanity-check/testplan.txt new file mode 100644 index 000000000..730df014f --- /dev/null +++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/testplan.txt @@ -0,0 +1,3 @@ +## Test suites are relative paths under [integration.git]/test/csit/tests/. +## Place the suites in run order. +vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot diff --git a/test/csit/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh b/test/csit/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh new file mode 100644 index 000000000..279912c35 --- /dev/null +++ b/test/csit/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env bash +############################################################################### +# Copyright 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. +############################################################################### +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo $SCRIPT_DIR + +#CHECK IF MSB_ADDR IS GIVEN IN COMMAND +if [ -z "$1" ] +then + echo "There is no MSB_ADDR" + exit 1 +fi +MSB_ADDR=$1 +CSAR_NAME=$2 +echo $MSB_ADDR +echo $CSAR_NAME + +# Wait for MSB initialization +echo Wait for MSB initialization +for i in {1..20}; do + curl -sS -m 1 $MSB_ADDR > /dev/null && break + sleep $i +done +#MSB initialized +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +############UOLOAD PACKAGE to MARKET PLACE###################### +echo +echo "############## UOLOAD PACKAGE to MARKET PLACE STARTED ##############"; +UploadPackageResponse=$(curl -sS -X POST -H "Content-Type: multipart/form-data;" -F "file=@$CSAR_NAME" http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars) +if echo "$UploadPackageResponse" | grep -q "\"csarId\""; then + echo "UOLOAD PACKAGE TO MARKET PLACE SUCSSS !!!"; +else + echo "UploadPackageResponse :$UploadPackageResponse" + echo "UOLOAD PACKAGE TO MARKET PLACE FAILED !!!"; + exit 1; +fi +UploadCsarId=$(echo ${UploadPackageResponse:11:36}) +echo "PACKAGE ID:$UploadCsarId" +echo "############## UOLOAD PACKAGE to MARKET PLACE END ##################"; +#######UOLOAD PACKAGE to MARKET PLACE END############# +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +################GET ON BOARD STATUS######## +echo +echo "####################### GETTING ON-BOARDING STATUS ##################"; +#sleeping for 10 sec so thate ON Boarding operation should be happened at backend +for pc in $(seq 1 10); do + status=$((${pc}*10)); + echo -ne "ON_BOARDING Status (%): $status\033[0K\r" + sleep 1 +done +echo + +#Three Retries for getting On Boarding Result +#count=0 +#while [ $count -lt 3 ] +#do +# OnBoardStatusResponse=$(curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/onboardstatus?operTypeId=functiontest&operId=functestexec" -H "Accept: application/json" -H "Content-Type: application/json") +# echo $OnBoardStatusResponse +# if echo "$OnBoardStatusResponse" | grep -q "\"status\":0"; then +# break; +# else +# if [ $count -eq 3 ] +# then +# echo "ON-BOARDING OPERATION FAILED !!!"; +# fi +# count=`expr $count + 1`; +# sleep 3; +# fi +#done +echo "GET ON-BOARDING RESULT OPERATION SUCESS "; +echo "##################### GETTING ON-BOARDING STATUS END #################"; +####################GET ON BOARD STATUS END############ +########################################## +########################################## +########################################## +########################################## +########################################## +#################DOWNLOAD PACKAGE######### +echo +echo "############## DOWNLOADED PACKAGE FROM MARKET STARTED #################"; +PACKAGE_NAME=market_temp.csar +curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/files" > $PACKAGE_NAME +fileSize=$(du -b $PACKAGE_NAME | cut -f 1) +if [ $fileSize -eq 0 ] +then + echo "DOWNLOADED PACKAGE FROM MARKET NOT PROPER, ON-BOARDING OPERATION FAILED !!!"; + exit 1; +fi +echo "DOWNLOADED PACKAGE FROM MARKET OPERATION SUCESS !!!"; +echo "MARKET PACKAGE NAME:$PACKAGE_NAME" +echo "##################### DOWNLOADED PACKAGE FROM MARKET ##################"; +###################DOWNLOAD PACKAGE END##################### +########################################## +########################################## +########################################## +########################################## +##########CATALOUGE START################# +echo +PACKAGE_NAME=$CSAR_NAME +#Check if common-tosca-catalog is registered with MSB or not +#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/catalog/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" +#check if common-tosca-aria is registered with MSB or not +#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/tosca/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" +#echo Sending POST request to Catalog +CsarIdString=$(curl -sS -X POST -H "Content-Type: multipart/form-data; boundary=-WebKitFormBoundary7MA4YWxkTrZu0gW" -H "Cache-Control: no-cache" -H "Postman-Token: abcb6497-b225-c592-01be-e9ff460ca188" -F "file=@$PACKAGE_NAME" http://$MSB_ADDR/openoapi/catalog/v1/csars) +#getting csarId from the output of curl request +CsarId=$(echo ${CsarIdString:11:36}) +echo $CsarId +echo $CsarIdString +#csarid is sucessfully stored in CsarId variable +echo "====finished======" +##########CATALOUGE END############ +echo "DELETING PACAKE LOCAL COPY:$PACKAGE_NAME"; +#rm $PACKAGE_NAME; diff --git a/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar b/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar Binary files differnew file mode 100644 index 000000000..29e08c162 --- /dev/null +++ b/test/csit/tests/vnfsdk-marketplace/provision/enterprise2DC.csar diff --git a/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot index 5a314b519..cff6b58da 100644 --- a/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot +++ b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot @@ -4,16 +4,13 @@ Library Process *** Variables *** -${csarpath} ${SCRIPTS}/../plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar -${upload} ${SCRIPTS}/../plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh +${csarpath} enterprise2DC.csar +${upload} uploadCSAR.sh *** Test Cases *** -Upload CSAR to marketplace repository - [Documentation] Upload the VNF Package - ${status}= Run curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@RobotScript.zip" http://${MSB_IP}/openoapi/vnfsdk/v1/functest/ E2E Test case for VNF SDK [Documentation] Upload the VNF Package - ${status}= Run Process bash ${upload} ${MSB_IP} ${csarpath} > log.txt shell=yes + ${status}= Run Process bash ${upload} ${REPO_IP} ${csarpath} > log.txt shell=yes diff --git a/test/csit/tests/vnfsdk-marketplace/provision/uploadCSAR.sh b/test/csit/tests/vnfsdk-marketplace/provision/uploadCSAR.sh new file mode 100644 index 000000000..800f833dd --- /dev/null +++ b/test/csit/tests/vnfsdk-marketplace/provision/uploadCSAR.sh @@ -0,0 +1,132 @@ +#!/usr/bin/env bash +############################################################################### +# Copyright 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. +############################################################################### +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo $SCRIPT_DIR + +#CHECK IF MSB_ADDR IS GIVEN IN COMMAND +if [ -z "$1" ] +then + echo "There is no MSB_ADDR" + exit 1 +fi +MSB_ADDR=$1 +CSAR_NAME=$2 +echo $MSB_ADDR +echo $CSAR_NAME + + +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +############UOLOAD PACKAGE to MARKET PLACE###################### +echo +echo "############## UOLOAD PACKAGE to MARKET PLACE STARTED ##############"; +UploadPackageResponse=$(curl -sS -X POST -H "Content-Type: multipart/form-data;" -F "file=@$CSAR_NAME" http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars) +if echo "$UploadPackageResponse" | grep -q "\"csarId\""; then + echo "UOLOAD PACKAGE TO MARKET PLACE SUCSSS !!!"; +else + echo "UploadPackageResponse :$UploadPackageResponse" + echo "UOLOAD PACKAGE TO MARKET PLACE FAILED !!!"; + exit 1; +fi +UploadCsarId=$(echo ${UploadPackageResponse:11:36}) +echo "PACKAGE ID:$UploadCsarId" +echo "############## UOLOAD PACKAGE to MARKET PLACE END ##################"; +#######UOLOAD PACKAGE to MARKET PLACE END############# +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +########################################### +################GET ON BOARD STATUS######## +echo +echo "####################### GETTING ON-BOARDING STATUS ##################"; +#sleeping for 10 sec so thate ON Boarding operation should be happened at backend +for pc in $(seq 1 10); do + status=$((${pc}*10)); + echo -ne "ON_BOARDING Status (%): $status\033[0K\r" + sleep 1 +done +echo + +#Three Retries for getting On Boarding Result +#count=0 +#while [ $count -lt 3 ] +#do +# OnBoardStatusResponse=$(curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/onboardstatus?operTypeId=functiontest&operId=functestexec" -H "Accept: application/json" -H "Content-Type: application/json") +# echo $OnBoardStatusResponse +# if echo "$OnBoardStatusResponse" | grep -q "\"status\":0"; then +# break; +# else +# if [ $count -eq 3 ] +# then +# echo "ON-BOARDING OPERATION FAILED !!!"; +# fi +# count=`expr $count + 1`; +# sleep 3; +# fi +#done +echo "GET ON-BOARDING RESULT OPERATION SUCESS "; +echo "##################### GETTING ON-BOARDING STATUS END #################"; +####################GET ON BOARD STATUS END############ +########################################## +########################################## +########################################## +########################################## +########################################## +#################DOWNLOAD PACKAGE######### +echo +echo "############## DOWNLOADED PACKAGE FROM MARKET STARTED #################"; +PACKAGE_NAME=market_temp.csar +curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/files" > $PACKAGE_NAME +fileSize=$(du -b $PACKAGE_NAME | cut -f 1) +if [ $fileSize -eq 0 ] +then + echo "DOWNLOADED PACKAGE FROM MARKET NOT PROPER, ON-BOARDING OPERATION FAILED !!!"; + exit 1; +fi +echo "DOWNLOADED PACKAGE FROM MARKET OPERATION SUCESS !!!"; +echo "MARKET PACKAGE NAME:$PACKAGE_NAME" +echo "##################### DOWNLOADED PACKAGE FROM MARKET ##################"; +###################DOWNLOAD PACKAGE END##################### +########################################## +########################################## +########################################## +########################################## +##########CATALOUGE START################# +echo +PACKAGE_NAME=$CSAR_NAME +#Check if common-tosca-catalog is registered with MSB or not +#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/catalog/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" +#check if common-tosca-aria is registered with MSB or not +#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/tosca/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" +#echo Sending POST request to Catalog +CsarIdString=$(curl -sS -X POST -H "Content-Type: multipart/form-data; boundary=-WebKitFormBoundary7MA4YWxkTrZu0gW" -H "Cache-Control: no-cache" -H "Postman-Token: abcb6497-b225-c592-01be-e9ff460ca188" -F "file=@$PACKAGE_NAME" http://$MSB_ADDR/openoapi/catalog/v1/csars) +#getting csarId from the output of curl request +CsarId=$(echo ${CsarIdString:11:36}) +echo $CsarId +echo $CsarIdString +#csarid is sucessfully stored in CsarId variable +echo "====finished======" +##########CATALOUGE END############ +echo "DELETING PACAKE LOCAL COPY:$PACKAGE_NAME"; +#rm $PACKAGE_NAME; |