fix(reboot): promote windows99 nested runtime blockers
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m3s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (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 / tests (push) Successful in 1m3s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -678,12 +678,25 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
metric_readback.get("windows99_windows_update_no_auto_reboot_ready") is True
|
||||
)
|
||||
windows99 = _dict(payload.setdefault("windows99_vmware_autostart", {}))
|
||||
source_service_blockers = _strings(windows99.get("service_blockers"))
|
||||
source_policy_blockers = _strings(windows99.get("policy_blockers"))
|
||||
source_task = _dict(windows99.get("autostart_task"))
|
||||
source_config_blocked = bool(source_service_blockers) or (
|
||||
bool(source_task) and source_task.get("ok") is not True
|
||||
)
|
||||
if source_config_blocked:
|
||||
windows99_blockers.append("windows99_vmware_autostart_config_not_ready")
|
||||
if source_policy_blockers:
|
||||
windows99_blockers.append("windows99_update_no_auto_reboot_policy_not_ready")
|
||||
update_ready = False
|
||||
windows99_blockers = _unique_strings(windows99_blockers)
|
||||
config_ready = not missing_vmx_aliases and not source_config_blocked
|
||||
windows99.update(
|
||||
{
|
||||
"readback_present": True,
|
||||
"verify_ready": verify_ready,
|
||||
"vmrun_present": True,
|
||||
"config_ready": not missing_vmx_aliases,
|
||||
"config_ready": config_ready,
|
||||
"power_ready": not powered_off_aliases,
|
||||
"windows_update_no_auto_reboot_ready": update_ready,
|
||||
"missing_vmx_aliases": missing_vmx_aliases,
|
||||
@@ -705,7 +718,7 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
readback["windows99_vmware_readback_present"] = True
|
||||
readback["windows99_vmware_verify_ready"] = verify_ready
|
||||
readback["windows99_vmrun_present"] = True
|
||||
readback["windows99_vmware_config_ready"] = not missing_vmx_aliases
|
||||
readback["windows99_vmware_config_ready"] = config_ready
|
||||
readback["windows99_vmware_power_ready"] = not powered_off_aliases
|
||||
readback["windows99_update_no_auto_reboot_ready"] = update_ready
|
||||
readback["windows99_runtime_metric_overlay_applied"] = True
|
||||
@@ -736,7 +749,7 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
rollups = _dict(payload.setdefault("rollups", {}))
|
||||
rollups["windows99_vmware_readback_present"] = True
|
||||
rollups["windows99_vmrun_present"] = True
|
||||
rollups["windows99_vmware_config_ready"] = not missing_vmx_aliases
|
||||
rollups["windows99_vmware_config_ready"] = config_ready
|
||||
rollups["windows99_vmware_power_ready"] = not powered_off_aliases
|
||||
rollups["windows99_vmware_verify_ready"] = verify_ready
|
||||
rollups["windows99_update_no_auto_reboot_ready"] = update_ready
|
||||
@@ -849,12 +862,19 @@ def _add_runtime_readback_active_blockers_missing_from_metric(
|
||||
) -> list[str]:
|
||||
service_backup = _dict(payload.get("controlled_service_data_backup_readback"))
|
||||
blocking_fields = _strings(service_backup.get("blocking_fields"))
|
||||
windows99 = _dict(payload.get("windows99_vmware_autostart"))
|
||||
windows99_blockers = _strings(windows99.get("blockers"))
|
||||
added = _unique_strings(
|
||||
[
|
||||
_SERVICE_DATA_BACKUP_BLOCKING_FIELD_BLOCKERS[field]
|
||||
for field in blocking_fields
|
||||
if field in _SERVICE_DATA_BACKUP_BLOCKING_FIELD_BLOCKERS
|
||||
]
|
||||
+ [
|
||||
blocker
|
||||
for blocker in windows99_blockers
|
||||
if blocker.startswith("windows99_")
|
||||
]
|
||||
)
|
||||
if not added:
|
||||
return _unique_strings(active_blockers)
|
||||
|
||||
@@ -93,6 +93,10 @@ PROMETHEUS_RUNTIME_BLOCKERS = [
|
||||
PROMETHEUS_SOURCE_RECONCILED_BLOCKER = (
|
||||
"conversation_event_hot_path_index_migration_source_missing"
|
||||
)
|
||||
WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS = [
|
||||
"windows99_vmware_autostart_config_not_ready",
|
||||
"windows99_update_no_auto_reboot_policy_not_ready",
|
||||
]
|
||||
PROMETHEUS_RUNTIME_SOURCE_RECONCILED_BLOCKERS = [
|
||||
blocker
|
||||
for blocker in PROMETHEUS_RUNTIME_BLOCKERS
|
||||
@@ -399,7 +403,10 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
payload = load_latest_reboot_auto_recovery_slo_scorecard(
|
||||
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK
|
||||
)
|
||||
expected_active_blockers = PROMETHEUS_RUNTIME_SOURCE_RECONCILED_BLOCKERS
|
||||
expected_active_blockers = [
|
||||
*PROMETHEUS_RUNTIME_SOURCE_RECONCILED_BLOCKERS,
|
||||
*WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS,
|
||||
]
|
||||
|
||||
assert payload["runtime_scorecard_readback_present"] is False
|
||||
assert payload["runtime_metric_readback_present"] is True
|
||||
@@ -411,7 +418,7 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
)
|
||||
assert payload["runtime_metric_source_control_reconciled_blocker_count"] == 1
|
||||
assert payload["active_blockers"] == expected_active_blockers
|
||||
assert payload["active_blocker_count"] == 7
|
||||
assert payload["active_blocker_count"] == 9
|
||||
assert payload["readiness_percent"] == 47
|
||||
assert payload["primary_blocker"] == "reboot_event_required_host_unreachable"
|
||||
assert payload["next_safe_action"] == (
|
||||
@@ -420,8 +427,11 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
assert "backup_core_green_not_1" not in payload["active_blockers"]
|
||||
assert "service_green_not_1" not in payload["active_blockers"]
|
||||
assert PROMETHEUS_SOURCE_RECONCILED_BLOCKER not in payload["active_blockers"]
|
||||
assert payload["runtime_metric_runtime_readback_added_blockers"] == []
|
||||
assert payload["runtime_metric_runtime_readback_added_blocker_count"] == 0
|
||||
assert (
|
||||
payload["runtime_metric_runtime_readback_added_blockers"]
|
||||
== WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS
|
||||
)
|
||||
assert payload["runtime_metric_runtime_readback_added_blocker_count"] == 2
|
||||
assert payload["service_green"] is True
|
||||
assert payload["backup_core_green"] is True
|
||||
assert payload["product_data_green"] is True
|
||||
@@ -439,7 +449,7 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
is True
|
||||
)
|
||||
assert payload["controlled_service_data_backup_readback"]["blocking_fields"] == []
|
||||
assert payload["active_blocker_action_matrix"]["item_count"] == 7
|
||||
assert payload["active_blocker_action_matrix"]["item_count"] == 9
|
||||
assert payload["windows99_vmware_autostart"]["readback_present"] is True
|
||||
assert payload["windows99_vmware_autostart"]["missing_vmx_aliases"] == ["111"]
|
||||
assert payload["windows99_vmware_autostart"]["powered_off_aliases"] == [
|
||||
@@ -452,12 +462,13 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
assert payload["windows99_vmware_autostart"]["blockers"] == [
|
||||
"windows99_vmware_guest_power_not_ready",
|
||||
"windows99_vmware_vmx_missing",
|
||||
*WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS,
|
||||
]
|
||||
assert payload["readback"]["windows99_vmware_readback_present"] is True
|
||||
assert payload["readback"]["windows99_vmrun_present"] is True
|
||||
assert payload["readback"]["windows99_vmware_config_ready"] is False
|
||||
assert payload["readback"]["windows99_vmware_power_ready"] is False
|
||||
assert payload["readback"]["windows99_update_no_auto_reboot_ready"] is True
|
||||
assert payload["readback"]["windows99_update_no_auto_reboot_ready"] is False
|
||||
assert payload["readback"]["windows99_runtime_metric_overlay_applied"] is True
|
||||
assert (
|
||||
payload["windows99_verify_collection"]["status"]
|
||||
@@ -472,7 +483,7 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
assert payload["rollups"]["windows99_vmrun_present"] is True
|
||||
assert payload["rollups"]["windows99_vmware_config_ready"] is False
|
||||
assert payload["rollups"]["windows99_vmware_power_ready"] is False
|
||||
assert payload["rollups"]["windows99_update_no_auto_reboot_ready"] is True
|
||||
assert payload["rollups"]["windows99_update_no_auto_reboot_ready"] is False
|
||||
assert payload["rollups"]["windows99_vmware_missing_vmx_count"] == 1
|
||||
assert payload["rollups"]["windows99_vmware_powered_off_count"] == 5
|
||||
assert payload["rollups"]["windows99_missing_vmx_alias_count"] == 1
|
||||
@@ -517,7 +528,7 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
] == 5
|
||||
assert payload["active_blocker_action_matrix"]["category_counts"][
|
||||
"windows99_vmware_autostart"
|
||||
] == 2
|
||||
] == 4
|
||||
assert payload["active_blocker_action_matrix"]["category_counts"].get(
|
||||
"post_reboot_service_readiness",
|
||||
0,
|
||||
@@ -530,25 +541,25 @@ def test_reboot_auto_recovery_slo_scorecard_overlays_prometheus_runtime_metrics(
|
||||
"security_observability",
|
||||
0,
|
||||
) == 0
|
||||
assert payload["readback"]["active_blocker_count"] == 7
|
||||
assert payload["readback"]["active_blocker_count"] == 9
|
||||
assert payload["readback"]["runtime_metric_readback_present"] is True
|
||||
assert payload["readback"][
|
||||
"runtime_metric_source_control_reconciled_blocker_count"
|
||||
] == 1
|
||||
assert payload["readback"][
|
||||
"runtime_metric_runtime_readback_added_blockers"
|
||||
] == []
|
||||
] == WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS
|
||||
assert payload["readback"][
|
||||
"runtime_metric_runtime_readback_added_blocker_count"
|
||||
] == 0
|
||||
assert payload["rollups"]["active_blocker_count"] == 7
|
||||
] == 2
|
||||
assert payload["rollups"]["active_blocker_count"] == 9
|
||||
assert payload["rollups"]["runtime_metric_readback_present"] is True
|
||||
assert payload["rollups"][
|
||||
"runtime_metric_source_control_reconciled_blocker_count"
|
||||
] == 1
|
||||
assert payload["rollups"][
|
||||
"runtime_metric_runtime_readback_added_blocker_count"
|
||||
] == 0
|
||||
] == 2
|
||||
assert payload["rollups"]["primary_blocker_owner_lane"] == (
|
||||
"reboot_event_detector_and_host_probe"
|
||||
)
|
||||
@@ -663,8 +674,11 @@ def test_reboot_auto_recovery_slo_scorecard_keeps_prometheus_source_missing_when
|
||||
prometheus_metric_readback=PROMETHEUS_RUNTIME_READBACK,
|
||||
)
|
||||
|
||||
assert payload["active_blockers"] == PROMETHEUS_RUNTIME_BLOCKERS
|
||||
assert payload["active_blocker_count"] == 8
|
||||
assert payload["active_blockers"] == [
|
||||
*PROMETHEUS_RUNTIME_BLOCKERS,
|
||||
*WINDOWS99_RUNTIME_READBACK_ADDED_BLOCKERS,
|
||||
]
|
||||
assert payload["active_blocker_count"] == 10
|
||||
assert payload["runtime_metric_source_control_reconciled_blocker_count"] == 0
|
||||
action_by_blocker = {
|
||||
item["blocker"]: item
|
||||
|
||||
Reference in New Issue
Block a user