嗨,David Morton 和其他任何感兴趣的人,这是针对每个实例单个 USB 设备的 Ganeti 2.6.0 USB 直通;
diff -r -c ganeti-2.6.0_original/lib/constants.py ganeti-2.6.0_changed/lib/constants.py
*** ganeti-2.6.0_original/lib/constants.py 2012-07-27 12:31:48.000000000 +0100
--- ganeti-2.6.0_changed/lib/constants.py 2012-10-04 13:46:15.881572099 +0100
***************
*** 770,775 ****
--- 770,776 ----
HV_KVM_USE_CHROOT = "use_chroot"
HV_CPU_MASK = "cpu_mask"
HV_MEM_PATH = "mem_path"
+ HV_USBPASSTHROUGH = "usb_pass"
HV_BLOCKDEV_PREFIX = "blockdev_prefix"
HV_REBOOT_BEHAVIOR = "reboot_behavior"
***************
*** 824,829 ****
--- 825,831 ----
HV_KVM_USE_CHROOT: VTYPE_BOOL,
HV_CPU_MASK: VTYPE_STRING,
HV_MEM_PATH: VTYPE_STRING,
+ HV_USBPASSTHROUGH: VTYPE_STRING,
HV_BLOCKDEV_PREFIX: VTYPE_STRING,
HV_REBOOT_BEHAVIOR: VTYPE_STRING,
}
***************
*** 1809,1814 ****
--- 1811,1817 ----
HV_MEM_PATH: "",
HV_REBOOT_BEHAVIOR: INSTANCE_REBOOT_ALLOWED,
HV_CPU_MASK: CPU_PINNING_ALL,
+ HV_USBPASSTHROUGH: "",
},
HT_FAKE: {
},
Only in ganeti-2.6.0_changed/lib/: .dir
Only in ganeti-2.6.0_changed/lib/: _generated_rpc.py
Only in ganeti-2.6.0_changed/lib/http: .dir
Only in ganeti-2.6.0_changed/lib/hypervisor: .dir
diff -r -c ganeti-2.6.0_original/lib/hypervisor/hv_kvm.py ganeti-2.6.0_changed/lib/hypervisor/hv_kvm.py
*** ganeti-2.6.0_original/lib/hypervisor/hv_kvm.py 2012-07-27 13:27:41.000000000 +0100
--- ganeti-2.6.0_changed/lib/hypervisor/hv_kvm.py 2012-10-04 13:46:54.993572107 +0100
***************
*** 490,495 ****
--- 490,496 ----
constants.HV_VHOST_NET: hv_base.NO_CHECK,
constants.HV_KVM_USE_CHROOT: hv_base.NO_CHECK,
constants.HV_MEM_PATH: hv_base.OPT_DIR_CHECK,
+ constants.HV_USBPASSTHROUGH: hv_base.NO_CHECK,
constants.HV_REBOOT_BEHAVIOR:
hv_base.ParamInSet(True, constants.REBOOT_BEHAVIORS),
constants.HV_CPU_MASK: hv_base.OPT_MULTI_CPU_MASK_CHECK,
***************
*** 1257,1262 ****
--- 1258,1268 ----
kvm_nics = instance.nics
hvparams = hvp
+ usb_pass = instance.hvparams[constants.HV_USBPASSTHROUGH]
+ if usb_pass:
+ usb_pass_arr = usb_pass.split(";")
+ kvm_cmd.extend(["-usb", "-device", "usb-host,hostbus=%s,hostaddr=%s" % tuple(usb_pass_arr)])
+
return (kvm_cmd, kvm_nics, hvparams)
def _WriteKVMRuntime(self, instance_name, data):
Only in ganeti-2.6.0_changed/lib/impexpd: .dir
Only in ganeti-2.6.0_changed/lib/masterd: .dir
diff -r -c ganeti-2.6.0_original/lib/query.py ganeti-2.6.0_changed/lib/query.py
*** ganeti-2.6.0_original/lib/query.py 2012-07-27 12:31:48.000000000 +0100
--- ganeti-2.6.0_changed/lib/query.py 2012-10-04 13:46:26.625572103 +0100
***************
*** 1745,1750 ****
--- 1745,1751 ----
constants.HV_NIC_TYPE: "NIC_type",
constants.HV_PAE: "PAE",
constants.HV_VNC_BIND_ADDRESS: "VNC_bind_address",
+ constants.HV_USBPASSTHROUGH: "usb_pass",
}
fields = [
Only in ganeti-2.6.0_changed/lib/rapi: .dir
Only in ganeti-2.6.0_changed/lib/server: .dir
Only in ganeti-2.6.0_changed/lib/tools: .dir
Only in ganeti-2.6.0_changed/lib/utils: .dir
Only in ganeti-2.6.0_changed/lib/: _vcsversion.py
Only in ganeti-2.6.0_changed/lib/watcher: .dir