From 0f37379525eca13a29176a9616e80828ec0419de Mon Sep 17 00:00:00 2001 From: zhangyanying Date: Tue, 13 Dec 2016 19:10:24 +0800 Subject: [PATCH] Fix error when system uses /usr/bin/qemu-kvm, as in CentOS 7.2. Got "libvirt.libvirtError" error when using "/usr/bin/qemu-kvm" on CentOS7.2. CentOS 7.2 uses "/usr/libexec/qemu-kvm", this patch fixes it. Change-Id: Icf2951701fddfac8e2f0641f6f555adb8a3c185b Closes-Bug: #1649449 --- devstack/tools/ironic/scripts/configure-vm.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/devstack/tools/ironic/scripts/configure-vm.py b/devstack/tools/ironic/scripts/configure-vm.py index e78932d55b..0ed11d7f73 100755 --- a/devstack/tools/ironic/scripts/configure-vm.py +++ b/devstack/tools/ironic/scripts/configure-vm.py @@ -110,10 +110,15 @@ def main(): if args.emulator: params['emulator'] = args.emulator else: - if os.path.exists("/usr/bin/kvm"): # Debian - params['emulator'] = "/usr/bin/kvm" - elif os.path.exists("/usr/bin/qemu-kvm"): # Redhat - params['emulator'] = "/usr/bin/qemu-kvm" + qemu_kvm_locations = ['/usr/bin/kvm', + '/usr/bin/qemu-kvm', + '/usr/libexec/qemu-kvm'] + for location in qemu_kvm_locations: + if os.path.exists(location): + params['emulator'] = location + break + else: + raise RuntimeError("Unable to find location of kvm executable") if args.console_log: params['console'] = CONSOLE_LOG % {'console_log': args.console_log}