Start with something stable, yet recent, e.g. 4.3  and not Master.  A lot of 
developers use existing tools such as DevCloud or their local test bed.  As a 
consequence, Master is not used nearly often as you'd expect.  For instance, in 
the summer of 2013, I would see Master not run, not build according to 
instructions, and sometimes not build at all.  Work with Master if you want to 
do QA or you understand CloudStack/Maven/Java and our pom.xml enough to make 
fixes.  However, you want something recent to catch subtle changes.  For 
instance, JSON instruction serialisation changed midway through 4.2.  If your 
tests targeted 4.1, they have been broken by the end of 4.2.

Start with the most common hardware architecture for CloudStack developers.  
Otherwise no one can duplicate the problem you are seeing.  Also, you really 
need a DevCloud for your development to scale well.  I haven't seen a lot of 
SPARC laptops, so I'd guess you will want to pursue x86 :)

WRT system VMs, it sounds like you can run the existing Xen system VMs as is 
provided the template is converted to RAW.  Since you're using NFS, you'll have 
to seed the system templates, which suggests that the conversion is in the bash 
script that sets up the system VMs.  Is that correct?

WRT supported environment, I suggest simply trying to start a VM on a basic 
network.  To start that VM you will have implemented support discovery 
(handshaking required to create an agent that will communicate with the 
hypervisor), storage (primary storage setup / secondary storage setup boils 
down to a mount command), and interface with the OVM API.  The network should 
be free, since basic networking will make use of your start VM instructions.  I 
would guess the hard bit is interfacing with the OVM API, since it might use a 
different schema for VM configuration and startup.  

WRT agent architecture, since OVM's agent talks XML-RPC, you should try a 
direct connect agent.  Direct connection agent handle remote communications.  
Where the remote API cannot handle CloudStack commands, they include a 
translation layer to convert between CloudStack's RPC and the remote API.  In 
contrast, a "connected agent" is a bare proxy for the CloudStack Agent, which 
uses the CloudStack message bus for communications.   For example, the Hyper-V 
plugin implements a direct connect agent, which allows it to send JSON-RPC via 
HTTP requests.  The XenServer plugin is also a direct connect agent, but it 
also includes a data translation layer to convert from CloudStack commands to 
XAPI.  I suggest looking at the Hyper-V agent to understand the instructions 
you have to implement, because they are all in one place.  In contrast, 
XenServer agent's implementation is implemented in five or so classes that 
inherit from each other.  Where you interact with the OVM API, it might be 
useful to see what the XenServer instruction is doing.  They're trying to 
control the same hypervisor, no?

But... can you control OVM with libvirt?  If so, could you simply reuse the KVM 
agent instead of writing your own?  It's a lot easier to reuse than write from 
scratch :)


DL



