Skip to content

REQ 014

sergio velderrain edited this page Nov 9, 2026 · 1 revision

REQ-014: Windows shutdown: WinRM -> ACPI -> hard poweroff only with per-run authorization

Requirement

A Windows VM shutdown initiated by the provisioning pipeline shall attempt WinRM shutdown, then ACPI if needed, and use hard poweroff only when that fallback is explicitly authorized for the current run.

Rationale

Preserves graceful-first shutdown while making the destructive fallback an intentional, per-run decision. Snapshot and VM-identity safeguards still apply.

Fit Criterion

Starting from running, observe poweroff after the WinRM request for up to 300 seconds, then after ACPI for up to 120 seconds. If still running, issue hard poweroff only when allow_hard_poweroff is explicitly true for this run; its default is false. Without authorization, fail without attaching media or powering off. An already-powered-off VM needs no shutdown.

Verification

Planned, TEST-014. The current workflow automatically hard-powers off after both waits; it does not yet satisfy the authorization condition. The revised requirement takes effect with its implementation, tracked in VITechnologies/projectbuddy#114.

Source

Software-Requirements-Specification

Priority

High

TestID

TEST-014

TestArtifact

Planned fallback, timeout, and authorization fixtures

CodeRef

.github/workflows/provision-windows-labview-vm.yml "Attach Installer Media And Restart" step

Status

Planned; current code automatically forces off after the two waits

Clone this wiki locally