From 63a1edc274753138958f7e98578816be17de1dd3 Mon Sep 17 00:00:00 2001 From: Bahtiar `kalkin-` Gadimov Date: Wed, 29 Jun 2016 12:26:18 +0200 Subject: [PATCH] Fix qvm-remove undefines domain in libvirt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Return error if domain is not halted - Undefine the domain in libvirt, to avoid: "Domain already exists with uuid…" --- qubes/tools/qvm_remove.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qubes/tools/qvm_remove.py b/qubes/tools/qvm_remove.py index b20bcbaf..e2a813a1 100644 --- a/qubes/tools/qvm_remove.py +++ b/qubes/tools/qvm_remove.py @@ -40,8 +40,12 @@ parser.add_argument('--just-db', def main(args=None): # pylint: disable=missing-docstring args = parser.parse_args(args) for vm in args.domains: + if not vm.is_halted(): + parser.print_error('VM {!s} not halted'.format(vm)) + return 1 del args.app.domains[vm.qid] args.app.save() + vm.libvirt_domain.undefine() if not args.just_db: vm.remove_from_disk()