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