summaryrefslogtreecommitdiffstats
path: root/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh
blob: 279912c35fd6439cf389929c33e704865b55f54b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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;