That clears up a lot, I didn't know how to get in touch with Prussia.  

Darren

> On Sep 24, 2013, at 7:09 PM, Hugo Trippaers <trip...@gmail.com> wrote:
> 
> Hahah,
> 
> Yeah indeed, awful autocorrect.
> 
> Sent from my iPhone
> 
>> On 25 sep. 2013, at 10:01, Chiradeep Vittal <chiradeep.vit...@citrix.com> 
>> wrote:
>> 
>> Ha! Prussians == Prasanna?
>> Godawful autocorrect.
>> 
>>> On 9/24/13 6:47 PM, "Hugo Trippaers" <trip...@gmail.com> wrote:
>>> 
>>> Darren, you can probably work with Prussians to get it through the bvt
>>> suite. That would be a nice start.
>>> 
>>> Cheers,
>>> 
>>> Hugo
>>> 
>>> Sent from my iPhone
>>> 
>>>> On 25 sep. 2013, at 09:06, Darren Shepherd
>>>> <darren.s.sheph...@gmail.com> wrote:
>>>> 
>>>> My extensive testing consisted of "it compiles!"  So somebody needs to
>>>> validate it, I don't have a vmware setup handy.  The wsdl generation
>>>> route is not feasible unless legal says it's okay.  Somebody want to
>>>> email legal@?
>>>> 
>>>> Darren
>>>> 
>>>>> On Sep 24, 2013, at 5:27 PM, Hugo Trippaers <h...@trippaers.nl> wrote:
>>>>> 
>>>>> So at this moment we have the following tally,
>>>>> 
>>>>> Darren, Alex, Kelven opt for the wsdl route
>>>>> Hugo opts for the vijava route
>>>>> 
>>>>> I'm perfectly ok with ditching my work on the vijava in favour of the
>>>>> wsdl route. The arguments presented in the last few mails make a lot of
>>>>> sense. So i say the wsdl route is the way to go.
>>>>> 
>>>>> I do think however that we need to revisit the vmware code anyway.
>>>>> There is dead code in there, formatting issues and a general
>>>>> duplication of code. Parts of my plan to switch to vijava was to
>>>>> simplify the code as well, but i can still do that with the WSDL layer.
>>>>> 
>>>>> Darren, did you run your wsdl branch through the BVT test suite? If
>>>>> you did we can merge it on short notice and get on with it. If you
>>>>> didn't can you take care of that and give an overview of the testing
>>>>> done on that branch besides the BVT?
>>>>> 
>>>>> Cheers,
>>>>> 
>>>>> Hugo
>>>>> 
>>>>> 
>>>>>> On Sep 25, 2013, at 2:58 AM, Kelven Yang <kelven.y...@citrix.com>
>>>>>> wrote:
>>>>>> 
>>>>>> We have commercial releases on top of existing code base and there are
>>>>>> lots of testing efforts behind it, dramatic switch means $ cost, the
>>>>>> major
>>>>>> concern for me is not about how beautiful vijava is or how bad a
>>>>>> direct
>>>>>> wsdl approach would be. it is about to get things move smoothly.
>>>>>> 
>>>>>> It looks like that we should have VMware layer on its own to have a
>>>>>> plugin
>>>>>> structure so that we can replace underlying binding easier, it should
>>>>>> solve the balance between developer's tho motivation and carrying on
>>>>>> the
>>>>>> legacy with minimal impacts to the rest of others.
>>>>>> 
>>>>>> 
>>>>>> Kelven
>>>>>> 
>>>>>>> On 9/23/13 6:01 PM, "Hugo Trippaers" <h...@trippaers.nl> wrote:
>>>>>>> 
>>>>>>> Heya,
>>>>>>> 
>>>>>>> This biggest advantage i see in using vijava is that a lot of the
>>>>>>> functionality that we now have in the vmware-base project is already
>>>>>>> supplied with vijava.
>>>>>>> 
>>>>>>> There is a lot of code that facilitates calling tasks and other
>>>>>>> stuff in
>>>>>>> our MO classes. These classes are available in vijava and could be
>>>>>>> used
>>>>>>> instead of our classes. Basically when using vijava correctly you
>>>>>>> hardly
>>>>>>> have to work with the ManagedObjectReferences anymore. For me this
>>>>>>> would
>>>>>>> be a big benefit as it makes programming against vmware a lot
>>>>>>> easier. We
>>>>>>> also have a lot of duplicate code currently in the vmware class and i
>>>>>>> wouldn't mind getting rid of it, which i think is easier with the
>>>>>>> vijava
>>>>>>> libraries.
>>>>>>> 
>>>>>>> That said, the main driver is getting it into the main build so any
>>>>>>> other
>>>>>>> efforts towards that goal are ok with me.
>>>>>>> 
>>>>>>> I would propose that somebody else puts up a branch with our own wdsl
>>>>>>> wrapper and we open a discussion thread when both branches are ready
>>>>>>> to
>>>>>>> see which we want to merge in master. Anybody who wants to pick that
>>>>>>> up?
>>>>>>> 
>>>>>>> I'm stubbornly going to continue with converting to vijava, I put
>>>>>>> some
>>>>>>> effort into it and i want at least to see it running once ;-)  And
>>>>>>> the
>>>>>>> more i work with it the more i'm seeing to benefits of the library
>>>>>>> so i
>>>>>>> might be able to be more convincing in the end :-)
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> 
>>>>>>> Hugo
>>>>>>> 
>>>>>>> 
>>>>>>>> On Sep 24, 2013, at 2:18 AM, Kelven Yang <kelven.y...@citrix.com>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Prior to 5.1, VMware provides java binding in its SDK and this is
>>>>>>>> where
>>>>>>>> CloudStack VMware integration began with. Starting from 5.1, VMware
>>>>>>>> no
>>>>>>>> longer provides the java binding in binary form and recommends its
>>>>>>>> customers to generate directly from its WS WSDL.
>>>>>>>> 
>>>>>>>> Since we are not sure if we can distribute VMware wsdl legally or
>>>>>>>> not,
>>>>>>>> therefore, we ended up to generate and distribute the java binding
>>>>>>>> in
>>>>>>>> binary form. If we can get this cleared in lebal, as Darren
>>>>>>>> pointed, we
>>>>>>>> can solve our non-dist issue easily in matter of adding couple of
>>>>>>>> lines
>>>>>>>> in
>>>>>>>> maven.
>>>>>>>> 
>>>>>>>> As of vijava, yes, I think it may add some value from developer's
>>>>>>>> point
>>>>>>>> of
>>>>>>>> view, but on the other hand, I don't see immediate benefits to
>>>>>>>> having
>>>>>>>> another layer on top of VMware official WS API, vijava is an open
>>>>>>>> source
>>>>>>>> project for providing convenient java binding to vmware WS API,
>>>>>>>> maybe
>>>>>>>> I'm
>>>>>>>> wrong, but I think VMware vSphere WS API is the only official
>>>>>>>> published
>>>>>>>> API from VMware, and the testing result of the API is endorsed by
>>>>>>>> VMware
>>>>>>>> as an commercial entity. So I see more business value to stick with
>>>>>>>> the
>>>>>>>> official WS API directly. If we can clear the legal concern of
>>>>>>>> redistributing VMware wsdl. I would +1 to add a build step of
>>>>>>>> generating
>>>>>>>> VMware java binding from wsdl.
>>>>>>>> 
>>>>>>>> Kelven
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On 9/23/13 12:40 AM, "Hugo Trippaers" <h...@trippaers.nl> wrote:
>>>>>>>>> 
>>>>>>>>> We have been having this discussion on moving vmware out of
>>>>>>>>> noredist
>>>>>>>>> since i joined the project. So no real need to rush this suddenly.
>>>>>>>>> Still
>>>>>>>>> it would be nice to get this in for the next release. The feature
>>>>>>>>> freeze
>>>>>>>>> of 4.3 is october 31st for the 4.3 release. This change (or any sdk
>>>>>>>>> change to vmware) should be considered an architecture change so it
>>>>>>>>> should come in at the start of the new release cycle.
>>>>>>>>> 
>>>>>>>>> So this is currently my main activity on CloudStack meaning i can
>>>>>>>>> work
>>>>>>>>> pretty much dedicated on this. With a bit of luck i can have the
>>>>>>>>> changes
>>>>>>>>> finished this week. Then it's up to the test results if we can
>>>>>>>>> make it
>>>>>>>>> into the 4.3 release or the 4.4 release. Of course all pending a
>>>>>>>>> successful merge vote.
>>>>>>>>> 
>>>>>>>>> Cheers,
>>>>>>>>> 
>>>>>>>>> Hugo
>>>>>>>>> 
>>>>>>>>> On Sep 23, 2013, at 3:10 PM, Darren Shepherd
>>>>>>>>> <darren.s.sheph...@gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>>> It's seems there could be some good merit to adopting vijava.  I
>>>>>>>>>> hate
>>>>>>>>>> to belabor this point, but we could get vmware plugin out of
>>>>>>>>>> noredist
>>>>>>>>>> real fast if we just generate bindings (I think)
>>>>>>>>>> 
>>>>>>>>>> Do you know if legally we can add the vmware wsdl to git?  We
>>>>>>>>>> wouldn't
>>>>>>>>>> redistribute it in the binary builds.  If we could add the wsdl to
>>>>>>>>>> git,
>>>>>>>>>> I could add a couple lines to the Pom and it will generate the
>>>>>>>>>> bindings
>>>>>>>>>> as part of the build.  Then vmware will be fully redistributable
>>>>>>>>>> and
>>>>>>>>>> there is no change to existing code.  At runtime everything
>>>>>>>>>> should be
>>>>>>>>>> the same too.  We could make that change real fast and then
>>>>>>>>>> additionally
>>>>>>>>>> continue to look at vijava.
>>>>>>>>>> 
>>>>>>>>>> Personal I want to get rid of noredist.  If somebody wants to
>>>>>>>>>> contribute code that depends on nonfree code, it seems that
>>>>>>>>>> should be
>>>>>>>>>> in
>>>>>>>>>> a cloudstack-nonfree repo.
>>>>>>>>>> 
>>>>>>>>>> Darren
>>>>>>>>>> 
>>>>>>>>>>> On Sep 22, 2013, at 11:43 PM, Hugo Trippaers <h...@trippaers.nl>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Sep 23, 2013, at 1:39 PM, Darren Shepherd
>>>>>>>>>>>> <darren.s.sheph...@gmail.com> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Yeah, I'll dig into it more.  I think I understand a bit that
>>>>>>>>>>>> vmware
>>>>>>>>>>>> api is just a bunch of generics objects, so another library on
>>>>>>>>>>>> top
>>>>>>>>>>>> to
>>>>>>>>>>>> create types on top of it helps.  So I'll look at it more.  In
>>>>>>>>>>>> the
>>>>>>>>>>>> end
>>>>>>>>>>>> I'm still going to probably have reservations about 1) a custom
>>>>>>>>>>>> XML/soap framework 2) a third party maintained later between us
>>>>>>>>>>>> and
>>>>>>>>>>>> vmware (sorta like libvirt-java always behind and incomplete
>>>>>>>>>>>> with
>>>>>>>>>>>> native libvirt).  So it just depends on if the nicer api is
>>>>>>>>>>>> worth
>>>>>>>>>>>> the
>>>>>>>>>>>> risk of the other things.  I don't think vmwares api changes
>>>>>>>>>>>> much,
>>>>>>>>>>>> and
>>>>>>>>>>>> you can always get to the generic objects so maybe my concerns
>>>>>>>>>>>> are
>>>>>>>>>>>> moot.  
>>>>>>>>>>> 
>>>>>>>>>>> Thanks, i could actually use a second pair of eyes if we want to
>>>>>>>>>>> get
>>>>>>>>>>> this into master. It would be nice to have a few people test
>>>>>>>>>>> this. I
>>>>>>>>>>> don't really share the concern on the XML/soap framework one is a
>>>>>>>>>>> good
>>>>>>>>>>> or bad as the other usually, i've seen interesting things with
>>>>>>>>>>> the
>>>>>>>>>>> axes
>>>>>>>>>>> framework as well. But thats besides the point for now. My main
>>>>>>>>>>> objective now it to get vijava working with as little changes as
>>>>>>>>>>> possible. Later we can do some refactoring and see if vijava
>>>>>>>>>>> really
>>>>>>>>>>> benefits us as much as i think/hope it will do.
>>>>>>>>>>> 
>>>>>>>>>>> Your second concern is one i share, we will have to see how it
>>>>>>>>>>> goes.
>>>>>>>>>>> Vmware doesn't really change its api that often and if it does
>>>>>>>>>>> we are
>>>>>>>>>>> generally not the early adopters of new versions of libraries.
>>>>>>>>>>> So for
>>>>>>>>>>> now we should be ok.
>>>>>>>>>>> 
>>>>>>>>>>> Hopefully we will get the vmware stuff in the redistributable
>>>>>>>>>>> build
>>>>>>>>>>> which is the primary objective here. All benefits are nice to
>>>>>>>>>>> have
>>>>>>>>>>> for
>>>>>>>>>>> future developments.
>>>>>>>>>>> 
>>>>>>>>>>> Cheers,
>>>>>>>>>>> 
>>>>>>>>>>> Hugo
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Darren
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Sep 22, 2013, at 10:14 PM, Hugo Trippaers
>>>>>>>>>>>>> <h...@trippaers.nl>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Sep 23, 2013, at 1:01 PM, Darren Shepherd
>>>>>>>>>>>>>> <darren.s.sheph...@gmail.com> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Oh, I thought the primary motivation was just to get to fully
>>>>>>>>>>>>>> open
>>>>>>>>>>>>>> source
>>>>>>>>>>>>>> and out of noredist.  I don't know enough about VMware and
>>>>>>>>>>>>>> vijava
>>>>>>>>>>>>>> so my
>>>>>>>>>>>>>> comments may be off base (everything I know about vmware
>>>>>>>>>>>>>> client is
>>>>>>>>>>>>>> based
>>>>>>>>>>>>>> off about 2 hours of googling), but my gut reaction is that
>>>>>>>>>>>>>> its
>>>>>>>>>>>>>> better to
>>>>>>>>>>>>>> stick with mainstream than use vijava.  I understand the
>>>>>>>>>>>>>> VMware
>>>>>>>>>>>>>> wsdl is a
>>>>>>>>>>>>>> complicated and weird API.  But the fact that you could drop
>>>>>>>>>>>>>> vijava
>>>>>>>>>>>>>> in real
>>>>>>>>>>>>>> quick and it mostly matches the existing illustrates that its
>>>>>>>>>>>>>> not
>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> big
>>>>>>>>>>>>>> departure from from the vmware bindings so doesn't seem to
>>>>>>>>>>>>>> make
>>>>>>>>>>>>>> consuming
>>>>>>>>>>>>>> it much easier.  It seems that vijava was better than vmware
>>>>>>>>>>>>>> sdk
>>>>>>>>>>>>>> 2.5
>>>>>>>>>>>>>> because you didn't need Apache Axis.  But vSphere 5.1 sdk is
>>>>>>>>>>>>>> based
>>>>>>>>>>>>>> off of
>>>>>>>>>>>>>> JAXWS and thus doesn't need axis anymore.  If I'm going to
>>>>>>>>>>>>>> put my
>>>>>>>>>>>>>> trust in
>>>>>>>>>>>>>> something at runtime I'd rather use the sun/oracle jaxws or
>>>>>>>>>>>>>> apache
>>>>>>>>>>>>>> CXF and
>>>>>>>>>>>>>> not some custom xml/soap framework one guy wrote.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> The drop in real quick bit is just for starters. Some of the
>>>>>>>>>>>>> enums
>>>>>>>>>>>>> have changes names and instead of lists vijava uses arrays.
>>>>>>>>>>>>> Those
>>>>>>>>>>>>> items are pretty quick to adapt. The real interesting things
>>>>>>>>>>>>> are in
>>>>>>>>>>>>> the serviceInstance etc. That's where there are some changes. A
>>>>>>>>>>>>> nice
>>>>>>>>>>>>> example is on the vijava website where 100 lines of "regular"
>>>>>>>>>>>>> vmware
>>>>>>>>>>>>> sdk is replaced by 20-something lines of vijava. I'd say dig a
>>>>>>>>>>>>> bit
>>>>>>>>>>>>> deeper and i could use the help with the conversion process.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Additionally, if somebody wants to know how to do something
>>>>>>>>>>>>>> with
>>>>>>>>>>>>>> VMware or
>>>>>>>>>>>>>> why something isn't working, I'd rather point them to the
>>>>>>>>>>>>>> VMware
>>>>>>>>>>>>>> SDK
>>>>>>>>>>>>>> documentation than vijava.  I would assume that there is
>>>>>>>>>>>>>> going to
>>>>>>>>>>>>>> be more
>>>>>>>>>>>>>> information about the VMware library then there would be for
>>>>>>>>>>>>>> vijava
>>>>>>>>>>>>>> on
>>>>>>>>>>>>>> stackoverflow and google in general.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Google it, so far you are right, but java projects are
>>>>>>>>>>>>> switching.
>>>>>>>>>>>>> Don't forget that vijava is sort of an official vmware
>>>>>>>>>>>>> project. It
>>>>>>>>>>>>> is
>>>>>>>>>>>>> being maintained by one of their engineers and actually
>>>>>>>>>>>>> published
>>>>>>>>>>>>> in
>>>>>>>>>>>>> the com.vmware namespace.
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Finally, I wouldn't consider us generating and checking in the
>>>>>>>>>>>>>> JAXWS
>>>>>>>>>>>>>> bindings as being overhead in maintenance.  The xapi bindings
>>>>>>>>>>>>>> are
>>>>>>>>>>>>>> not the
>>>>>>>>>>>>>> same thing.  VMware API is first and foremost a SOAP service.
>>>>>>>>>>>>>> The
>>>>>>>>>>>>>> java
>>>>>>>>>>>>>> bindings they provide are just a convenience in that they
>>>>>>>>>>>>>> already
>>>>>>>>>>>>>> generated
>>>>>>>>>>>>>> the client stubs for you.  But if I was to consume any other
>>>>>>>>>>>>>> SOAP
>>>>>>>>>>>>>> service
>>>>>>>>>>>>>> in the world, I would be generating my client stubs for it.
>>>>>>>>>>>>>> So
>>>>>>>>>>>>>> this is
>>>>>>>>>>>>>> just the normal approach you take to consume a webservice.
>>>>>>>>>>>>>> Typically you
>>>>>>>>>>>>>> generate the stubs as part of the build and never check-in the
>>>>>>>>>>>>>> generated
>>>>>>>>>>>>>> code to git, but I don't think we can check the vmware wsdl
>>>>>>>>>>>>>> into
>>>>>>>>>>>>>> git (if we
>>>>>>>>>>>>>> could, that would be ideal).  But basically, if I'm generating
>>>>>>>>>>>>>> stubs or I'm
>>>>>>>>>>>>>> using a java jar, its about the same overhead.  If the
>>>>>>>>>>>>>> webservice
>>>>>>>>>>>>>> moves
>>>>>>>>>>>>>> from version X, I generate new stubs against version X of the
>>>>>>>>>>>>>> wsdl.
>>>>>>>>>>>>>> If the
>>>>>>>>>>>>>> jar changes to version X, I update the pom dependency to
>>>>>>>>>>>>>> version
>>>>>>>>>>>>>> X.
>>>>>>>>>>>>>> In
>>>>>>>>>>>>>> both cases, you still have to regression test for
>>>>>>>>>>>>>> compatibility,
>>>>>>>>>>>>>> so
>>>>>>>>>>>>>> testing
>>>>>>>>>>>>>> effort trumps all other concerns.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I would seriously consider that overhead in maintenance. Now i
>>>>>>>>>>>>> don't
>>>>>>>>>>>>> even have to worry about that besides 4 lines of dependency in
>>>>>>>>>>>>> my
>>>>>>>>>>>>> maven project.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> So I'd personally like it if we just generated the stubs
>>>>>>>>>>>>>> ourself
>>>>>>>>>>>>>> and then
>>>>>>>>>>>>>> we can move VMware plugin out of redist.  I guess it would be
>>>>>>>>>>>>>> helpful if
>>>>>>>>>>>>>> you could illustrate some of the benefits of vijava.  I know
>>>>>>>>>>>>>> you
>>>>>>>>>>>>>> wanted to
>>>>>>>>>>>>>> get it working first so we could test the merits of it, I'm
>>>>>>>>>>>>>> just
>>>>>>>>>>>>>> having a
>>>>>>>>>>>>>> hard time seeing why we would even attempt it, if we can just
>>>>>>>>>>>>>> stick
>>>>>>>>>>>>>> basically with what we have today, but make it all open
>>>>>>>>>>>>>> source and
>>>>>>>>>>>>>> distributable.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Stay tuned and follow the commits :-)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Darren
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hugo
>> 

Reply via email to