Comments inline

> -----Original Message-----
> From: Sebastien Goasguen [mailto:run...@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.laffe...@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....@citrix.com]
> >> Sent: 26 March 2013 2:07 PM
> >> To: dev@cloudstack.apache.org
> >> Cc: cloudstack-...@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.laffe...@citrix.com]
> >>> Sent: Tuesday, March 26, 2013 6:50 PM
> >>> To: dev@cloudstack.apache.org
> >>> Cc: cloudstack-...@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....@citrix.com]
> >>>> Sent: 26 March 2013 12:52 PM
> >>>> To: dev@cloudstack.apache.org
> >>>> Cc: cloudstack-...@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.laffe...@citrix.com]
> >>>>> Sent: Tuesday, March 26, 2013 3:29 PM
> >>>>> To: dev@cloudstack.apache.org
> >>>>> Cc: cloudstack-...@incubator.apache.org
> >>>>> Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP
> >>>>> Clearance
> >>>>>
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: rohityada...@gmail.com [mailto:rohityada...@gmail.com]
> On
> >>>>> Behalf
> >>>>>> Of Rohit Yadav
> >>>>>> Sent: 26 March 2013 4:02 AM
> >>>>>> To: dev@cloudstack.apache.org
> >>>>>> Cc: cloudstack-...@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.laffe...@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?
> >>>>>>>
> >>>>>>>

Reply via email to