Hi,

I know this is a big patch set for stable-2.14 but it contains some
major fixes regarding:

 1) A failover issue related to the ext disk template
 2) Hotplug support for QEMU 2.2 and later which is now broken
 3) Buggy behavior when using hotplug on instances with disk_type=scsi
 4) The way we construct the QEMU command line which is error-prone

In order to fix the above I decided not to go with a quick-and-dirty
solution but instead rework the whole hotplug implementation and the
way the KVMHypervisor handles devices, and that is why I included
a design doc (see doc/design-scsi-kvm.rst).

At the end of the day we get:

 1) Robust hotplug support
 2) Full, generic SCSI support
 3) Support for userspace-only disk access (no local block device)

All the above have been discussed in GanetiCon2014. I just found the
time to fix/implement them.

I submitted the patches to buildbot and coverage fails occasionally [1,2].
I run it locally and always succeeds. Please note that qa-kvm-tiny is
broken.

Looking forward to your feedback,
dimara

[1] http://buildbot.ganeti.org/ganeti/builders/doclint/builds/2183 (Failed)
[2] http://buildbot.ganeti.org/ganeti/builders/doclint/builds/2171 (OK)


Dimitris Aragiorgis (9):
  Fix instance failover in case of DTS_EXT_MIRROR
  Export disk's userspace URI to OS scripts
  bdev: Allow userspace-only disk templates
  Add design doc for SCSI support in KVM
  kvm: Refactor device option handling
  monitor: Use hvinfo in QMP methods
  kvm: Work around QEMU commit 48f364dd
  kvm: Use the new interface during hotplug actions
  kvm: Add new scsi_controller_type hvparam

 Makefile.am                                  |    1 +
 doc/design-draft.rst                         |    1 +
 doc/design-scsi-kvm.rst                      |  220 +++++++++++++++
 doc/design-shared-storage.rst                |    4 +-
 lib/backend.py                               |   10 +-
 lib/cmdlib/instance_migration.py             |    3 +-
 lib/hypervisor/hv_kvm/__init__.py            |  371 ++++++++++++++++++++------
 lib/hypervisor/hv_kvm/monitor.py             |   88 ++++--
 lib/objects.py                               |    3 +-
 lib/storage/extstorage.py                    |   10 +
 man/ganeti-extstorage-interface.rst          |   17 ++
 man/gnt-instance.rst                         |   11 +
 src/Ganeti/Constants.hs                      |   40 ++-
 src/Ganeti/OpCodes.hs                        |    2 +-
 test/data/kvm_runtime.json                   |   21 +-
 test/py/ganeti.hypervisor.hv_kvm_unittest.py |    9 +-
 16 files changed, 684 insertions(+), 127 deletions(-)
 create mode 100644 doc/design-scsi-kvm.rst

-- 
1.7.10.4

Reply via email to