It's been a while, but I'll take care of the Abiquo one: There are a lot of legacy classes there, and even APIs that are out of the scope of jclouds (infrastructure management, hypervisor discovery, etc). Also, the latest Abiquo version out there is 3.0 and the provider supports up to Abiquo 2.4, which is quite old now.
My plan is to remove everything but the skeleton of the project, and start writing *only* what is needed to implement the ComputeService, to avoid the feature explosion we have right now. This way I hope we'll have a clean provider that we'll be able to promote and maintain. On 12 October 2014 00:23, Adrian Cole <adrian.f.c...@gmail.com> wrote: > Some trivia, which relates to my earlier vcloud-director note. > > According to cloc [1], our heaviest api by far is cloudstack, weighing > in at ~24K lines of java. Even adding openstack keystone (shared by > all openstack) Nova sits at ~15k lines. Interestingly, the old version > of vcloud is ~11k lines; half of the 23k lines of vcloud-director. > > Middle-of-the road folks include gogrid, softlayer, and glesys: all in > the 4k range. > > Simple (json) compute apis are even smaller. For example, joyent and > digitalocean are both <3k lines. > > While only one signal, which discounts cost of maintaining tests or > lack thereof, we can use this 2.5-25k line of code weight to help > decide what to promote. > > I'd suggest we look hard at the apis that fall at or above a 5k > watermark and be careful which we choose to promote, as these likely > will have higher maintenance that other apis even if they are stable > from a version standpoint. > > vcloud-director (incomplete) ~23k > abiquo ~13k > google-compute-engine (inc shared oauth) ~10k > cloudsigma2 ~7k > virtualbox ~6k > fgcp ~5k > > I know that google and cloudsigma2 are currently very healthy, and of > course google is really not optional. > > That said, are there any providers above we are ok to stop working > towards promotion (and instead towards deletion)? > -A > > > [1] Taken from cloc, ignoring tests, whitespace and comments. > $ (for I in */src/main/java; do echo `echo $I|sed > 's~/src/main/java~~'` `cloc $I|grep Java|grep -v script|awk '{print > $5}'`; done)|sort -k2 -n