Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 May 2017 10:15:05 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r318264 - in stable: 10/release/scripts 11/release/scripts
Message-ID:  <201705141015.v4EAF59u065535@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Sun May 14 10:15:04 2017
New Revision: 318264
URL: https://svnweb.freebsd.org/changeset/base/318264

Log:
  MFC r318190:
   Update release/scripts/atlas-upload.sh to account for API changes
   made recently by Atlas Hashicorp.  The data returned from GET and
   POST requests has changed, which caused a number of regex patterns
   to fail to be properly identified as 'success' or 'failure', which
   ended up in upload/publish failures.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/11/release/scripts/atlas-upload.sh
Directory Properties:
  stable/11/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/10/release/scripts/atlas-upload.sh
Directory Properties:
  stable/10/   (props changed)

Modified: stable/11/release/scripts/atlas-upload.sh
==============================================================================
--- stable/11/release/scripts/atlas-upload.sh	Sun May 14 09:07:13 2017	(r318263)
+++ stable/11/release/scripts/atlas-upload.sh	Sun May 14 10:15:04 2017	(r318264)
@@ -132,20 +132,20 @@ main () {
 		echo "Failed to get the token from the API"
 		exit 2;
 	fi
-	echo ${TOKENRESULT} | grep "\"token\":" > /dev/null
+	echo ${TOKENRESULT} | grep -E "\"(token|upload_path)\":" > /dev/null
 	if [ $? != 0 ]; then
 		echo "No token found from the API"
 		exit 2
 	else
-		TOKEN=$(echo $TOKENRESULT | sed -e 's/.*token":"//' -e 's/".*//')
+		TOKEN=$(echo $TOKENRESULT | sed -e 's/.*token":"//' -e 's/.*upload_path":"//' -e 's/}$//g' -e 's/"//g')
 		echo "Uploading to Atlas"
-		UPLOADRESULT=$(/usr/local/bin/curl -s -X PUT --upload-file ${FILE} ${ATLAS_UPLOAD_URL}/${TOKEN})
+		UPLOADRESULT=$(/usr/local/bin/curl -s -X PUT --upload-file ${FILE} ${TOKEN})
 
 		# Validate the Upload
 		echo "Validating"
 		VALIDRESULT=$(/usr/local/bin/curl -s "https://atlas.hashicorp.com/api/v1/box/${USERNAME}/${BOX}/version/${VERSION}/provider/${PROVIDER}?access_token=${KEY}")
-		HOSTED_TOKEN=$(echo $VALIDRESULT | sed -e 's/.*hosted_token":"//' -e 's/".*//')
-		if [ ! -z ${HOSTED_TOKEN} -a ! -z ${TOKEN} -a ${HOSTED_TOKEN} != ${TOKEN} ]; then
+		HOSTED_TOKEN=$(echo $VALIDRESULT | sed -e 's/.*"hosted"://' -e 's/,.*$//')
+		if [ ! -z ${TOKEN} -a "${HOSTED_TOKEN}" != "true" ]; then
 			echo "Upload failed, try again."
 			exit 2
 		fi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705141015.v4EAF59u065535>