> -----Original Message-----
> From: Paul Angus [mailto:paul.an...@shapeblue.com]
> Sent: 23 April 2014 19:08
> To: dev@cloudstack.apache.org
> Cc: f...@barred.org
> Subject: RE: Oracle VM (OVM) Server support
> 
> So the million euro question is... which CloudStack release are you aiming
> for?
> 
> The 100,000 euro question is... are you looking at x86 and/or SPARC
> architectures?
> 
> Regards
> 
> Paul Angus
> Cloud Architect
> S: +44 20 3603 0540 | M: +447711418784 | T: CloudyAngus
> paul.an...@shapeblue.com
> 
> -----Original Message-----
> From: Funs Kessen [mailto:]
> Sent: 23 April 2014 14:00
> To: dev@cloudstack.apache.org
> Cc: Donal Lafferty
> Subject: Re: Oracle VM (OVM) Server support
> 
> Hi Donal and others,
> 
> I've been working part timeon the code for literally a bit over a month, based
> on snippets I had. The need for the OVM3 integration was initially something
> that had quite some pressure behind it when the discussion started, but
> unfortunately evaporated.
> The initial work I did started on the shoulders of the old Ovm plugin, but
> changed partially, so the outline of the framework used there is still 
> visible in
> the ResourceBase, Discoverer, Helper, Guru and Fencer although modified.
> The rest is not quite the same. I do have to say that some *cough*
> refactoring *cough* is in order.
> 
> On Tue, Apr 22, 2014 at 09:24:02PM +0000, Donal Lafferty wrote:
> > I took this approach with the Hyper-V plugin.  Based on my experience, I
> think the following advice is of great value.  Could you please pass it on to
> Funs.
> >
> Thanks for reaching out, it was the thing I needed to push me over the edge
> and get it out there :)
> 
> > First, take Rajesh up on his request for information, because he can help
> with the systemVM.  Without a system VM, you can only run a QuickCloud
> deployment, which lacks networking and secondary storage flexibility.  Also,
> rolling a system VM requires quite different expertise than operating the
> hypervisor itself.  I don't think it's useful to learn both when there are a 
> few
> system VM experts already kicking around.
> >
> The Console Proxy, SSVM and RouterVM all work and run once the template
> has been converted to RAW, which is the only format Ovm3 supports. RAW is
> only supported due to lack of the tapdisk kernel module, the tools are there
> but the module is not.
> Under the hood Ovm3 is xen with a python agent combined with xm and a
> couple of shared object libs. The agent is conceptually a pluggable
> framework.
> 
> > Be clear on how you'll support the console VM.  It would be preferable to
> give someone a chance to amend an existing console VM than have to write
> one from scratch.
> >
> The console VM works :).
> 
> > Make it clear what instructions you'll support.  A base plugin need only
> create/start/stop/delete, but maybe your users are expecting a richer
> features set.  There seem to be four or so potential users on this mailing 
> list.
> Why not ask them what they need.
> >
> That is a good point indeed, for now I've kept our environement partially in
> the back of my mind.
> * NFS for Primary and Secondary Storage
> * VLANs for VIFs on bridges (no OpenVswitch yet)
> * Native Pooling and loose CS clusters (native clusters are on the list)
> * VM migrations
> The README.md on the github page, https://github.com/snuf/ovm3, has
> more detail. I'm very open to suggestions on what should be in there, some
> things are however "complicated" due to the limitations of what is bundeled
> with dom0 and is natively supported by Oracle VM Manager. Some form of
> keeping in line with regard to not modifying dom0 would be required for the
> use case I have in mind.
> 
> > Get a sanity check on the agent architecture you're going to use.  Will we
> have to install a remote agent?  Will it speak CloudStack message bus or take
> HTTP requests?  It's worth checking with the community that there won't be
> any breaking changes to this architecture when it comes time to integrate.
> The same applies to storage.  In fact, the evolving storage model was an issue
> faced by the Hyper-V plugin's storage architecture.
> >
> A long time ago I spoke to a couple of people on the mailinglist and my idea
> was to do an as native as possible implementation, meaning that I was going
> to levarage the Ovm3 agent, which talks XML-RPC, as if Oracle VM Manager
> was talking to it. The plugin uses XML-RPC as much as possible, but for some
> of the missing bits now ssh is used, which should switch to either a shadow-
> agent, or augmenting the native Ovm3 agent.
> In the future the native agent might be enriched so I do feel much for
> keeping it as native as possible, also with respect to the initial use case.
> 
> > Finally, crowd source your test cases.  Obviously, you want to have a test
> case for every instruction you're implemented and some functional tests that
> cover a command sequence typical of a GUI operation.  What's more
> interesting is whether you can collaborate with existing testers to speed up
> development time and increase reliability.  In fact, I've some nice examples
> I'd like to pass on.
> >
> At the moment I have a build street that rebuilds either the module or CS
> completely depending, and can blow away the existing cloud, clean the
> hypervisors and roll out the entire thing from scratch. It will wait till the
> systemVMs are deployed and deploy three VMs on it.
> A sheer lack of unit tests and just a few sanity checks are in but it needs a
> bucket load more. The GUI has been tested a couple of times before I
> decided to integrate the bits needed into the API.
> 
> > To summarise, try to collaborate.  There's a lot of expertise beyond
> operating the hypervisor that you can safely crowd source.
> >
> That is good advice, somehow I find it hard to put the code out there as I 
> feel
> I've not given the code the attention it deserves.
> 
> The code is on github: https://github.com/snuf/ovm3 for those interested.
> 
> Cheers,
> 
> Funs
> 
> > > -----Original Message-----
> > > From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
> > > Sent: 22 April 2014 20:45
> > > To: dev
> > > Cc: fkes...@schubergphilis.com
> > > Subject: Re: Oracle VM (OVM) Server support
> > >
> > > He is implementing an ovm3 plugin + core patch. no support for the old
> ovm.
> > > When He is done he'll publish and I'll be happy to integrate and
> > > steal the
> > > credits;)
> > >
> > > On Tue, Apr 22, 2014 at 7:25 PM, Rajesh Battala
> > > <rajesh.batt...@citrix.com>
> > > wrote:
> > > > Nice..
> > > > Can you share more details about the support of OVM?
> > > >
> > > > Thanks
> > > > Rajesh Battala
> > > >
> > > > -----Original Message-----
> > > > From: Daan Hoogland [mailto:daan.hoogl...@gmail.com]
> > > > Sent: Tuesday, April 22, 2014 9:52 PM
> > > > To: dev
> > > > Subject: Re: Oracle VM (OVM) Server support
> > > >
> > > > A schuberg philis colleague is working on it. Funs.
> > > >
> > > > mobile bilingual spell checker used Op 22 apr. 2014 18:18 schreef
> > > > "Chip Childers" <chipchild...@apache.org>:
> > > >
> > > >> On Tue, Apr 22, 2014 at 03:38:51PM +0000, Paul Angus wrote:
> > > >> > About a year ago there was some discussion around updating the
> > > >> > Oracle VM
> > > >> Server support to the then current version.  The topic stopped
> > > >> and I can't find anything in Jira for it.
> > > >> >
> > > >> > Is the support still being worked on?
> > > >> >
> > > >> > Regards
> > > >> >
> > > >> > Paul Angus
> > > >> > Senior Consultant / Cloud Architect
> > > >>
> > > >> Not AFAIK
> > > >>
> > >
> > >
> > >
> > > --
> > > Daan
> Need Enterprise Grade Support for Apache CloudStack?
> Our CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-
> infrastructure-support/> offers the best 24/7 SLA for CloudStack
> Environments.
> 
> Apache CloudStack Bootcamp training courses
> 
> **NEW!** CloudStack 4.2.1 training<http://shapeblue.com/cloudstack-
> training/>
> 28th-29th May 2014, Bangalore.
> Classromm<http://shapeblue.com/cloudstack-training/>
> 16th-20th June 2014, Region A. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 23rd-27th June 2014, Region B. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 15th-20th September 2014, Region A. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 22nd-27th September 2014, Region B. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 1st-6th December 2014, Region A. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 8th-12th December 2014, Region B. Instructor led, On-
> line<http://shapeblue.com/cloudstack-training/>
> 
> This email and any attachments to it may be confidential and are intended
> solely for the use of the individual to whom it is addressed. Any views or
> opinions expressed are solely those of the author and do not necessarily
> represent those of Shape Blue Ltd or related companies. If you are not the
> intended recipient of this email, you must neither take any action based
> upon its contents, nor copy or show it to anyone. Please contact the sender if
> you believe you have received this email in error. Shape Blue Ltd is a
> company incorporated in England & Wales. ShapeBlue Services India LLP is a
> company incorporated in India and is operated under license from Shape
> Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated in
> Brasil and is operated under license from Shape Blue Ltd. ShapeBlue is a
> registered trademark.

Reply via email to