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