Skip to content

Commit ee7d89b

Browse files
mmalinaAllda
authored andcommitted
[RELEASE-1117] Add retry when requesting RADAS signature
We run the signing pipeline in Konflux a lot and users report that oftentimes one or a few of the requests fail. In theory some retry should work on the Python library level, but it doesn't really seem to work. So this should help. See Jira for more details. Signed-off-by: Martin Malina <[email protected]>
1 parent e4d867d commit ee7d89b

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

ansible/roles/operator-pipeline/templates/openshift/tasks/request-signature.yml

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,35 @@ spec:
6262
#! /usr/bin/env bash
6363
set -xe
6464
65+
MAX_RETRIES=3
66+
RETRY_DELAY=5 # Initial delay
67+
6568
echo "Requesting signing from RADAS"
66-
request-signature \
67-
--manifest-digest "$(params.manifest_digest)" \
68-
--output signing_response.json \
69-
--reference "$(params.reference)" \
70-
--requester "$(params.requester)" \
71-
--sig-key-id "$(params.sig_key_id)" \
72-
--sig-key-name "$(params.sig_key_name)" \
73-
--umb-client-name "$(params.umb_client_name)" \
74-
--umb-listen-topic "$(params.umb_listen_topic)" \
75-
--umb-publish-topic "$(params.umb_publish_topic)" \
76-
--umb-url "$(params.umb_url)" \
77-
--verbose
69+
for ((i=1; i<=MAX_RETRIES; i++)); do
70+
if request-signature \
71+
--manifest-digest "$(params.manifest_digest)" \
72+
--output signing_response.json \
73+
--reference "$(params.reference)" \
74+
--requester "$(params.requester)" \
75+
--sig-key-id "$(params.sig_key_id)" \
76+
--sig-key-name "$(params.sig_key_name)" \
77+
--umb-client-name "$(params.umb_client_name)" \
78+
--umb-listen-topic "$(params.umb_listen_topic)" \
79+
--umb-publish-topic "$(params.umb_publish_topic)" \
80+
--umb-url "$(params.umb_url)" \
81+
--verbose
82+
then
83+
echo "request-signature command succeeded."
84+
break
85+
elif [ $i -eq $MAX_RETRIES ]; then
86+
echo "Max retries reached. Exiting."
87+
exit 1
88+
else
89+
echo "Attempt $i failed. Retrying in $RETRY_DELAY seconds..."
90+
sleep $RETRY_DELAY
91+
RETRY_DELAY=$((RETRY_DELAY * 2)) # Exponential backoff
92+
fi
93+
done
7894
7995
SIG_DATA=$(cat signing_response.json)
8096
echo "Signed claims and their metadata: "

0 commit comments

Comments
 (0)