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

Reply via email to