mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-08-27 00:56:43 +00:00
fix(genesis): preserve destiny client behavior
This commit is contained in:
@@ -45,7 +45,16 @@ done
|
||||
temporary_dir=$(mktemp -d "${TMPDIR:-/tmp}/getdestiny.XXXXXX") || exit 1
|
||||
request_file=$temporary_dir/request.xml
|
||||
response_file=$temporary_dir/response.xml
|
||||
trap 'rm -rf -- "$temporary_dir"; [[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"' EXIT HUP INT TERM
|
||||
|
||||
cleanup() {
|
||||
rm -rf -- "$temporary_dir"
|
||||
[[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
trap 'exit 129' HUP
|
||||
trap 'exit 130' INT
|
||||
trap 'exit 143' TERM
|
||||
|
||||
printf '%s\n' \
|
||||
'<xcatrequest>' \
|
||||
|
||||
@@ -45,7 +45,16 @@ done
|
||||
temporary_dir=$(mktemp -d "${TMPDIR:-/tmp}/nextdestiny.XXXXXX") || exit 1
|
||||
request_file=$temporary_dir/request.xml
|
||||
response_file=$temporary_dir/response.xml
|
||||
trap 'rm -rf -- "$temporary_dir"; [[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"' EXIT HUP INT TERM
|
||||
|
||||
cleanup() {
|
||||
rm -rf -- "$temporary_dir"
|
||||
[[ -z $metadata_temporary ]] || rm -f -- "$metadata_temporary"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
trap 'exit 129' HUP
|
||||
trap 'exit 130' INT
|
||||
trap 'exit 143' TERM
|
||||
|
||||
printf '%s\n' \
|
||||
'<xcatrequest>' \
|
||||
@@ -62,20 +71,17 @@ request_destiny() {
|
||||
openssl s_client -connect "$destination" -quiet \
|
||||
2>/dev/null <"$request_file" >"$response_file"
|
||||
fi
|
||||
[[ -s $response_file ]] && \
|
||||
{ grep -q '<destiny>' "$response_file" || grep -q '<error>' "$response_file"; }
|
||||
[[ -s $response_file ]]
|
||||
}
|
||||
|
||||
while ! request_destiny; do
|
||||
if ((once)); then
|
||||
exit 1
|
||||
fi
|
||||
for ((timer = 60; timer > 0; timer--)); do
|
||||
printf 'Retrying in %s seconds \r' "$timer" >&2
|
||||
sleep 1
|
||||
done
|
||||
printf '%*s\r' 48 '' >&2
|
||||
done
|
||||
if ((once)); then
|
||||
request_destiny \
|
||||
&& { grep -q '<destiny>' "$response_file" \
|
||||
|| grep -q '<error>' "$response_file"; } \
|
||||
|| exit 1
|
||||
else
|
||||
request_destiny || true
|
||||
fi
|
||||
|
||||
extract_element() {
|
||||
local element=$1
|
||||
|
||||
Reference in New Issue
Block a user