cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donal Lafferty <donal.laffe...@citrix.com>
Subject RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP Clearance
Date Tue, 26 Mar 2013 16:08:17 GMT
Comments inline

> -----Original Message-----
> From: Sebastien Goasguen [mailto:runseb@gmail.com]
> Sent: 26 March 2013 2:37 PM
> To: dev@cloudstack.apache.org
> Subject: Re: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP Clearance
> 
> 
> On Mar 26, 2013, at 10:22 AM, Donal Lafferty <donal.lafferty@citrix.com>
> wrote:
> 
> > I think this split is already accounted for in the existing plugin architecture.
> The external C# component you mention fits the definition of the plugin's
> "ServerResource".  The bit in the management server that talks to it would
> be a "ServerComponent".  See slide #7 of [1].
> >
> > I agree with your proposal to use a RESTful API to link the two halves
> > of the plugin. See [2]
> >
> > The problem is how best to add the C# component.  Does it suffice that the
> code and build project are donated, and users left to build their own?
> >
> 
> I missing some of the context here. I thought that you could talk directly from
> the MS to the provided WMI API over the network.
[Donal Lafferty] 
Good question.  Using WS-Man in a Java environment isn't a great starting point.  The Java
WS-Man Microsoft had evaluated still had minor problems, Alessandro Politi (Hyper-V developer)
pointed out that WS-Man will be slow, and finally, WS-Man does not offer a flexible means
for supporting image motion for template download.  An agent running on Hyper-V overcomes
these problems.

> If not then why not just using the Python WMI module, expose a REST API
> from there and get done with it ?
[Donal Lafferty] 
The C# ecosystem allows me to focus on the REST API.  Tools and frameworks take care of background
noise such as the web framework, HTTP server, and execution as a daemon.  

An all Python solution (python/django/apache) can come later as a Phase 3 or KVM port of a
working example.  Alternatively, a Google Summer of Code project could be created for a student
who wants to apply Python technologies with a specific goal in mind.

