Skip to content

Commit 03ff51e

Browse files
feat: add retry for getting compute name from az metadata
1 parent 81a0253 commit 03ff51e

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

init-script.sh

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,25 @@ while ! [ "$(lsblk | grep ${disk_size}G | awk '{print $1}')" ] ; do
121121
sleep 5
122122
done
123123

124-
compute_name=$(curl -s -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2021-02-01" | jq '.compute.name')
125-
compute_name=$(echo "$compute_name" | cut -c2- | rev | cut -c2- | rev)
124+
compute_name=""
125+
max_retries=10
126+
retry=0
127+
while [ -z "$compute_name" ] && [ $retry -lt $max_retries ]; do
128+
compute_name=$(curl -s -H "Metadata:true" --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2021-02-01" | jq -r '.compute.name')
129+
130+
if [ -z "$compute_name" ]; then
131+
echo "Attempt $((retry + 1)) to get compute name from metadata failed. Retrying in 3 seconds..."
132+
retry=$((retry + 1))
133+
sleep 3
134+
fi
135+
done
136+
137+
if [ -z "$compute_name" ]; then
138+
echo "Failed to get compute name from metadata after $max_retries attempts"
139+
shutdown -h now
140+
exit 1
141+
fi
142+
126143
retry=0
127144
while ! curl ${deploy_url}?code="${function_app_default_key}" --fail -H "Content-Type:application/json" -d "{\"name\": \"$compute_name:$HOSTNAME\"}" > /tmp/deploy.sh 2>/tmp/deploy_err.log || [ ! -s /tmp/deploy.sh ]; do
128145
echo "Retry $retry: waiting for deploy script generation success"

0 commit comments

Comments
 (0)