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 >>>