core-admin/qubes/vm
Marek Marczykowski-Górecki 202e3df6b6
vm/mixin/net: disconnect network interface on backend shutdown/crash
Since we have more reliable domain-shutdown event delivery (it si
guaranteed to be delivered before subsequent domain start, even if
libvirt fails to report it), it's better to move detach_network call to
domain-shutdown handler. This way, frontend domain will see immediately
that the backend is gone. Technically it already know that, but at least
Linux do not propagate that anywhere, keeping the interface up,
seemingly operational, leading to various timeouts.
Additionally, by avoiding attach_network call _just_ after
detach_network call, it avoids various race conditions (like calling
cleanup scripts after new device got already connected).

While libvirt itself still doesn't cleanup devices when the backend
domain is gone, this will emulate it within qubesd.

Fixes QubesOS/qubes-issues#3642
Fixes QubesOS/qubes-issues#1426
2019-02-27 06:03:57 +01:00
..
mix vm/mixin/net: disconnect network interface on backend shutdown/crash 2019-02-27 06:03:57 +01:00
__init__.py qubes/features: check_with_(template_and_)adminvm 2018-12-20 18:28:33 +01:00
adminvm.py vm/adminvm: add stubs for kill/shutdown functions 2019-02-27 06:03:57 +01:00
appvm.py Fix too long line 2018-02-13 11:27:59 +01:00
dispvm.py Make DispVMs started from a DispVM to use the same DVM template by default 2019-02-18 19:25:26 +01:00
qubesvm.py vm/qubesvm: fix race condition in failed startup handling 2019-01-19 03:25:20 +01:00
standalonevm.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00
templatevm.py Change license to LGPL v2.1+ 2017-10-12 00:11:50 +02:00