> 
> 
> > DL
> >
> >
> > [1]
> > http://www.slideshare.net/DonalLafferty/2013-0219cloud-platformplugins
> > finaldistro [2] http://markmail.org/thread/q2qhbtk2ipny3r2t
> >
> >
> >
> >> -----Original Message-----
> >> From: Koushik Das [mailto:koushik.das@citrix.com]
> >> Sent: 26 March 2013 2:07 PM
> >> To: dev@cloudstack.apache.org
> >> Cc: cloudstack-dev@incubator.apache.org
> >> Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP
> >> Clearance
> >>
> >> Think of the external C# component as external to CS. It exposes a
> >> REST endpoint and has independent lifecycle. The server resource
> >> running as part of Cloudstack MS will connect to this external REST
> endpoint.
> >>
> >>> -----Original Message-----
> >>> From: Donal Lafferty [mailto:donal.lafferty@citrix.com]
> >>> Sent: Tuesday, March 26, 2013 6:50 PM
> >>> To: dev@cloudstack.apache.org
> >>> Cc: cloudstack-dev@incubator.apache.org
> >>> Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP
> >>> Clearance
> >>>
> >>> The terminology for plugins has unfortunate overloading when it
> >>> comes to the term 'ServerResource'.  As a Java class, it seems to be
> >>> used to in the implementation both a plugin's ServerComponent and a
> >>> plugin's ServerResource.  E.g. the KVM plugin has a 'dummy'
> >>> ServerResource in the management server, and a real ServerResource in
> the remote agent.
> >>>
> >>> With that in mind, do you mean for the C# component to be accessible
> >>> over a RESTful API from plugin classes loaded into the management
> server?
> >>>
> >>> DL
> >>>
> >>>> -----Original Message-----
> >>>> From: Koushik Das [mailto:koushik.das@citrix.com]
> >>>> Sent: 26 March 2013 12:52 PM
> >>>> To: dev@cloudstack.apache.org
> >>>> Cc: cloudstack-dev@incubator.apache.org
> >>>> Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler &
IP
> >>>> Clearance
> >>>>
> >>>> Better to write the C# component doing Hyper-V specific stuff as a
> >>>> standalone component and expose a REST API. The ServerResource
> >>>> class is still in java and makes REST calls to the C# component.
> >>>>
> >>>> -Koushik
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Donal Lafferty [mailto:donal.lafferty@citrix.com]
> >>>>> Sent: Tuesday, March 26, 2013 3:29 PM
> >>>>> To: dev@cloudstack.apache.org
> >>>>> Cc: cloudstack-dev@incubator.apache.org
> >>>>> Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler &
IP
> >>>>> Clearance
> >>>>>
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: rohityadav89@gmail.com [mailto:rohityadav89@gmail.com]
> On
> >>>>> Behalf
> >>>>>> Of Rohit Yadav
> >>>>>> Sent: 26 March 2013 4:02 AM
> >>>>>> To: dev@cloudstack.apache.org
> >>>>>> Cc: cloudstack-dev@incubator.apache.org
> >>>>>> Subject: Re: [DISCUSS] Hyper-V Plugin & Microsoft Compiler
& IP
> >>>>>> Clearance
> >>>>>>
> >>>>>> On Tue, Mar 26, 2013 at 4:31 AM, Donal Lafferty
> >>>>>> <donal.lafferty@citrix.com>
> >>>>>> wrote:
> >>>>>>> It makes a lot of sense to write the ServerResourse for
Hyper-V
> >>>>>>> in C#,
> >>>>>> because there's a lot of frameworks written in the Microsoft
> >>>>>> ecosystem with C# in mind.
> >>>>>>>
> >>>>>>> If that's the case, then it also makes sense to use the
> >>>>>>> Microsoft compiler to
> >>>>>> compile the ServerResource.
> >>>>>>
> >>>>>> This won't get much love, instead of a compiler from the North
> >>>>>> Atlantic giant,
> >>>>> [Donal Lafferty]
> >>>>> Northwest Pacific :)
> >>>>>> if you were to use C# anyway why not consider using mono for
your
> >>>>>> compiler/build infrastructure? While I would avoid mono and
it
> >>>>>> would be difficult for folks to build/develop, if something
could
> >>>>>> be done in C#, could n't it be done in Java, Scala or anything
> >>>>>> that could run on JVM? If this is possible, it will save us
from
> >>>>>> nonoss, proprietary
> >>>>> build/runtime dependency.
> >>>>> [Donal Lafferty]
> >>>>> It's a question of what environment is optimal for the ServerResource.
> >>>>> There is a lot more material for writing a server resource in C#
> >>>>> than there is for writing it in Java.
> >>>>>
> >>>>> Moreover, the ServerResource concept of a plugin was introduced
to
> >>>>> allow developers a degree of freedom in choosing the environment
> >>>>> for code that controls data centre resource.  Adopting
> >>>>> platform-specific tools seems to flow naturally from this
> >>>>> definition.  I guess you could call this the multi-lingual
> >>>>> plugin:  one where the ServerResource and ServerComponent are not
> >>>>> homogenous.
> >>>>>
> >>>>> What are the barriers to including 'multi-lingual plugins' in CloudStack?
> >>>>>
> >>>>>>
> >>>>>> Cheers.
> >>>>>>
> >>>>>>>
> >>>>>>> I'm unclear how this impacts contributing the code to Apache
> >>>> CloudStack.
> >>>>>> In particular:
> >>>>>>>
> >>>>>>>
> >>>>>>> 1.       Does dependence on the Microsoft compiler mean
that the
> >>>> source
> >>>>>> end up in the non-OSS build?
> >>>>>>>
> >>>>>>> 2.       Is the plugin able to participate in the BVT?
> >>>>>>>
> >>>>>>>


Mime
View raw message