On Aug 19, 2013, at 3:09 PM, Chiradeep Vittal <chiradeep.vit...@citrix.com> 
wrote:

> On XenServer (from Citrix), there is no JVM, not sure if you can install
> it even after the open sourcing.
> 
> 

I'd be surprised if you could not do it on Xen Project.

> On 8/19/13 10:38 AM, "Sebastien Goasguen" <run...@gmail.com> wrote:
> 
>> 
>> On Aug 19, 2013, at 1:25 PM, Chiradeep Vittal
>> <chiradeep.vit...@citrix.com> wrote:
>> 
>>> I thought libvirt supports xen as well? Why "modify libvirt calls to
>>> talk
>>> to xl" ?
>>> 
>> 
>> what I meant is that I believe our current Xen support makes use of xapi
>> not libvrit.
>> 
>> So I would think we could "copy" the KVM agent and modify the "libvirt
>> calls" -not libvrt itself- to use the xl tool.
>> 
>> That said I have not looked at the code for our Xen support.
>> 
>> 
>>> On 8/19/13 6:40 AM, "Sebastien Goasguen" <run...@gmail.com> wrote:
>>> 
>>>> Kind of on that same vein:
>>>> 
>>>> Anyone interested in modifying the KVM agent to support "pure" Xen
>>>> without xapi.
>>>> 
>>>> I think it might be possible to just use the kvm agent and modify the
>>>> libvirt calls to talk to xl , that way there would be no need for
>>>> xapi...
>>>> 
>>>> Which if I am not mistaken would give us Xen on ARM support instantly
>>>> in
>>>> CloudStack
>>>> 
>>>> Any takers ? or anyone telling me I got this completely wrong ?
>>>> 
>>>> -Sebastien
>>>> 
>>>> On Aug 16, 2013, at 2:42 AM, Likitha Shetty <likitha.she...@citrix.com>
>>>> wrote:
>>>> 
>>>>> Ian, with AWS it¹s the other way around. The package allows us to spin
>>>>> up VMs in CS using AWS EC2 API's.
>>>>> 
>>>>> -Likitha
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Ian Duffy [mailto:i...@ianduffy.ie]
>>>>>> Sent: Friday, August 16, 2013 12:07 PM
>>>>>> To: CloudStack Dev
>>>>>> Subject: Re: Whats involved in adding an extra hypervisor
>>>>>> 
>>>>>> Hi Donal and Chiradeep,
>>>>>> 
>>>>>> Thanks for your comments. It was an interesting read.
>>>>>> 
>>>>>> I might be missing something here but I will ask anyways. If I
>>>>>> understand
>>>>>> correctly, at current with awsapi we are able to submit our aws api
>>>>>> credentials
>>>>>> to Cloudstack and spin up VMs on aws correct? Is there a reason the
>>>>>> communication with aws could not be provided like a standard
>>>>>> hypervisor? what
>>>>>> is the reasoning behind keeping it as an almost separate package?
>>>>>> 
>>>>>> The reason I'm asking is because I'm wanting to do something
>>>>>> Cloudstack based
>>>>>> for a college project next year. However there is a hard 1 month
>>>>>> deadline. I was
>>>>>> interested to see could a base(or something of demoable quality) for
>>>>>> supporting
>>>>>> Google Compute Engine be completed in such a short deadline.
>>>>>> 
>>>>>> On 15 August 2013 09:29, Donal Lafferty <donal.laffe...@citrix.com>
>>>>>> wrote:
>>>>>>> Definitely possible to add new Hypervisor types, if that's what
>>>>>>> you're asking.
>>>>>>> 
>>>>>>> How easy it is depends on how much existing CloudStack
>>>>>>> infrastructure
>>>>>>> you
>>>>>> can exploit.  Let me out line the task with the help of some planning
>>>>>> questions:
>>>>>>> 
>>>>>>> 1. What will be your agent model?  Will you talk directly to the
>>>>>>> hypervisor
>>>>>> (direct connect agent), or will you install a remote agent on the
>>>>>> hypervisor
>>>>>> (connected agent).  This comes down to whether the hypervisor exposes
>>>>>> a high
>>>>>> level API remotely.
>>>>>>> 
>>>>>>> 2. What will be your secondary storage model?  Secondary storage
>>>>>>> provides
>>>>>> low IOPS storage accessible to all hypervisors in the zone.  Thus, we
>>>>>> store the
>>>>>> templates in secondary storage.  IIRC, CloudStack supports NFS, S3
>>>>>> and
>>>>>> Swift.
>>>>>> Does one of these options suit your data centre, or do you need to
>>>>>> expand the
>>>>>> list?  Will your agent be able to download disk images in secondary
>>>>>> storage to
>>>>>> the hypervisor?
>>>>>>> 
>>>>>>> 3. What will be your primary storage model?  Typically, primary
>>>>>>> storage is
>>>>>> high IOPS storage specific to a hypervisor or cluster of hypervisors.
>>>>>> The easiest
>>>>>> to setup is local storage, which can be a hard disk or storage you
>>>>>> mount
>>>>>> manually on the hypervisor.  Alternatively, you may want to automate
>>>>>> mounting
>>>>>> storage on the hypervisor.
>>>>>>> 
>>>>>>> 4.  What will be your system VM model?  System VMs offload the
>>>>>>> following
>>>>>> functionality from the management server:  VM console access,
>>>>>> networking
>>>>>> services, and secondary storage (upload) service.  You could skip
>>>>>> system VMs
>>>>>> and run these services in the management server's host using
>>>>>> QuickCloud.  You
>>>>>> could run system VMs on an existing hypervisor type, or you could add
>>>>>> a new
>>>>>> system VM type for your hypervisor.  Keep in mind that QuickCloud
>>>>>> can't run
>>>>>> your networking services.  Also, if you want to create a new system
>>>>>> VM
>>>>>> type, you
>>>>>> have to come up with VM image.
>>>>>>> 
>>>>>>> The tricky bits:
>>>>>>> 
>>>>>>> 5. What language will your agent use?  A direct connect agent sits
>>>>>>> in
>>>>>>> the
>>>>>> CloudStack process, so it is written in Java.  Alternatively, there
>>>>>> is
>>>>>> infrastructure
>>>>>> for a Java-based remote agent, which handles all your communications.
>>>>>> If you
>>>>>> need a non-Java remote agent, you are better off sending the kernel
>>>>>> commands
>>>>>> over HTTP, which looks more like an RPC mechanism than REST.
>>>>>>> 
>>>>>>> 6. How will you know what instructions to implement?  You can look
>>>>>>> at
>>>>>>> an
>>>>>> existing ServerResource class for a hypervisor to know what command
>>>>>> types
>>>>>> there are.  The relevant pieces of data in each command can be found
>>>>>> out from
>>>>>> existing hypervisor implementations.  Alternatively, you can look at
>>>>>> test logs,
>>>>>> which contain the data from each command.  Eventually you'll want to
>>>>>> try your
>>>>>> plugin with CloudStack itself.
>>>>>>> 
>>>>>>> Chiradeep's comments relate to #6 above.
>>>>>>> 
>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Chiradeep Vittal [mailto:chiradeep.vit...@citrix.com]
>>>>>>>> Sent: 15 August 2013 02:51
>>>>>>>> To: dev@cloudstack.apache.org
>>>>>>>> Subject: Re: Whats involved in adding an extra hypervisor
>>>>>>>> 
>>>>>>>> Yes, it is a hypervisor plugin. While the extension method may be
>>>>>>>> simple, the impedance mismatch between the CloudStack virtual model
>>>>>>>> and the hypervisor API is what causes the most pain.
>>>>>>>> E.g., CloudStack will hand a VirtualMachineTO object (consisting of
>>>>>>>> cpu/mem/nic) and then you have to use the hypervisor API to
>>>>>>>> construct it.
>>>>>>>> For XS, it involves calling a bunch of XS APIs to 'construct' the
>>>>>>>> VM.
>>>>>>>> For KVM, it involves constructing an XML file and passing it to
>>>>>>>> libvirt, etc.
>>>>>>>> I'd say stuff like snapshots, stuff that involves a lot of firewall
>>>>>>>> configuration tends to be harder.
>>>>>>>> 
>>>>>>>> On 8/14/13 3:28 PM, "Ian Duffy" <i...@ianduffy.ie> wrote:
>>>>>>>> 
>>>>>>>>> Hi Guys,
>>>>>>>>> 
>>>>>>>>> Just asking this off the top of my head with no research done at
>>>>>>>>> all.
>>>>>>>>> Its a pure "Just out of interest" query.
>>>>>>>>> 
>>>>>>>>> Would it be a difficult task to add an interface to Cloudstack in
>>>>>>>>> order to enable it to communicate with some REST based API that
>>>>>>>>> goes
>>>>>>>>> back to some hypervisor?
>>>>>>>>> 
>>>>>>>>> Can anybody point in the direction of code/files I should look at
>>>>>>>>> to
>>>>>>>>> get an idea of the amount of work involved? Is the plugin model in
>>>>>>>>> such a state where such functionality could be abstracted out as a
>>>>>>>>> plugin?
>>>>>>>>> With my previous experiences of dealing with the cloudstack code
>>>>>>>>> base I recall seeing a hypervisor folder in the plugins folder, is
>>>>>>>>> it just as simple as extending a few classes in there?
>>>>>>>>> 
>>>>>>>>> Thanks,
>>>>>>>>> 
>>>>>>>>> Ian
>>>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to