tree 5b65b2e2670c1eba897b81aed9458eb7e81e382e
parent a439c03efcebd6fa71c8e6360f6e42e038eb7343
parent e0ecf3aea19525b2f9dbe1a61d837db546f7d6b0
author Adrian Cole <adrian@jclouds.org> 1344914955 -0700
committer Adrian Cole <adrian@jclouds.org> 1344914955 -0700

Merge branch 'master' of github.com:jclouds/jclouds into 1.5.x

* 'master' of github.com:jclouds/jclouds: (30 commits)
  Merge Keystone optional admin API provider with optional extension provider
  Added binding for optional extensions
  Make the OpenStack extension lists accessible for all APIs. Copied the Nova extension related code to the shared keystone package and added providers for extensions and aliases to all modules
  added statement to rebase dist packages
  added VAppNetworksLiveTest
  Further OpenStack extensibility changes. Fixing constructors in RestContext classes
  Fixed a possible NPE when ServiceFunctionLoader finds no OSGi service for a function.
  fixed broken test
  threading issue in test
  openstack-quantum extensibility
  openstack-swift extensibility
  openstack-glance extensibility
  openstack-nova extensibility
  openstack-keystone extensibility
  add FirstNetwork, in line with FirstRegion, etc., for use in FGCP provider
  missing class
  refactoring of smartos-ssh
  Extend the VmSpecification to allow for all the extra memory settings.
  Issue 1067:update to guava 13
  removed invalid @Nullable usage and also usage of javax package usage
  ...
