Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 395C2F65D for ; Tue, 26 Mar 2013 16:08:44 +0000 (UTC) Received: (qmail 98718 invoked by uid 500); 26 Mar 2013 16:08:43 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 98659 invoked by uid 500); 26 Mar 2013 16:08:43 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 98650 invoked by uid 99); 26 Mar 2013 16:08:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Mar 2013 16:08:43 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of donal.lafferty@citrix.com designates 46.33.159.39 as permitted sender) Received: from [46.33.159.39] (HELO SMTP.EU.CITRIX.COM) (46.33.159.39) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Mar 2013 16:08:39 +0000 X-IronPort-AV: E=Sophos;i="4.84,913,1355097600"; d="scan'208";a="2927968" Received: from lonpmailmx01.citrite.net ([10.30.203.162]) by LONPIPO01.EU.CITRIX.COM with ESMTP/TLS/RC4-MD5; 26 Mar 2013 16:08:18 +0000 Received: from LONPMAILBOX01.citrite.net ([10.30.224.160]) by LONPMAILMX01.citrite.net ([10.30.203.162]) with mapi; Tue, 26 Mar 2013 16:08:17 +0000 From: Donal Lafferty To: "dev@cloudstack.apache.org" Date: Tue, 26 Mar 2013 16:08:17 +0000 Subject: RE: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP Clearance Thread-Topic: [DISCUSS] Hyper-V Plugin & Microsoft Compiler & IP Clearance Thread-Index: Ac4qL3GaqPMmh/CMT4WTxsuosw6tAQAB5I4Q Message-ID: <81A73678E76EA642801C8F2E4823AD210141BC13AE28@LONPMAILBOX01.citrite.net> References: <81A73678E76EA642801C8F2E4823AD210141BC13AE21@LONPMAILBOX01.citrite.net> <81A73678E76EA642801C8F2E4823AD210141BC13AE23@LONPMAILBOX01.citrite.net> <81A73678E76EA642801C8F2E4823AD210141BC13AE24@LONPMAILBOX01.citrite.net> <81A73678E76EA642801C8F2E4823AD210141BC13AE26@LONPMAILBOX01.citrite.net> <3D11A3E0-D2DC-444F-9C6E-59D5B458FA52@gmail.com> In-Reply-To: <3D11A3E0-D2DC-444F-9C6E-59D5B458FA52@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org 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 >=20 >=20 > On Mar 26, 2013, at 10:22 AM, Donal Lafferty > wrote: >=20 > > I think this split is already accounted for in the existing plugin arch= itecture. > The external C# component you mention fits the definition of the plugin's > "ServerResource". The bit in the management server that talks to it woul= d > 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? > > >=20 > I missing some of the context here. I thought that you could talk directl= y from > the MS to the provided WMI API over the network. [Donal Lafferty]=20 Good question. Using WS-Man in a Java environment isn't a great starting p= oint. The Java WS-Man Microsoft had evaluated still had minor problems, Al= essandro Politi (Hyper-V developer) pointed out that WS-Man will be slow, a= nd finally, WS-Man does not offer a flexible means for supporting image mot= ion for template download. An agent running on Hyper-V overcomes these pro= blems. > If not then why not just using the Python WMI module, expose a REST API > from there and get done with it ? [Donal Lafferty]=20 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 e= xecution as a daemon. =20 An all Python solution (python/django/apache) can come later as a Phase 3 o= r KVM port of a working example. Alternatively, a Google Summer of Code pr= oject could be created for a student who wants to apply Python technologies= with a specific goal in mind. >=20 >=20 > > 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 > >>>>>> > >>>>>> 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 ServerResour= ce. > >>>>> 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 Cloud= Stack? > >>>>> > >>>>>> > >>>>>> 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? > >>>>>>> > >>>>>>>