Question

I have installed jclouds and I am trying to learn how it works internally.

I read all the documentation on the site and on the github but still I have lot of questions about the architecture and implementation of the jClouds.

Do you know where I can find documentation about the deep technical implementation of the framework? I am also looking information on how to add a new provider( for blobstore service)

Currently I am looking into the code but it s not always straightforward what the code does.

Was it helpful?

Solution

The best thing to do is send an email to our dev list. You can subscribe by emailing jclouds-dev-subscribe@apache.org. You can also find us on IRC at #jclouds on freenode.

Adding a new provider is quite an important change for jclouds. The first thing you'll want to do is review How To Contribute. We need to make sure it will work properly and we'll be able to properly test it so don't be discouraged by the reviews.

Having said this, a number of general considerations to take into account when starting a new provider:

  • New providers are added in labs first, until they are stable.
  • To follow the jclouds style, use a 3 space indent and a 120 character line length.
  • We use Guava as our core library. Try to use its utilities before adding new dependencies. In general, do not add dependencies before consulting our dev@ list.
  • We require both live and mock tests. "mock" tests verify that the api generates the expected request according to the method annotations, and that the response is properly parsed. We use MockWebServer to do that, and you can take a look at the MockTests classes in the openstack-swift api to see an example of how these tests work.

Often the best thing to do is to copy the entire directory structure of one of the existing apis or providers and delete everything that you don't need but keep some of the files around in each directory to server as an example of how to do things. You can rename those classes and start your work from there.

Which api or provider should you choose to use as an example for your work? It depends! Please email us on our dev@ list to describe the work your doing and we will recommend one. The earlier you get engaged with the jclouds community, the easier the whole process will be.

Good luck!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top