Skip to content

Commit bb9a497

Browse files
vyadavmsftLiliDeng
authored andcommitted
Fix Hyper-V Stop-VM to use TurnOff on timeout/failure
1 parent 8d7f63b commit bb9a497

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

lisa/tools/hyperv.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,21 @@ def start_vm(
273273
if not is_ready:
274274
raise LisaException(f"VM {name} did not start")
275275

276-
def stop_vm(self, name: str) -> None:
277-
# stop vm
278-
self._run_hyperv_cmdlet("Stop-VM", f"-Name {name} -Force", force_run=True)
276+
def stop_vm(self, name: str, is_graceful: bool = False) -> None:
277+
"""
278+
Stop a Hyper-V VM.
279+
280+
Args:
281+
name: VM name to stop
282+
is_graceful: If True, attempts graceful shutdown with -Force.
283+
If False (default), performs immediate -TurnOff.
284+
"""
285+
if is_graceful:
286+
# Graceful shutdown (cleaner, but slower)
287+
self._run_hyperv_cmdlet("Stop-VM", f"-Name {name} -Force", force_run=True)
288+
else:
289+
# Immediate power-off (fast, for recycling)
290+
self._run_hyperv_cmdlet("Stop-VM", f"-Name {name} -TurnOff", force_run=True)
279291

280292
def restart_vm(
281293
self,

0 commit comments

Comments
 (0)