On Mon, Jun 9, 2014 at 1:02 PM, Dave Scott <dave.sc...@citrix.com> wrote:

>
> > - It would be good to see a UI mock up for how users would configure
> > the Xen Project hypervisor option.  I think that would go a long way
> > to helping with the mixed hypervisor cluster concept and how it could
> > be blocked.
>
> My comments about clusters were to emphasise that you shouldn’t expect to
> live migrate a VM between KVM and Xen, even if both are using libvirt
> underneath. Actually perhaps this is a misunderstanding of mine: is it
> possible today to mix hypervisors within a single CloudStack cluster? I’m
> not trying to change anything, but just point out the obvious. Maybe I got
> that wrong :-)
>

This comes down to your implementation.  Today CS clusters need to have
uniform hypervisor types, but if you're exposing a libvirt plugin, then
those protections won't exist since CS will see things as just libvirt. If
you create a KVM plugin and a separate XenProject one both of which
implement a libvirt base class then you should get the protections for
free.  It should also allow you to define hypervisor specific details in a
cleaner way.


> > - It would also be good to see examples of how the APIs might need to
> > be changed to support this.  Minimally I'd expect to see things like
> > supported disk/network/os types and that sort of thing.
>
> I can talk about some of this more explicitly in the doc. Since Xen can
> use qemu for disks (for both PV and HVM guests) there should be no
> difference in supported disk formats between this and the existing KVM
> support. I’m not proposing to add anything to the Xen support which isn’t
> supported by KVM such as .vhd via tapdisk. Similarly, networking is handled
> by the regular Linux network stack so that should all work in the same way.
>

I wouldn't assume the existing KVM plugin is generic. For example, only
QCOW2 is supported for disk images today.


> > - I see you have a todo to document the supported Xen Project
> > hypervisor and libvirt versions, but also dependencies on libxl
> > changes.  Are these critical dependencies, or if someone doesn't have
> > latest upstream will things work in a reduced feature set?
>
> In this proposal they would be critical dependencies (I’ll go make that
> clear). It is possible to make transitional arrangements but I didn’t want
> to overburden this proposal with backwards compat.
>
> > - C6.1 talks about exposing a config setting.  Is that really
> > required?  Couldn't that be set correctly based on hypervisor type?
>
> You’re right that this would be a hypervisor-specific thing.
>
> I’m still pondering the choice between PV and HVM. Using PV mode is
> convenient because it would allow the VMs to boot under Xen under
> virtualbox, like current devcloud. Using HVM might be more future-proof.
>
> > - Would QCOW2 be used for the Xen Project disk type for all templates
> > to keep with KVM consistency?  I'm actually thinking  about support
> > for VMDK, but perhaps that's a different proposal?
>
> That sounds a separate proposal, but it shouldn’t conflict with this one
> (assuming the VMDK support is in qemu)
>

VMDK support is there, but the existing KVM plugin only supports QCOW2, so
some of this is up to you for what you want to have supported with
XenProject.


>
> > - Since we're talking about sharing a libvirt plugin, I'm not clear on
> > if the shared work is done in a new libvirt plugin which is then
> > exposed to a KVM and a XenProject plugin or if the existing KVM plugin
> > is refactored to encompass both.
>
> Not totally sure what the best thing to do is — I’ll have to play with the
> code a little more.
>

I'd suggest looking at libvirt as a base class for KVM and XenProject and
see if that cleans anything up.  It might not, but worth looking into.


>
> Thanks,
> Dave
>
>
> >
> > -tim
> >
> >
> >
> >
> > On Mon, Jun 9, 2014 at 2:35 AM, Wido den Hollander <w...@widodh.nl>
> wrote:
> >>
> >>
> >> On 06/08/2014 11:14 PM, Dave Scott wrote:
> >>>
> >>> Hi Wido,
> >>>
> >>> Thanks for your mail!
> >>>
> >>> On 8 Jun 2014, at 19:02, Wido den Hollander <w...@widodh.nl> wrote:
> >>>
> >>>> On 06/08/2014 06:23 PM, Dave Scott wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> Following on from the earlier "[PROPOSAL] Support pure Xen as a
> >>>>> hypervisor”, I’ve added a design doc to the wiki:
> >>>>>
> >>>>>
> >>>>>
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+hosts+running+the+Xen+hypervisor+to+be+managed+via+libvirt
> >>>>>
> >>>>> This design would allow people who want to manage their hypervisors
> >>>>> purely through the libvirt tools to choose the Xen hypervisor.
> >>>>>
> >>>>> From the code point of view, I want to maximise sharing between the
> KVM
> >>>>> and Xen code paths, partly to make QA easier and partly to maximise
> the
> >>>>> chance that adding a feature for “Xen” causes it to work for “KVM”
> and
> >>>>> vice-versa. In particular this means that, if a genuinely-useful
> capability
> >>>>> is currently missing from the libvirt libxl driver, I want to
> implement it
> >>>>> rather than work around it.
> >>>>>
> >>>>
> >>>> Seems like a great route to me! You also want to support Xen+Qemu with
> >>>> this way?
> >>>
> >>>
> >>> Yes, it should be possible to run fully virtualised VMs with Xen +
> Qemu. I
> >>> think we’ll be able to choose whether to run VMs as PV or HVM.
> >>
> >>
> >> Ok, but those will be different code paths at some level.
> >>
> >>
> >>>
> >>>> We have to be aware that there might be some storage differences
> between
> >>>> KVM and Xen like Ceph which is not fully supported yet by Xen.
> >>>
> >>>
> >>> Ceph is an interesting one. Xen itself doesn’t know anything about
> >>> storage— instead the dom0 takes care of it either via a kernel driver
> >>> (blkback) or userspace program (qemu or tapdisk). When I tried to make
> Ceph
> >>> work about a year ago[1] I hit a bug in libxl (the Xen control
> library). The
> >>> good news is the fix made it into Xen 4.4, so with luck we can get it
> to
> >>> work.
> >>>
> >>
> >> When Xen runs with Qemu as full HVM it's Qemu which takes care of the
> Ceph
> >> storage, so in that case it's fixed.
> >>
> >> I haven't got a lot of experience with PV Xen. I heard stories of Ceph
> being
> >> integrated in blktap(2), but never tested it.
> >>
> >>
> >>>
> >>>> If anything is missing in libvirt or the Java bindings we have to fix
> >>>> that indeed instead of hacking around it.
> >>>
> >>>
> >>> Great :)
> >>>
> >>> Cheers,
> >>> Dave
> >>>
> >>> [1]
> >>>
> http://xenserver.org/discuss-virtualization/virtualization-blog/entry/tech-preview-of-xenserver-libvirt-ceph.html
> >>>
> >>>>
> >>>> Wido
> >>>>
> >>>>> Comments appreciated!
> >>>>>
> >>>>> Cheers,
> >>>>> Dave
> >>>>>
> >>>>> [1]
> >>>>>
> http://mail-archives.apache.org/mod_mbox/cloudstack-users/201403.mbox/%3ccajgxtbnbmqtq81ralgh2kma7v5wjyzkr3xnyasmkc_br+uk...@mail.gmail.com%3e
> >>>>>
> >>>
> >>
>
>

Reply via email to