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/10/release/scripts/atlas-upload.sh
Directory Properties:
  stable/10/   (props changed)

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

Modified: stable/10/release/scripts/atlas-upload.sh
==============================================================================
--- stable/10/release/scripts/atlas-upload.sh   Sun May 14 09:07:13 2017        
(r318263)
+++ stable/10/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
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to