From 0f37379525eca13a29176a9616e80828ec0419de Mon Sep 17 00:00:00 2001
From: zhangyanying <zhangyanying@inspur.com>
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}