[elbe-devel] [PATCH] initvmaction: Fix initvm command stop
Olivier Dion
dion at linutronix.de
Tue Aug 4 15:28:57 CEST 2020
This should fix problems that some users had with elbe-initvm-stop.
Signed-off-by: Olivier Dion <dion at linutronix.de>
---
elbepack/initvmaction.py | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/elbepack/initvmaction.py b/elbepack/initvmaction.py
index a0b76e15..898e7a33 100644
--- a/elbepack/initvmaction.py
+++ b/elbepack/initvmaction.py
@@ -200,19 +200,24 @@ class StopAction(InitVMAction):
sys.exit(20)
else:
while True:
- try:
- self.initvm.shutdown()
- except libvirt.libvirtError as e:
- # ignore that initvm is already shutoff or is currently
- # shutting down but raise all other errors
- if (self.initvm_state() != libvirt.VIR_DOMAIN_SHUTOFF and
- self.initvm_state() != libvirt.VIR_DOMAIN_SHUTDOWN):
+
+ state = self.initvm_state()
+
+ if state == libvirt.VIR_DOMAIN_SHUTDOWN:
+ pass
+
+ elif state == libvirt.VIR_DOMAIN_SHUTOFF:
+ print("\nInitvm shutoff")
+ break
+
+ else:
+ try:
+ ret = self.initvm.shutdown()
+ except libvirt.libvirtError as e:
raise e
+
sys.stdout.write("*")
sys.stdout.flush()
- if self.initvm_state() == libvirt.VIR_DOMAIN_SHUTOFF:
- print("\nInitvm shut off.")
- break
time.sleep(1)
--
2.28.0
More information about the elbe-devel
mailing list