If you can give me the commit ID for your HEAD, I'll check and see
what's up.  It could be another conflict needing resolution.

-tim

On Fri, Jun 6, 2014 at 12:16 PM, sebgoa <run...@gmail.com> wrote:
>
> On Jun 6, 2014, at 5:17 PM, Tim Mackey <tmac...@gmail.com> wrote:
>
>> Dave,
>>
>> I've submitted a merge review request
>> (https://reviews.apache.org/r/22270/) yesterday.
>
> Unfortunately that patch did not seem to apply cleanly. I have not dug deep 
> though..
>
>> If you want to avoid
>> having to potentially deal with a bunch of conflicts, you might want
>> to see if your patches apply cleanly there and let me know.  Happy to
>> help with any conflict resolution.
>>
>> btw, I didn't see a design document up on the
>> wiki(https://cwiki.apache.org/confluence/display/CLOUDSTACK/4.5+Design+Documents).
>> Can you get one there and start a DISCUSS thread?  It'll probably
>> tease out some gotchas you might not be aware of.
>>
>> -tim
>>
>> On Fri, Jun 6, 2014 at 11:04 AM, Dave Scott <dave.sc...@citrix.com> wrote:
>>> Hi,
>>>
>>> Here’s a quick status update:
>>>
>>> On 16 May 2014, at 15:22, Dave Scott <dave.sc...@citrix.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> On 14 May 2014, at 09:53, sebgoa <run...@gmail.com> wrote:
>>>>
>>>>>
>>>>> On Apr 9, 2014, at 2:37 PM, Dave Scott <dave.sc...@citrix.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Following up from Tim's "Support pure Xen as a hypervisor" proposal last 
>>>>>> month[1] I'd like to start working on this and maybe even make a little 
>>>>>> bit of progress while I'm at CCC in Denver.
>>>>>>
>>>>>> Helpfully James Bulpin managed to get CS + libvirt + xen to start an 
>>>>>> instance in a simple configuration. Although the patches[2] are not 
>>>>>> intended to be production-ready :) they help highlight some of the areas 
>>>>>> we need to change.
>>>>>
>>>>> Dave, just to let you know that Tim has done some important "refactoring" 
>>>>> to split up XenServer hypervisor in CS between Xen and XenServer. That 
>>>>> way we could keep using xapi for XS but start moving to libvirt for Xen.
>>>>>
>>>>> Tim worked in the xen2server branch (don't ask about the name, I messed 
>>>>> it up…:) ).
>>>>>
>>>>> https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=shortlog;h=refs/heads/xen2server
>>>>>
>>>>> Would be nice to see some of the libvirt stuff in that branch to handle a 
>>>>> new driver for Xen.
>>>>>
>>>>> Since the two hypervisors will be split up, we could still drop in some 
>>>>> early libvirt patches to handle Xen and put this in 4.5 as a wip.
>>>>
>>>> Thanks for the links.
>>>>
>>>> I’m slowly building up a set of patches here:
>>>>
>>>> https://github.com/djs55/cloudstack/tree/virsh-capabilities
>>>>
>>>> I think once I’ve gotten to a stable-ish point I’ll rebase on top of Tim’s 
>>>> branch.
>>>>
>>>> So far I’ve
>>>> * changed the hypervisor detection to use ‘virsh capabilities’ in one 
>>>> place and ‘cat /sys/hypervisor/type’ in another. Thinking about it again, 
>>>> I think it’s probably best to standardise on /sys/hypervisor/type since 
>>>> that will succeed irrespective of whether the libvirtd service is 
>>>> chkconfig’d on or not.
>>>>
>>>> * in the python cloudutils system setup stuff isKvmEnabled() has become 
>>>> isHypervisorEnabled()
>>>>
>>>> * added a XenLibvirtDiscoverer similar to the LXC one
>>>>
>>>> * fixed what I believe is a race in sshExecuteCmdOneShotWithExitCode 
>>>> (which seems to hit me every time, I don’t know why other people seem to 
>>>> be immune from it): see CLOUDSTACK-6621 and review board request 21261
>>>>
>>>> * added the new hypervisor to hypervisor.list and 
>>>> system.vm.default.hypervisor, so it appears in the UI properly
>>>>
>>>> * registered a system VM template in the database, using the same qcow2 
>>>> image as KVM
>>>>
>>>> For my test host I’m using a XenServer nightly snapshot which comes with a 
>>>> nice modern xen and kernel, and is easy to install bleeding-edge libvirt 
>>>> on top. I had to tweak the kernel configuration and the network 
>>>> configuration but I’m hoping to make it work out of the box in future.
>>>>
>>>> When I deploy my ‘datacenter’ the discovery phase works, the agent 
>>>> connects and looks healthy in the logs and the UI. The next step is to 
>>>> figure out why the system VM template isn’t being copied to primary 
>>>> storage — for some reason the copy isn’t being attempted but I can’t see 
>>>> any obvious reason why.
>>>
>>> I’m now at the stage of getting my system VMs to start via libvirt. The 
>>> main missing feature is support for <channels>: low-bandwidth private 
>>> host<->guest control channels. These channels are generally useful things 
>>> and are needed by other projects (like oVirt), so I’d like to add them to 
>>> libxl and libvirt’s libxl driver. There’s a thread on xen-devel and 
>>> libvir-devel if anyone’s interested:
>>>
>>> http://www.redhat.com/archives/libvir-list/2014-June/msg00180.html
>>>
>>> Once the <channels> are sorted, basic VM operations should work. The next 
>>> step would be to rebase my patches on top of Tim’s renaming changes and 
>>> tidy them up for review.
>>>
>>> Cheers,
>>> Dave
>>>
>>>>
>>>> Cheers,
>>>> Dave
>>>>
>>>>>
>>>>> -Sebastien
>>>>>
>>>>>>
>>>>>> Some of the areas are:
>>>>>>
>>>>>> 1. hypervisor detection
>>>>>>
>>>>>> Where we currently look for KVM specifically ("lsmod | grep kvm") we 
>>>>>> could switch to either detecting any Linux hypervisor (by reading 
>>>>>> /sys/hypervisor/type) and assuming if a hypervisor is present then we 
>>>>>> can use libvirt on it (is this a fair assumption?) Or we could 
>>>>>> white-list “kvm” or “xen”. Or we could query libvirt directly (perhaps 
>>>>>> via 'virsh capabilities'?)
>>>>>>
>>>>>> 2. fiddling with the domain.xml
>>>>>>
>>>>>> When starting a domain via libvirt the XML configuration has 
>>>>>> hypervisor-specific stuff in it. Some of this is easy to change like:
>>>>>>
>>>>>> <domain type='kvm'>
>>>>>>
>>>>>> obviously becomes
>>>>>>
>>>>>> <domain type='xen'>
>>>>>>
>>>>>> and
>>>>>>
>>>>>> <emulator>/usr/libexec/qemu-kvm</emulator>
>>>>>>
>>>>>> should probably be
>>>>>>
>>>>>> <emulator>/some/other/path/qemu-dm</emulator>
>>>>>>
>>>>>> Some is a bit more invasive (to the VM) such as the virtual hardware 
>>>>>> type should be switched from "virtio" to "xen" (and the block device in 
>>>>>> Linux will change from /dev/vd* to /dev/xvd*) and we'll have to either 
>>>>>> implement or work around the lack of
>>>>>>
>>>>>> <channel type='unix'> ...
>>>>>>
>>>>>> -- I presume this is a control channel into the system VM. Perhaps we 
>>>>>> could implement this in libvirt/libxl using vchan?
>>>>>>
>>>>>> 3. system VMs?
>>>>>>
>>>>>> It would be very convenient if the system VM images could work on both 
>>>>>> xen and KVM. This is probably doable as long as we don't bake in virtual 
>>>>>> hardware specific information (such as /dev/vda) in the image. We could 
>>>>>> use the qcow2 format in both cases. What do you think?
>>>>>>
>>>>>> … and I’m sure there’s more.
>>>>>>
>>>>>> Anyway, feedback would be welcome. If anyone else in Denver wants to 
>>>>>> chat, then come grab me later!
>>>>>>
>>>>>> Cheers,
>>>>>> Dave Scott
>>>>>>
>>>>>> [1] 
>>>>>> http://mail-archives.apache.org/mod_mbox/cloudstack-users/201403.mbox/%3ccajgxtbnbmqtq81ralgh2kma7v5wjyzkr3xnyasmkc_br+uk...@mail.gmail.com%3e
>>>>>>
>>>>>> [2] 
>>>>>> https://github.com/jamesbulpin/cloudstack/commits/jamesb_xen_exploratory
>>>
>

Reply via email to