fix(reboot): expose windows99 autostart task run state
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 1m0s
CD Pipeline / build-and-deploy (push) Failing after 1m1s
CD Pipeline / post-deploy-checks (push) Has been skipped
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 1m0s
CD Pipeline / build-and-deploy (push) Failing after 1m1s
CD Pipeline / post-deploy-checks (push) Has been skipped
This commit is contained in:
@@ -52,6 +52,15 @@ _PROMETHEUS_RUNTIME_QUERIES = {
|
||||
"windows99_windows_update_ready": (
|
||||
"awoooi_windows99_vmware_windows_update_no_auto_reboot_ready"
|
||||
),
|
||||
"windows99_autostart_task_start_script_present": (
|
||||
"awoooi_windows99_vmware_autostart_task_start_script_present"
|
||||
),
|
||||
"windows99_autostart_task_last_result": (
|
||||
"awoooi_windows99_vmware_autostart_task_last_result"
|
||||
),
|
||||
"windows99_autostart_task_never_ran": (
|
||||
"awoooi_windows99_vmware_autostart_task_never_ran"
|
||||
),
|
||||
"windows99_missing_vmx_alias": "awoooi_windows99_vmware_missing_vmx_alias",
|
||||
"windows99_powered_off_alias": "awoooi_windows99_vmware_powered_off_alias",
|
||||
"windows99_no_secret_collector_readback_present": (
|
||||
@@ -434,6 +443,54 @@ def _load_reboot_slo_prometheus_metric_readback(
|
||||
windows99_update_ready: bool | None = (
|
||||
None if windows99_update_metric < 0 else windows99_update_metric == 1
|
||||
)
|
||||
windows99_task_start_script_metric = _prometheus_first_int(
|
||||
scalar_results.get("windows99_autostart_task_start_script_present") or [],
|
||||
default=-1,
|
||||
)
|
||||
windows99_task_start_script_present: bool | None = (
|
||||
None
|
||||
if windows99_task_start_script_metric < 0
|
||||
else windows99_task_start_script_metric == 1
|
||||
)
|
||||
windows99_task_last_result_results = results_by_name.get(
|
||||
_PROMETHEUS_RUNTIME_QUERIES["windows99_autostart_task_last_result"],
|
||||
[],
|
||||
)
|
||||
windows99_task_last_result = _prometheus_first_int(
|
||||
windows99_task_last_result_results,
|
||||
default=-1,
|
||||
)
|
||||
windows99_task_last_result_hex = _prometheus_first_label_value(
|
||||
windows99_task_last_result_results,
|
||||
"result_hex",
|
||||
)
|
||||
windows99_task_last_run_time = _prometheus_first_label_value(
|
||||
windows99_task_last_result_results,
|
||||
"last_run_time",
|
||||
)
|
||||
windows99_task_never_ran_results = results_by_name.get(
|
||||
_PROMETHEUS_RUNTIME_QUERIES["windows99_autostart_task_never_ran"],
|
||||
[],
|
||||
)
|
||||
windows99_task_never_ran_metric = _prometheus_first_int(
|
||||
windows99_task_never_ran_results,
|
||||
default=-1,
|
||||
)
|
||||
windows99_task_never_ran: bool | None = (
|
||||
None
|
||||
if windows99_task_never_ran_metric < 0
|
||||
else windows99_task_never_ran_metric == 1
|
||||
)
|
||||
if not windows99_task_last_result_hex:
|
||||
windows99_task_last_result_hex = _prometheus_first_label_value(
|
||||
windows99_task_never_ran_results,
|
||||
"result_hex",
|
||||
)
|
||||
if not windows99_task_last_run_time:
|
||||
windows99_task_last_run_time = _prometheus_first_label_value(
|
||||
windows99_task_never_ran_results,
|
||||
"last_run_time",
|
||||
)
|
||||
windows99_missing_vmx_aliases = _prometheus_label_values(
|
||||
missing_vmx_results,
|
||||
"alias",
|
||||
@@ -468,6 +525,13 @@ def _load_reboot_slo_prometheus_metric_readback(
|
||||
"windows99_vmware_verify_ready": windows99_verify_ready,
|
||||
"windows99_vmware_autostart_config_ready": windows99_config_ready,
|
||||
"windows99_windows_update_no_auto_reboot_ready": windows99_update_ready,
|
||||
"windows99_autostart_task_start_script_present": (
|
||||
windows99_task_start_script_present
|
||||
),
|
||||
"windows99_autostart_task_last_result": windows99_task_last_result,
|
||||
"windows99_autostart_task_last_result_hex": windows99_task_last_result_hex,
|
||||
"windows99_autostart_task_last_run_time": windows99_task_last_run_time,
|
||||
"windows99_autostart_task_never_ran": windows99_task_never_ran,
|
||||
"windows99_missing_vmx_aliases": windows99_missing_vmx_aliases,
|
||||
"windows99_powered_off_aliases": windows99_powered_off_aliases,
|
||||
"windows99_no_secret_collector_readback_present": (
|
||||
@@ -791,6 +855,31 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
"runtime_metric_overlay_applied": True,
|
||||
}
|
||||
)
|
||||
scheduled_task = _dict(windows99.setdefault("scheduled_task", {}))
|
||||
task_start_script_present = metric_readback.get(
|
||||
"windows99_autostart_task_start_script_present"
|
||||
)
|
||||
if isinstance(task_start_script_present, bool):
|
||||
scheduled_task["start_script_present"] = task_start_script_present
|
||||
raw_task_last_result = metric_readback.get("windows99_autostart_task_last_result")
|
||||
task_last_result = (
|
||||
int(raw_task_last_result)
|
||||
if isinstance(raw_task_last_result, int | float)
|
||||
else -1
|
||||
)
|
||||
if task_last_result >= 0:
|
||||
scheduled_task["last_task_result"] = str(task_last_result)
|
||||
scheduled_task["last_task_result_hex"] = str(
|
||||
metric_readback.get("windows99_autostart_task_last_result_hex") or ""
|
||||
)
|
||||
task_last_run_time = str(
|
||||
metric_readback.get("windows99_autostart_task_last_run_time") or ""
|
||||
)
|
||||
if task_last_run_time:
|
||||
scheduled_task["last_run_time"] = task_last_run_time
|
||||
task_never_ran = metric_readback.get("windows99_autostart_task_never_ran")
|
||||
if isinstance(task_never_ran, bool):
|
||||
scheduled_task["never_ran"] = task_never_ran
|
||||
payload["windows99_vmware_verify_ready"] = verify_ready
|
||||
payload["windows99_update_no_auto_reboot_ready"] = update_ready
|
||||
|
||||
@@ -810,6 +899,19 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
readback["windows99_runtime_metric_overlay_applied"] = True
|
||||
readback["windows99_missing_vmx_aliases"] = missing_vmx_aliases
|
||||
readback["windows99_powered_off_aliases"] = powered_off_aliases
|
||||
readback["windows99_autostart_task_start_script_present"] = scheduled_task.get(
|
||||
"start_script_present"
|
||||
)
|
||||
readback["windows99_autostart_task_last_result"] = scheduled_task.get(
|
||||
"last_task_result"
|
||||
)
|
||||
readback["windows99_autostart_task_last_result_hex"] = scheduled_task.get(
|
||||
"last_task_result_hex"
|
||||
)
|
||||
readback["windows99_autostart_task_last_run_time"] = scheduled_task.get(
|
||||
"last_run_time"
|
||||
)
|
||||
readback["windows99_autostart_task_never_ran"] = scheduled_task.get("never_ran")
|
||||
|
||||
collection = _dict(payload.setdefault("windows99_verify_collection", {}))
|
||||
preserved_collection_blockers = [
|
||||
@@ -844,6 +946,16 @@ def _apply_prometheus_windows99_vmware_readback(
|
||||
rollups["windows99_vmware_powered_off_count"] = len(powered_off_aliases)
|
||||
rollups["windows99_missing_vmx_alias_count"] = len(missing_vmx_aliases)
|
||||
rollups["windows99_powered_off_alias_count"] = len(powered_off_aliases)
|
||||
rollups["windows99_autostart_task_start_script_present"] = scheduled_task.get(
|
||||
"start_script_present"
|
||||
)
|
||||
rollups["windows99_autostart_task_last_result"] = scheduled_task.get(
|
||||
"last_task_result"
|
||||
)
|
||||
rollups["windows99_autostart_task_last_result_hex"] = scheduled_task.get(
|
||||
"last_task_result_hex"
|
||||
)
|
||||
rollups["windows99_autostart_task_never_ran"] = scheduled_task.get("never_ran")
|
||||
rollups["windows99_verify_collection_status"] = collection["status"]
|
||||
rollups["windows99_verify_collection_blocker_count"] = len(
|
||||
_strings(collection.get("collection_blockers"))
|
||||
@@ -2567,6 +2679,8 @@ def _build_windows99_verify_collection_packet(
|
||||
"VMX alias=<alias> present=<0|1>",
|
||||
"VMWARE_SERVICE name=<name> ok=<0|1>",
|
||||
"VMWARE_AUTOSTART_TASK name=AWOOOI-Start-VMware-VMs ok=<0|1>",
|
||||
"VMWARE_AUTOSTART_TASK_DETAIL last_task_result=<code>",
|
||||
"VMWARE_AUTOSTART_TASK_ACTION execute=<path>",
|
||||
"WINDOWS_UPDATE_POLICY name=<name> ok=<0|1>",
|
||||
"VM_POWER alias=<alias> running=<0|1>",
|
||||
"VMWARE_AUTOSTART_CONFIG_READY",
|
||||
@@ -3322,6 +3436,7 @@ def _reboot_sop_current_phase(active_blockers: list[str], can_claim_slo: bool) -
|
||||
"windows99_vmrun_missing",
|
||||
"windows99_vmware_vmx_missing",
|
||||
"windows99_vmware_autostart_config_not_ready",
|
||||
"windows99_vmware_autostart_task_never_ran",
|
||||
"windows99_vmware_guest_power_not_ready",
|
||||
"windows99_update_no_auto_reboot_policy_not_ready",
|
||||
"windows99_console_clipboard_unreliable",
|
||||
@@ -3376,6 +3491,7 @@ def _reboot_sop_primary_blocker(active_blockers: list[str]) -> str:
|
||||
"windows99_vmrun_missing",
|
||||
"windows99_vmware_vmx_missing",
|
||||
"windows99_vmware_autostart_config_not_ready",
|
||||
"windows99_vmware_autostart_task_never_ran",
|
||||
"windows99_vmware_guest_power_not_ready",
|
||||
"windows99_update_no_auto_reboot_policy_not_ready",
|
||||
"windows99_console_clipboard_unreliable",
|
||||
@@ -3505,7 +3621,10 @@ def _active_blocker_action_row(
|
||||
)
|
||||
elif blocker == "windows99_vmware_vmx_missing":
|
||||
next_safe_action = _WINDOWS99_MISSING_VMX_NEXT_SAFE_ACTION
|
||||
elif blocker == "windows99_vmware_guest_power_not_ready":
|
||||
elif blocker in {
|
||||
"windows99_vmware_guest_power_not_ready",
|
||||
"windows99_vmware_autostart_task_never_ran",
|
||||
}:
|
||||
next_safe_action = _WINDOWS99_POWERED_OFF_NEXT_SAFE_ACTION
|
||||
elif blocker in {
|
||||
"windows99_console_clipboard_unreliable",
|
||||
|
||||
Reference in New Issue
Block a user