Integrate AR exit gate promotion step into nomulus release - #3229
Conversation
gbrodman
left a comment
There was a problem hiding this comment.
@gbrodman reviewed 4 files and all commit messages, and made 4 comments.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on jicelhay).
release/promote_artifacts.sh line 67 at r1 (raw file):
local operation_name operation_name=$(echo "${operation_json}" | python3 -c "import sys, json; d=json.load(sys.stdin); sys.exit(f'ERROR: {d[\"error\"]}') if 'error' in d else print(d.get('name', ''))") if [[ $? -ne 0 || -z "${operation_name}" ]]; then
we already set -e right? so this line cannot hit. Maybe worth printing the failure / input in the Python code in that case?
release/promote_artifacts.sh line 91 at r1 (raw file):
if [[ -z "${status_json}" ]]; then echo "Warning: Failed to query operation status; retrying in 5s..."
if this happens, can we print the result of the gcloud operation for debugging purposes?
release/promote_artifacts.sh line 113 at r1 (raw file):
echo "Operation in progress... (attempt ${attempt}/${max_attempts}), retrying in 5s..." sleep 5 fi
maybe add an additional catch-all block for unknown "result" values, and maybe have the sleep after the "fi" so it happens on in_progress, retry, or unknown
release/promote_artifacts.sh line 143 at r1 (raw file):
echo "nomulus digest: ${nomulus_digest}" echo "proxy digest: ${proxy_digest}"
why are we doing both nomulus and proxy deployment when the release type is "nomulus"? I think currently we don't release the proxy during the normal weekly release process currently. Maybe we call it "all" if we're doing both?
jicelhay
left a comment
There was a problem hiding this comment.
@jicelhay made 4 comments.
Reviewable status: 3 of 4 files reviewed, 4 unresolved discussions (waiting on gbrodman).
release/promote_artifacts.sh line 67 at r1 (raw file):
Previously, gbrodman wrote…
we already set -e right? so this line cannot hit. Maybe worth printing the failure / input in the Python code in that case?
ok, wrapped it in a if ! check
release/promote_artifacts.sh line 91 at r1 (raw file):
Previously, gbrodman wrote…
if this happens, can we print the result of the gcloud operation for debugging purposes?
Done
release/promote_artifacts.sh line 113 at r1 (raw file):
Previously, gbrodman wrote…
maybe add an additional catch-all block for unknown "result" values, and maybe have the sleep after the "fi" so it happens on in_progress, retry, or unknown
Done.
release/promote_artifacts.sh line 143 at r1 (raw file):
Previously, gbrodman wrote…
why are we doing both nomulus and proxy deployment when the release type is "nomulus"? I think currently we don't release the proxy during the normal weekly release process currently. Maybe we call it "all" if we're doing both?
we have an epp container in the frontend deployment that uses the proxy image. I think this comes from the "standalone config" that lai was testing but these instnaces are not having traffic routed to them.
We should probably delete that sooner than later, since I believe this is deprecated in pavlos proxy rework, but for now we still need the proxy image promoted.
gbrodman
left a comment
There was a problem hiding this comment.
@gbrodman reviewed 1 file and all commit messages, and resolved 4 discussions.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on jicelhay).
We will push nomulus and proxy images to a new
stagingAR repo and callpromoteArtifactto move them to the existinggcr.iorepo. This should check build provenance against existing BCID for software policies that are in place for the images and attach relevant VSAs.This refactors the release job config a little bit:
The rest of the release process remains unchanged. More details in go/domain-registry-bcid-gke and b/555750209
This change is