Hi devs!

I've been having a look at the vSphere pull request [1], and wanted to
share some challenges it presents, and hopefully come with an
integration plan.

The issue with licensing has already been fixed, but there is one
think I commented in one of the lasts comments about how the HTTP
calls are made to the vSphere hosts: the PR uses the "vijava" library
instead of the existing jclouds mechanisms to generate the requests,
which we should avoid. jclouds is not just about portability but about
consistent patterns to address similar problems. That's why in my last
comments I said that in order to get the PR merged, the vijava
dependency should be removed.


Thinking a bit more about it, I realized that:

* The vSphere api is huge and being realistic, even with our help, it
is unlikely that we can implement the vSphere API in a way that is
useful in a reasonable amount of time. Furthermore, if this is a
provider that gets interest from the community we want to make sure it
is complete and well implemented or we can expect a considerable
amount of issues or feature requests that may never be
fixed/developed.

* There is a precedent of a provider in labs that does not use the
jclouds HTTP features: virtualbox. It is still in labs and out of
date, but the fact that it is there prevents us from saying the
vSphere one can't be merged just because it uses vijava. I would be OK
to merge it in jclouds-labs, but don't promote it to the main repo
until the vijava dependency is removed.

* The vijava open source api is being deprecated [2]. It's author is
working on a commercial version and it is unlikely that the vijava
open source library will get improvements or fixes. We can not promote
the project or move it out of the labs/sandbox/whatever if it uses
this library: if someday an issue that blocks us is found there, then
we would be in trouble.


So, given this thoughts, even if it uses vijava I'd propose to merge
the PR to the jclouds-abs repo (after the corresponding review of the
code), but making it clear that the provider won't be promoted unless
the dependency is removed.


What are your thoughts on this?

Thanks,

I.




[1] https://github.com/jclouds/jclouds-labs/pull/61
[2] 
http://www.doublecloud.org/2014/01/announcing-vijavang-much-lighter-and-faster-with-commercial-license-and-support/

Reply via email to