This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • How To Contribute

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3


First of all, you need the Whirr source code. Checkout subversion git "trunk" using:

No Format
svngit checkoutclone httpgit:// whirr-trunk

Setting up Eclipse

Generate the Eclipse project and classpath files:

No Format
mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs

Set the (NOTE: If this fails because whirr jars aren't found in a remote repo, run mvn install first as described in the next section then retry.)

In Eclipse, set the M2_REPO classpath variable: 1.

  1. File, Preferences, Java, Build Path, Classpath Variables


  1. New
  • Name: M2_REPO
  • Path: /path/to/.m2/repository

Import Then import all projects: 1.

  1. File,


  1. Import, General,


  1. Maven, Existing Maven Projects
  2. Choose the whirr-trunk directory


  1. Choose all modules

It's also convenient to add the top-level directory as an Eclipse project too.


No Format
mvn deploy -Ppackage -Pdeploy -Pjavadoc -DaltDeploymentRepository=id::default::file:target/deploy

Running Tests

Unit Tests

You can run the unit tests, which run locally without using any cloud providers, by typing:

No Format
mvn test

Integration Tests

To run integration tests you need to have an account with a cloud provider, and you need to set the necessary credentials. In theory, Whirr runs against any provider supported by jclouds, but this hasn't been tested yet.

When running in the cloud, you can avoid problems if RAM resources are slim by setting env var:

No Format
export MAVEN_OPTS=-Xmx200m

and by running the mvn commands below like

No Format
nice -n 19 mvn of args

; when tests are run with no specified heap limit, it can result in swapping and then ssh lockout.

To only run the tests for a given service, change into the services/<service> directory and type the following. Alternatively, run this from the top level to run the tests for all services.


No Format
mvn verify -Pintegration \
  -DargLine="-Dwhirr.test.provider=<cloud-provider> -Dwhirr.test.identity=<cloud-provider-user> -Dwhirr.test.credential=<cloud-provider-secret-key>"

The property whirr.test.provider must be set on the command line as specified; it does not work to set it in the config= file.

Integration tests test the correctness of services on different providers. To test performance have a look at Running Benchmarks.


Patches should be ''attached'' to an issue report in JIRA via the '''Attach File''' link on the issue's Jira. Please note that the attachment should be granted license to ASF for inclusion in ASF works (as per the Apache License).

You can also use the Apache Review Board instance at for review, although this is optional, and you still need to attach the patch to JIRA.

When you believe that your patch is ready to be committed, select the '''Submit Patch''' link on the issue's Jira.