break; done
}
#Function post ( <ipAddr> <authToken> <url> <data>)
#Performs a POST of the specified data.
|
|
|
| ||
function post { |
|
|
|
| |
local postIP=$1 |
|
|
|
| |
local postToken=$2 |
|
|
|
| |
local postUrl=$3 |
|
|
|
| |
local postData=$4 |
|
|
|
| |
local attempts=0 |
|
|
|
| |
while [ $attempts |
|
|
|
| |
postRes=`curl | header | ||||
request POST | url "$postUrl" | "$postData"` | |||
errorCode=$? |
|
|
|
|
|
let "attempts = $attempts + 1" |
|
|
| ||
if [ 35 |
|
|
| ||
teamBackup_log "SSL error on POST to $postUrl, retrying... | " | ||||
continue; |
|
|
|
|
|
fi |
|
|
|
|
|
break; |
|
|
|
|
|
done |
|
|
|
|
|
echo $postRes |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#Function put ( <ipAddr> <authToken> <url> <data> )
#Performs a PUT of the specified data.
function put { local putIP=$1 local putToken=$2 local putUrl=$3 local putData=$4 local attempts=0
while [ $attempts
putRes=`curl
let "attempts = $attempts + 1" if [ 35
teamBackup_log "SSL error on POST to $putUrl, retrying" continue;
fi break; done
echo $putRes
}
# Function extractJSONString ( <json> <fieldName> )
# Extracts the Json value corresponding to the field name.
function extractJSONString { json=$1
field=$2
json=`echo $jsontr
echo $json
}
# Function getAuthToken ( <ipAddr> )
#
function getAuthToken { local nodeIP=$1 url="https://$nodeIP:8443/sdn/v2.0/auth" login="{
\"login\": {
\"domain\": \"$domain\",
\"user\": \"$user\",
\"password\": \"$pass\"
}
}
}"
# Attempt to authenticate and extract token if successful.
auth=$(curl | noproxy $nodeIP | \ | |
|
if [ $?
teamBackup_log "Unable to authenticate as user $user in $domain domain." exitBackup 1
fi
authToken=`extractJSONString "$auth" "token" sed '/^$/d'` if [ $restore_mode
fi
echo $authToken
}
#==============================================================================
#M A I N #============================================================================== restore_mode=1
B.3 Restoring a controller team 129