From 1cd3ef3456d3da65eb6c71076281e7399d52656b Mon Sep 17 00:00:00 2001 From: Marek Marczykowski Date: Thu, 23 Aug 2012 03:48:03 +0200 Subject: [PATCH] dom0/qvm-tools: catch exceptions while settting VM name (#656) --- dom0/qvm-tools/qvm-create | 17 +++++++++++------ dom0/qvm-tools/qvm-prefs | 6 +++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/dom0/qvm-tools/qvm-create b/dom0/qvm-tools/qvm-create index 595442fd..0bc22a8d 100755 --- a/dom0/qvm-tools/qvm-create +++ b/dom0/qvm-tools/qvm-create @@ -22,6 +22,7 @@ from qubes.qubes import QubesVmCollection from qubes.qubes import QubesVmLabels +from qubes.qubes import QubesException from optparse import OptionParser; import subprocess import re @@ -116,12 +117,16 @@ def main(): new_vm_template = template vm = None - if options.netvm: - vm = qvm_collection.add_new_netvm(vmname, new_vm_template, label = label) - elif options.proxyvm: - vm = qvm_collection.add_new_proxyvm(vmname, new_vm_template, label = label) - else: - vm = qvm_collection.add_new_appvm(vmname, new_vm_template, label = label) + try: + if options.netvm: + vm = qvm_collection.add_new_netvm(vmname, new_vm_template, label = label) + elif options.proxyvm: + vm = qvm_collection.add_new_proxyvm(vmname, new_vm_template, label = label) + else: + vm = qvm_collection.add_new_appvm(vmname, new_vm_template, label = label) + except QubesException as err: + print >> sys.stderr, "ERROR: {0}".format(err) + exit (1) if options.internal: vm.internal = True diff --git a/dom0/qvm-tools/qvm-prefs b/dom0/qvm-tools/qvm-prefs index 790ca1ed..65bd1973 100755 --- a/dom0/qvm-tools/qvm-prefs +++ b/dom0/qvm-tools/qvm-prefs @@ -331,7 +331,11 @@ def do_set(vms, vm, property, args): print >> sys.stderr, "ERROR: Property '{0}' not available for this VM".format(property) return False - return properties[property](vms, vm, args) + try: + return properties[property](vms, vm, args) + except Exception as err: + print >> sys.stderr, "ERROR: %s" % str(err) + return False def main():