Continued retry implementation for salt-key acceptance; improve timestamp coverage in setup

This commit is contained in:
Jason Ertel
2021-01-10 02:34:46 -05:00
parent 63047b4b85
commit bc8e200919
3 changed files with 16 additions and 5 deletions

View File

@@ -145,12 +145,21 @@ retry() {
maxAttempts=$1
sleepDelay=$2
cmd=$3
expectedOutput=$4
attempt=0
while [[ $attempt -lt $maxAttempts ]]; do
attempt=$((attempt+1))
logCmd "$cmd"
info "Executing command with retry support: $cmd"
output=$($cmd)
info "Results: $output"
exitcode=$?
if [[ $exitcode -eq 0 ]]; then
if [ -n "$expectedOutput" ]; then
if [[ "$output" =~ "$expectedOutput" ]]; then
return $exitCode
else
info "Expected '$expectedOutput' but got '$output'"
fi
elif [[ $exitcode -eq 0 ]]; then
return $exitCode
fi
info "Command failed with exit code $exitcode; will retry in $sleepDelay seconds ($attempt / $maxAttempts)..."

View File

@@ -1970,9 +1970,11 @@ set_progress_str() {
echo -e "$percentage_str"
info "Progressing ($percentage%): $progress_bar_text"
printf '%s\n' \
'----'\
info "$percentage% - ${progress_bar_text^^}"\
"$percentage% - ${progress_bar_text^^}"\
"----" >> "$setup_log" 2>&1
}

View File

@@ -637,12 +637,12 @@ set_redirect >> $setup_log 2>&1
if [[ $is_minion ]]; then
set_progress_str 20 'Accepting Salt key on manager'
retry 20 10 accept_salt_key_remote
retry 20 10 accept_salt_key_remote "going to be accepted"
fi
if [[ $is_manager || $is_import || $is_helix ]]; then
set_progress_str 20 'Accepting Salt key'
retry 20 10 "salt-key -ya $MINION_ID"
retry 20 10 "salt-key -ya $MINION_ID" "going to be accepted"
fi
set_progress_str 21 'Copying minion pillars to manager'