Hi, Parts of this patch series will have to go to either the 2.16 or the master branch.
It brings a number of great things, and I'm excited to see it here, but this is simply not a minor change nor just a bugfix. Piece by piece: - The failover issue should go into 2.14, and I'll gladly push it there. - The support for userspace-only disks did not appear to cause trouble even after the opcode output change, so it can go into 2.14. That said, as a new feature I would prefer it to be in 2.16. - Fixing the issues with scsi-using instances is a noble cause, but I see no way to easily extract it without also getting in - a pretty big refactoring of how the KVM hypervisor works, which also introduces a new hypervisor parameter. When it comes to QEMU 2.2 interaction, since distribution package bundling determines which version we need to push changes to, 2.16 is not too late to have these changes in for neither Debian nor Ubuntu. Please correct me if I'm wrong - I was relying on your statement on where the QEMU commits have landed. While master could be said to be more appropriate, given how useful the commits are and what they fix, I'd still be happy squeezing them into 2.16. What do you say? Cheers, Riba On Thu, Jul 30, 2015 at 9:56 PM, Dimitris Aragiorgis < [email protected]> wrote: > 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 > > Hrvoje Ribicic Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Geschäftsführer: Graham Law, Christine Elizabeth Flores Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
