fix(recovery): classify stale cd jobs payload
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
This commit is contained in:
@@ -200,6 +200,18 @@ def validate_harbor_registry_controlled_recovery_receipt(
|
||||
"gitea_queue_current_cd_harbor_retrying_unavailable": gitea_queue[
|
||||
"current_cd_harbor_retrying_unavailable"
|
||||
],
|
||||
"gitea_queue_cd_jobs_stale_or_mismatched": gitea_queue[
|
||||
"cd_run_jobs_stale_or_mismatched"
|
||||
],
|
||||
"gitea_queue_cd_jobs_payload_classifier": gitea_queue[
|
||||
"cd_run_jobs_payload_classifier"
|
||||
],
|
||||
"gitea_queue_cd_jobs_head_sha_mismatch": gitea_queue[
|
||||
"cd_run_jobs_head_sha_mismatch"
|
||||
],
|
||||
"gitea_queue_cd_jobs_run_id_mismatch": gitea_queue[
|
||||
"cd_run_jobs_run_id_mismatch"
|
||||
],
|
||||
"deploy_marker_readback_seen": deploy_marker["receipt_seen"],
|
||||
"deploy_marker_verified": deploy_marker["deploy_marker_verified"],
|
||||
"deploy_marker_blocker_count": deploy_marker["blocker_count"],
|
||||
@@ -545,6 +557,14 @@ def _gitea_queue_readback(value: Any) -> dict[str, Any]:
|
||||
"current_cd_inflight_classifier": "",
|
||||
"current_cd_harbor_latest_registry_v2_status": "",
|
||||
"current_cd_harbor_retrying_unavailable": False,
|
||||
"cd_run_jobs_stale_or_mismatched": False,
|
||||
"cd_run_jobs_payload_classifier": "",
|
||||
"cd_run_jobs_head_sha_mismatch": False,
|
||||
"cd_run_jobs_run_id_mismatch": False,
|
||||
"cd_run_jobs_expected_run_id": "",
|
||||
"cd_run_jobs_expected_head_sha": "",
|
||||
"cd_run_jobs_head_shas": [],
|
||||
"cd_run_jobs_run_ids": [],
|
||||
"latest_visible_harbor_110_repair_run_id": "",
|
||||
"latest_visible_harbor_110_repair_run_status": "",
|
||||
"harbor_110_repair_no_matching_runner_label": "",
|
||||
@@ -608,6 +628,18 @@ def _gitea_queue_readback(value: Any) -> dict[str, Any]:
|
||||
or current_cd_inflight_classifier
|
||||
== "harbor_registry_public_route_unavailable_pending_retry"
|
||||
)
|
||||
cd_jobs_stale = bool(
|
||||
rollups.get("cd_run_jobs_stale_or_mismatched") is True
|
||||
or readback.get("cd_run_jobs_stale_or_mismatched") is True
|
||||
)
|
||||
cd_jobs_head_sha_mismatch = bool(
|
||||
rollups.get("cd_run_jobs_head_sha_mismatch") is True
|
||||
or readback.get("cd_run_jobs_head_sha_mismatch") is True
|
||||
)
|
||||
cd_jobs_run_id_mismatch = bool(
|
||||
rollups.get("cd_run_jobs_run_id_mismatch") is True
|
||||
or readback.get("cd_run_jobs_run_id_mismatch") is True
|
||||
)
|
||||
boundary_violation = any(
|
||||
operation_boundaries.get(flag) is True
|
||||
for flag in (
|
||||
@@ -624,6 +656,9 @@ def _gitea_queue_readback(value: Any) -> dict[str, Any]:
|
||||
jobs_stale=jobs_stale,
|
||||
jobs_cross_workflow=jobs_cross_workflow,
|
||||
current_cd_harbor_retrying=current_cd_harbor_retrying,
|
||||
cd_jobs_stale=cd_jobs_stale,
|
||||
cd_jobs_head_sha_mismatch=cd_jobs_head_sha_mismatch,
|
||||
cd_jobs_run_id_mismatch=cd_jobs_run_id_mismatch,
|
||||
blocked=blocked,
|
||||
boundary_violation=boundary_violation,
|
||||
)
|
||||
@@ -643,6 +678,22 @@ def _gitea_queue_readback(value: Any) -> dict[str, Any]:
|
||||
current_cd_latest_registry_status
|
||||
),
|
||||
"current_cd_harbor_retrying_unavailable": current_cd_harbor_retrying,
|
||||
"cd_run_jobs_stale_or_mismatched": cd_jobs_stale,
|
||||
"cd_run_jobs_payload_classifier": str(
|
||||
rollups.get("cd_run_jobs_payload_classifier")
|
||||
or readback.get("cd_run_jobs_payload_classifier")
|
||||
or ""
|
||||
),
|
||||
"cd_run_jobs_head_sha_mismatch": cd_jobs_head_sha_mismatch,
|
||||
"cd_run_jobs_run_id_mismatch": cd_jobs_run_id_mismatch,
|
||||
"cd_run_jobs_expected_run_id": str(
|
||||
readback.get("cd_run_jobs_expected_run_id") or ""
|
||||
),
|
||||
"cd_run_jobs_expected_head_sha": str(
|
||||
readback.get("cd_run_jobs_expected_head_sha") or ""
|
||||
),
|
||||
"cd_run_jobs_head_shas": _strings(readback.get("cd_run_jobs_head_shas")),
|
||||
"cd_run_jobs_run_ids": _strings(readback.get("cd_run_jobs_run_ids")),
|
||||
"latest_visible_harbor_110_repair_run_id": str(
|
||||
readback.get("latest_visible_harbor_110_repair_run_id") or ""
|
||||
),
|
||||
@@ -687,12 +738,21 @@ def _gitea_queue_blockers(
|
||||
jobs_stale: bool,
|
||||
jobs_cross_workflow: bool,
|
||||
current_cd_harbor_retrying: bool,
|
||||
cd_jobs_stale: bool,
|
||||
cd_jobs_head_sha_mismatch: bool,
|
||||
cd_jobs_run_id_mismatch: bool,
|
||||
blocked: bool,
|
||||
boundary_violation: bool,
|
||||
) -> list[str]:
|
||||
blockers: list[str] = []
|
||||
if current_cd_harbor_retrying:
|
||||
blockers.append("gitea_queue_current_cd_harbor_retrying_unavailable")
|
||||
if cd_jobs_head_sha_mismatch:
|
||||
blockers.append("gitea_queue_cd_jobs_head_sha_mismatch")
|
||||
if cd_jobs_run_id_mismatch:
|
||||
blockers.append("gitea_queue_cd_jobs_run_id_mismatch")
|
||||
if cd_jobs_stale:
|
||||
blockers.append("gitea_queue_cd_jobs_stale_or_mismatched")
|
||||
if no_matching_runner:
|
||||
blockers.append("gitea_queue_harbor_110_repair_no_matching_runner")
|
||||
elif blocked:
|
||||
|
||||
Reference in New Issue
Block a user