The usb_devices parameter was using comma as a list separator, but this cannot
work because comma is already used as the hypervisor parameter separator.

Change it to use whitespace as a separator, in accordance to what already done
for the extra parameters.

The NEWS file is updated accordingly.

Fixes Issue 649.

Signed-off-by: Michele Tartara <[email protected]>
---
 NEWS                     | 10 ++++++++++
 lib/hypervisor/hv_kvm.py |  2 +-
 man/gnt-instance.rst     |  6 ++++--
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index c28d5aa..9ee4c6d 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,16 @@ News
 ====
 
 
+Version 2.8.4
+-------------
+
+*(unreleased)*
+
+- Change the list separator for the usb_devices parameter from comma to space.
+  Commas could not work because they are already the hypervisor option
+  separator (Issue 649)
+
+
 Version 2.8.3
 -------------
 
diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index 3c1bc8c..e6f66bc 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -1384,7 +1384,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     # Various types of usb devices, comma separated
     if hvp[constants.HV_USB_DEVICES]:
-      for dev in hvp[constants.HV_USB_DEVICES].split(","):
+      for dev in hvp[constants.HV_USB_DEVICES].split(" "):
         kvm_cmd.extend(["-usbdevice", dev])
 
     if hvp[constants.HV_KVM_EXTRA]:
diff --git a/man/gnt-instance.rst b/man/gnt-instance.rst
index b652d5e..7bb8fab 100644
--- a/man/gnt-instance.rst
+++ b/man/gnt-instance.rst
@@ -723,10 +723,12 @@ soundhw
 usb\_devices
     Valid for the KVM hypervisor.
 
-    Comma separated list of usb devices. These can be emulated devices
+    Space separated list of usb devices. These can be emulated devices
     or passthrough ones, and each one gets passed to kvm with its own
     ``-usbdevice`` option. See the **qemu**\(1) manpage for the syntax
-    of the possible components.
+    of the possible components. Note that values set with this
+    parameter are split on a space character and currently don't support
+    quoting.
 
 vga
     Valid for the KVM hypervisor.
-- 
1.8.5.1

Reply via email to