fix(reboot): fallback post reboot readiness readback
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 57s
CD Pipeline / build-and-deploy (push) Successful in 5m41s
CD Pipeline / post-deploy-checks (push) Successful in 1m45s
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 57s
CD Pipeline / build-and-deploy (push) Successful in 5m41s
CD Pipeline / post-deploy-checks (push) Successful in 1m45s
This commit is contained in:
@@ -1098,14 +1098,18 @@ def apply_stockplatform_runtime_readback(
|
||||
if payload.get("product_data_green") is not True:
|
||||
blocking_fields.append("product_data_green")
|
||||
service_backup["blocking_fields"] = _unique_strings(blocking_fields)
|
||||
service_backup["controlled_service_data_backup_blocker_count"] = len(
|
||||
service_backup["blocking_fields"]
|
||||
blocker_count = len(service_backup["blocking_fields"])
|
||||
can_clear = blocker_count == 0
|
||||
service_backup["controlled_service_data_backup_blocker_count"] = blocker_count
|
||||
service_backup["status"] = (
|
||||
"ready_service_data_backup_green"
|
||||
if can_clear
|
||||
else "blocked_service_data_backup_readback_not_green"
|
||||
)
|
||||
rollups["controlled_service_data_backup_blocker_count"] = len(
|
||||
service_backup["blocking_fields"]
|
||||
)
|
||||
service_backup["status"] = "blocked_service_data_backup_readback_not_green"
|
||||
service_backup["can_clear_service_data_backup_blockers"] = False
|
||||
service_backup["can_clear_service_data_backup_blockers"] = can_clear
|
||||
rollups["controlled_service_data_backup_blocker_count"] = blocker_count
|
||||
rollups["controlled_service_data_backup_can_clear_blockers"] = can_clear
|
||||
rollups["controlled_service_data_backup_readback_status"] = service_backup["status"]
|
||||
|
||||
|
||||
def _append_live_stockplatform_blockers(
|
||||
|
||||
@@ -476,6 +476,31 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
)
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_keeps_service_backup_ready_after_live_stockplatform_ok():
|
||||
payload = load_latest_reboot_auto_recovery_slo_scorecard(
|
||||
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK
|
||||
)
|
||||
|
||||
reboot_slo_scorecard.apply_stockplatform_runtime_readback(
|
||||
payload,
|
||||
_stockplatform_runtime_ready(),
|
||||
)
|
||||
|
||||
service_data_backup = payload["controlled_service_data_backup_readback"]
|
||||
assert service_data_backup["service_green"] is True
|
||||
assert service_data_backup["backup_core_green"] is True
|
||||
assert service_data_backup["product_data_green"] is True
|
||||
assert service_data_backup["post_start_blocked"] == 0
|
||||
assert service_data_backup["blocking_fields"] == []
|
||||
assert service_data_backup["status"] == "ready_service_data_backup_green"
|
||||
assert service_data_backup["can_clear_service_data_backup_blockers"] is True
|
||||
assert payload["rollups"]["controlled_service_data_backup_blocker_count"] == 0
|
||||
assert (
|
||||
payload["rollups"]["controlled_service_data_backup_readback_status"]
|
||||
== "ready_service_data_backup_green"
|
||||
)
|
||||
|
||||
|
||||
def test_reboot_auto_recovery_slo_scorecard_keeps_prometheus_source_missing_when_source_control_missing(
|
||||
tmp_path,
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user