You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/01/15 14:06:58 UTC

[2/2] jclouds-labs-openstack git commit: Add support for Keystone V3

Add support for Keystone V3


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/commit/d939ead5
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/tree/d939ead5
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/diff/d939ead5

Branch: refs/heads/keystonev3
Commit: d939ead58ea6dc4796876432754c70e83ac71482
Parents: 660f10f
Author: Ignasi Barrera <na...@apache.org>
Authored: Mon Jan 15 15:06:02 2018 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Mon Jan 15 15:06:02 2018 +0100

----------------------------------------------------------------------
 .gitignore                                      |  2 ++
 .../glance/v1_0/GlanceApiMetadata.java          | 18 +++++++------
 .../glance/v1_0/features/ImageApi.java          |  2 +-
 .../v1_0/internal/BaseGlanceApiLiveTest.java    |  2 +-
 .../openstack/heat/v1/HeatApiMetadata.java      | 18 +++++++------
 .../openstack/heat/v1/features/ResourceApi.java |  2 +-
 .../openstack/heat/v1/features/StackApi.java    |  2 +-
 .../openstack/heat/v1/features/TemplateApi.java |  2 +-
 .../heat/v1/internal/BaseHeatApiLiveTest.java   |  2 +-
 .../marconi/v1/MarconiApiMetadata.java          | 18 +++++++------
 .../openstack/marconi/v1/features/ClaimApi.java |  2 +-
 .../marconi/v1/features/MessageApi.java         |  2 +-
 .../openstack/marconi/v1/features/QueueApi.java |  2 +-
 .../v1/internal/BaseMarconiApiLiveTest.java     |  9 ++++---
 .../neutron/v2/NeutronApiMetadata.java          | 18 +++++++------
 .../neutron/v2/extensions/FWaaSApi.java         |  2 +-
 .../neutron/v2/extensions/FloatingIPApi.java    |  2 +-
 .../neutron/v2/extensions/RouterApi.java        |  2 +-
 .../v2/extensions/lbaas/v1/LBaaSApi.java        |  2 +-
 .../neutron/v2/features/NetworkApi.java         |  2 +-
 .../openstack/neutron/v2/features/PortApi.java  | 28 +++++++++++---------
 .../neutron/v2/features/SecurityGroupApi.java   |  2 +-
 .../neutron/v2/features/SubnetApi.java          | 28 +++++++++++---------
 .../v2/internal/BaseNeutronApiLiveTest.java     |  6 ++---
 .../v2/internal/BaseNeutronApiMockTest.java     |  6 ++---
 .../jclouds/openstack/poppy/v1/PoppyApi.java    |  2 +-
 .../openstack/poppy/v1/PoppyApiMetadata.java    | 18 +++++++------
 .../openstack/poppy/v1/features/FlavorApi.java  |  2 +-
 .../openstack/poppy/v1/features/ServiceApi.java |  2 +-
 .../poppy/v1/internal/BasePoppyApiLiveTest.java |  2 +-
 .../poppy/v1/internal/BasePoppyApiMockTest.java |  4 +--
 .../uk/AutoscaleUKProviderMetadata.java         | 12 +++++----
 .../us/AutoscaleUSProviderMetadata.java         | 12 +++++----
 .../us/v1/AutoscaleUSProviderMetadata.java      | 12 +++++----
 .../autoscale/v1/AutoscaleApiMetadata.java      | 16 ++++++-----
 .../v1/config/AutoscaleHttpApiModule.java       | 21 ++++++++++++---
 .../autoscale/v1/features/GroupApi.java         |  2 +-
 .../autoscale/v1/features/PolicyApi.java        |  2 +-
 .../autoscale/v1/features/WebhookApi.java       |  2 +-
 .../v1/internal/BaseAutoscaleApiLiveTest.java   |  2 +-
 .../v1/internal/BaseAutoscaleApiMockTest.java   |  8 +++---
 .../v1/internal/BaseAutoscaleExpectTest.java    |  1 +
 .../rackspace/cdn/uk/CDNUKProviderMetadata.java | 12 +++++----
 .../rackspace/cdn/us/CDNUSProviderMetadata.java | 12 +++++----
 .../us/v1/CloudBigDataUSProviderMetadata.java   | 12 +++++----
 .../v1/CloudBigDataApiMetadata.java             | 16 ++++++-----
 .../v1/config/CloudBigDataHttpApiModule.java    | 21 ++++++++++++---
 .../cloudbigdata/v1/features/ClusterApi.java    |  2 +-
 .../cloudbigdata/v1/features/ProfileApi.java    |  2 +-
 .../internal/BaseCloudBigDataApiLiveTest.java   |  2 +-
 .../internal/BaseCloudBigDataApiMockTest.java   |  8 +++---
 .../uk/CloudNetworksUKProviderMetadata.java     | 12 +++++----
 .../us/CloudNetworksUSProviderMetadata.java     | 12 +++++----
 .../uk/CloudQueuesUKProviderMetadata.java       | 12 +++++----
 .../us/CloudQueuesUSProviderMetadata.java       | 12 +++++----
 .../uk/OrchestrationUKProviderMetadata.java     | 12 +++++----
 .../us/OrchestrationUSProviderMetadata.java     | 12 +++++----
 57 files changed, 266 insertions(+), 194 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 3242d22..8c20bff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ TAGS
 atlassian-ide-plugin.xml
 .DS_Store
 .java-version
+.factorypath
+.apt_generated

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/GlanceApiMetadata.java
----------------------------------------------------------------------
diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/GlanceApiMetadata.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/GlanceApiMetadata.java
index 8a541f1..7fb4983 100644
--- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/GlanceApiMetadata.java
+++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/GlanceApiMetadata.java
@@ -16,18 +16,19 @@
  */
 package org.jclouds.openstack.glance.v1_0;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
 import org.jclouds.openstack.glance.v1_0.config.GlanceHttpApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.auth.config.AuthenticationModule;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.openstack.v2_0.ServiceType;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
 
@@ -58,6 +59,7 @@ public class GlanceApiMetadata extends BaseHttpApiMetadata<GlanceApi> {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, ServiceType.IMAGE);
       properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");      
       return properties;
    }
 
@@ -74,8 +76,8 @@ public class GlanceApiMetadata extends BaseHttpApiMetadata<GlanceApi> {
          .defaultEndpoint("http://localhost:5000/v2.0/")
          .defaultProperties(GlanceApiMetadata.defaultProperties())
          .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                                     .add(AuthenticationApiModule.class)
-                                     .add(KeystoneAuthenticationModule.class)
+                                     .add(AuthenticationModule.class)
+                                     .add(ServiceCatalogModule.class)
                                      .add(RegionModule.class)
                                      .add(GlanceHttpApiModule.class).build());
       }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java
----------------------------------------------------------------------
diff --git a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java
index 9e6efd5..64008a7 100644
--- a/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java
+++ b/openstack-glance/src/main/java/org/jclouds/openstack/glance/v1_0/features/ImageApi.java
@@ -47,8 +47,8 @@ import org.jclouds.openstack.glance.v1_0.functions.internal.ParseImages;
 import org.jclouds.openstack.glance.v1_0.options.CreateImageOptions;
 import org.jclouds.openstack.glance.v1_0.options.ListImageOptions;
 import org.jclouds.openstack.glance.v1_0.options.UpdateImageOptions;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.v2_0.domain.PaginatedCollection;
 import org.jclouds.rest.annotations.Fallback;
 import org.jclouds.rest.annotations.RequestFilters;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/internal/BaseGlanceApiLiveTest.java
----------------------------------------------------------------------
diff --git a/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/internal/BaseGlanceApiLiveTest.java b/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/internal/BaseGlanceApiLiveTest.java
index 38d41bd..0fb824a 100644
--- a/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/internal/BaseGlanceApiLiveTest.java
+++ b/openstack-glance/src/test/java/org/jclouds/openstack/glance/v1_0/internal/BaseGlanceApiLiveTest.java
@@ -20,7 +20,7 @@ import java.util.Properties;
 
 import org.jclouds.apis.BaseApiLiveTest;
 import org.jclouds.openstack.glance.v1_0.GlanceApi;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/HeatApiMetadata.java
----------------------------------------------------------------------
diff --git a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/HeatApiMetadata.java b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/HeatApiMetadata.java
index e31b3ed..0524712 100644
--- a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/HeatApiMetadata.java
+++ b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/HeatApiMetadata.java
@@ -16,18 +16,19 @@
  */
 package org.jclouds.openstack.heat.v1;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
 import org.jclouds.openstack.heat.v1.config.HeatHttpApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.auth.config.AuthenticationModule;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
 
 import com.google.auto.service.AutoService;
@@ -57,6 +58,7 @@ public class HeatApiMetadata extends BaseHttpApiMetadata<HeatApi> {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, "orchestration");
       properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");
       return properties;
    }
 
@@ -73,8 +75,8 @@ public class HeatApiMetadata extends BaseHttpApiMetadata<HeatApi> {
          .defaultEndpoint("http://localhost:5000/v2.0/")
          .defaultProperties(HeatApiMetadata.defaultProperties())
          .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                           .add(AuthenticationApiModule.class)
-                           .add(KeystoneAuthenticationModule.class)
+                           .add(AuthenticationModule.class)
+                           .add(ServiceCatalogModule.class)
                            .add(RegionModule.class)
                            .add(HeatHttpApiModule.class).build());
       }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/ResourceApi.java
----------------------------------------------------------------------
diff --git a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/ResourceApi.java b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/ResourceApi.java
index a1391b3..5758d76 100644
--- a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/ResourceApi.java
+++ b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/ResourceApi.java
@@ -25,7 +25,7 @@ import javax.ws.rs.Path;
 import javax.ws.rs.core.MediaType;
 
 import org.jclouds.Fallbacks.EmptyListOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rest.annotations.Fallback;
 import org.jclouds.rest.annotations.RequestFilters;
 import org.jclouds.rest.annotations.SelectJson;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/StackApi.java
----------------------------------------------------------------------
diff --git a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/StackApi.java b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/StackApi.java
index c7fadc0..0d47fac 100644
--- a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/StackApi.java
+++ b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/StackApi.java
@@ -40,7 +40,7 @@ import org.jclouds.openstack.heat.v1.domain.Template;
 import org.jclouds.openstack.heat.v1.options.CreateStack;
 import org.jclouds.openstack.heat.v1.options.ListStackOptions;
 import org.jclouds.openstack.heat.v1.options.UpdateStack;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rest.annotations.BinderParam;
 import org.jclouds.rest.annotations.Fallback;
 import org.jclouds.rest.annotations.RequestFilters;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/TemplateApi.java
----------------------------------------------------------------------
diff --git a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/TemplateApi.java b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/TemplateApi.java
index 6c2234a..764e565 100644
--- a/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/TemplateApi.java
+++ b/openstack-heat/src/main/java/org/jclouds/openstack/heat/v1/features/TemplateApi.java
@@ -27,7 +27,7 @@ import javax.ws.rs.core.MediaType;
 
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.openstack.heat.v1.domain.Template;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rest.annotations.Fallback;
 import org.jclouds.rest.annotations.Payload;
 import org.jclouds.rest.annotations.PayloadParam;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/internal/BaseHeatApiLiveTest.java
----------------------------------------------------------------------
diff --git a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/internal/BaseHeatApiLiveTest.java b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/internal/BaseHeatApiLiveTest.java
index 1887024..c61b848 100644
--- a/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/internal/BaseHeatApiLiveTest.java
+++ b/openstack-heat/src/test/java/org/jclouds/openstack/heat/v1/internal/BaseHeatApiLiveTest.java
@@ -20,7 +20,7 @@ import java.util.Properties;
 
 import org.jclouds.apis.BaseApiLiveTest;
 import org.jclouds.openstack.heat.v1.HeatApi;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.testng.annotations.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/MarconiApiMetadata.java
----------------------------------------------------------------------
diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/MarconiApiMetadata.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/MarconiApiMetadata.java
index db47440..81e26c7 100644
--- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/MarconiApiMetadata.java
+++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/MarconiApiMetadata.java
@@ -16,18 +16,19 @@
  */
 package org.jclouds.openstack.marconi.v1;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
 import org.jclouds.http.okhttp.config.OkHttpCommandExecutorServiceModule;
-import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.auth.config.AuthenticationModule;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.openstack.marconi.v1.config.MarconiHttpApiModule;
 import org.jclouds.openstack.marconi.v1.config.MarconiTypeAdapters;
 import org.jclouds.openstack.v2_0.ServiceType;
@@ -60,6 +61,7 @@ public class MarconiApiMetadata extends BaseHttpApiMetadata<MarconiApi> {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, ServiceType.MESSAGING);
       properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       return properties;
    }
@@ -77,8 +79,8 @@ public class MarconiApiMetadata extends BaseHttpApiMetadata<MarconiApi> {
          .defaultEndpoint("http://localhost:5000/v2.0/")
          .defaultProperties(MarconiApiMetadata.defaultProperties())
          .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                                     .add(AuthenticationApiModule.class)
-                                     .add(KeystoneAuthenticationModule.class)
+                                     .add(AuthenticationModule.class)
+                                     .add(ServiceCatalogModule.class)
                                      .add(OkHttpCommandExecutorServiceModule.class)
                                      .add(RegionModule.class)
                                      .add(MarconiTypeAdapters.class)

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java
----------------------------------------------------------------------
diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java
index 8bf93f1..39c1f52 100644
--- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java
+++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java
@@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.marconi.v1.domain.Claim;
 import org.jclouds.openstack.marconi.v1.domain.Message;
 import org.jclouds.openstack.marconi.v1.functions.ParseClaim;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/MessageApi.java
----------------------------------------------------------------------
diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/MessageApi.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/MessageApi.java
index 5eb070e..5e80aa7 100644
--- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/MessageApi.java
+++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/MessageApi.java
@@ -32,8 +32,8 @@ import org.jclouds.Fallbacks.EmptyListOnNotFoundOr404;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.marconi.v1.binders.BindIdsToQueryParam;
 import org.jclouds.openstack.marconi.v1.domain.CreateMessage;
 import org.jclouds.openstack.marconi.v1.domain.Message;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/QueueApi.java
----------------------------------------------------------------------
diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/QueueApi.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/QueueApi.java
index f8c60e6..4aa094b 100644
--- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/QueueApi.java
+++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/QueueApi.java
@@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType;
 import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.marconi.v1.domain.Queue;
 import org.jclouds.openstack.marconi.v1.domain.QueueStats;
 import org.jclouds.openstack.marconi.v1.domain.Queues;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-marconi/src/test/java/org/jclouds/openstack/marconi/v1/internal/BaseMarconiApiLiveTest.java
----------------------------------------------------------------------
diff --git a/openstack-marconi/src/test/java/org/jclouds/openstack/marconi/v1/internal/BaseMarconiApiLiveTest.java b/openstack-marconi/src/test/java/org/jclouds/openstack/marconi/v1/internal/BaseMarconiApiLiveTest.java
index 11b7001..59e1d09 100644
--- a/openstack-marconi/src/test/java/org/jclouds/openstack/marconi/v1/internal/BaseMarconiApiLiveTest.java
+++ b/openstack-marconi/src/test/java/org/jclouds/openstack/marconi/v1/internal/BaseMarconiApiLiveTest.java
@@ -16,14 +16,15 @@
  */
 package org.jclouds.openstack.marconi.v1.internal;
 
-import com.google.common.collect.Sets;
+import java.util.Properties;
+import java.util.Set;
+
 import org.jclouds.apis.BaseApiLiveTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.jclouds.openstack.marconi.v1.MarconiApi;
 import org.testng.annotations.BeforeClass;
 
-import java.util.Properties;
-import java.util.Set;
+import com.google.common.collect.Sets;
 
 public class BaseMarconiApiLiveTest extends BaseApiLiveTest<MarconiApi> {
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApiMetadata.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApiMetadata.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApiMetadata.java
index fec4e6a..1487af0 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApiMetadata.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/NeutronApiMetadata.java
@@ -16,17 +16,18 @@
  */
 package org.jclouds.openstack.neutron.v2;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
-import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.auth.config.AuthenticationModule;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.openstack.neutron.v2.config.NeutronHttpApiModule;
 import org.jclouds.openstack.v2_0.ServiceType;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
@@ -59,6 +60,7 @@ public class NeutronApiMetadata extends BaseHttpApiMetadata<NeutronApi> {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, ServiceType.NETWORK);
       properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");
       return properties;
    }
 
@@ -76,8 +78,8 @@ public class NeutronApiMetadata extends BaseHttpApiMetadata<NeutronApi> {
             .defaultEndpoint("http://localhost:5000/v2.0/")
             .defaultProperties(NeutronApiMetadata.defaultProperties())
             .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-               .add(AuthenticationApiModule.class)
-               .add(KeystoneAuthenticationModule.class)
+               .add(AuthenticationModule.class)
+               .add(ServiceCatalogModule.class)
                .add(RegionModule.class)
                .add(NeutronHttpApiModule.class).build());
       }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApi.java
index 35307b1..a4f45db 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FWaaSApi.java
@@ -31,8 +31,8 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.CreateFirewall;
 import org.jclouds.openstack.neutron.v2.domain.CreateFirewallPolicy;
 import org.jclouds.openstack.neutron.v2.domain.CreateFirewallRule;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java
index ffd5c9e..a00bc04 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/FloatingIPApi.java
@@ -31,7 +31,7 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.FloatingIP;
 import org.jclouds.openstack.neutron.v2.domain.FloatingIPs;
 import org.jclouds.openstack.neutron.v2.fallbacks.EmptyFloatingIPsFallback;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java
index b79553d..383c70e 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/RouterApi.java
@@ -31,7 +31,7 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.Router;
 import org.jclouds.openstack.neutron.v2.domain.RouterInterface;
 import org.jclouds.openstack.neutron.v2.domain.Routers;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApi.java
index 6f6d767..f67c6e3 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/extensions/lbaas/v1/LBaaSApi.java
@@ -32,7 +32,7 @@ import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.HealthMonitor;
 import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.HealthMonitors;
 import org.jclouds.openstack.neutron.v2.domain.lbaas.v1.Member;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/NetworkApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/NetworkApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/NetworkApi.java
index 2706517..af908fc 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/NetworkApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/NetworkApi.java
@@ -31,7 +31,7 @@ import org.jclouds.Fallbacks;
 import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.Network;
 import org.jclouds.openstack.neutron.v2.domain.Networks;
 import org.jclouds.openstack.neutron.v2.fallbacks.EmptyNetworksFallback;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/PortApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/PortApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/PortApi.java
index 3797810..3cd0e35 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/PortApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/PortApi.java
@@ -16,13 +16,23 @@
  */
 package org.jclouds.openstack.neutron.v2.features;
 
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
+import java.util.List;
+
+import javax.inject.Named;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.core.MediaType;
+
 import org.jclouds.Fallbacks;
 import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.Port;
 import org.jclouds.openstack.neutron.v2.domain.Ports;
 import org.jclouds.openstack.neutron.v2.fallbacks.EmptyPortsFallback;
@@ -36,16 +46,8 @@ import org.jclouds.rest.annotations.SelectJson;
 import org.jclouds.rest.annotations.Transform;
 import org.jclouds.rest.annotations.WrapWith;
 
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.core.MediaType;
-import java.util.List;
+import com.google.common.annotations.Beta;
+import com.google.common.collect.FluentIterable;
 
 /**
  * Provides access to Port operations for the OpenStack Networking (Neutron) v2 API.

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApi.java
index 4b9803c..3646c17 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SecurityGroupApi.java
@@ -30,7 +30,7 @@ import org.jclouds.Fallbacks;
 import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.Rule;
 import org.jclouds.openstack.neutron.v2.domain.Rules;
 import org.jclouds.openstack.neutron.v2.domain.SecurityGroup;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SubnetApi.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SubnetApi.java b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SubnetApi.java
index ffb7dcd..62fa7bb 100644
--- a/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SubnetApi.java
+++ b/openstack-neutron/src/main/java/org/jclouds/openstack/neutron/v2/features/SubnetApi.java
@@ -16,12 +16,24 @@
  */
 package org.jclouds.openstack.neutron.v2.features;
 
-import com.google.common.collect.FluentIterable;
+import java.util.List;
+
+import javax.inject.Named;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
 import org.jclouds.Fallbacks;
 import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.neutron.v2.domain.Subnet;
 import org.jclouds.openstack.neutron.v2.domain.Subnets;
 import org.jclouds.openstack.neutron.v2.fallbacks.EmptySubnetsFallback;
@@ -35,17 +47,7 @@ import org.jclouds.rest.annotations.SelectJson;
 import org.jclouds.rest.annotations.Transform;
 import org.jclouds.rest.annotations.WrapWith;
 
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import java.util.List;
+import com.google.common.collect.FluentIterable;
 
 /**
  * Provides access to Subnet operations for the OpenStack Networking (Neutron) v2 API.

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiLiveTest.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiLiveTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiLiveTest.java
index f220a92..eb31a70 100644
--- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiLiveTest.java
+++ b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiLiveTest.java
@@ -16,13 +16,13 @@
  */
 package org.jclouds.openstack.neutron.v2.internal;
 
+import java.util.Properties;
+
 import org.jclouds.apis.BaseApiLiveTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.jclouds.openstack.neutron.v2.NeutronApi;
 import org.testng.annotations.Test;
 
-import java.util.Properties;
-
 /**
  * Tests behavior of {@code NeutronApi}
  *

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiMockTest.java
----------------------------------------------------------------------
diff --git a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiMockTest.java b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiMockTest.java
index d180e55..be7d245 100644
--- a/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiMockTest.java
+++ b/openstack-neutron/src/test/java/org/jclouds/openstack/neutron/v2/internal/BaseNeutronApiMockTest.java
@@ -16,12 +16,12 @@
  */
 package org.jclouds.openstack.neutron.v2.internal;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
 import org.jclouds.openstack.neutron.v2.NeutronApi;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApi.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApi.java b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApi.java
index 6f011f5..04caf4f 100644
--- a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApi.java
+++ b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApi.java
@@ -24,7 +24,7 @@ import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.core.MediaType;
 
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.poppy.v1.config.CDN;
 import org.jclouds.openstack.poppy.v1.fallbacks.PoppyFallbacks.FalseOn500or503;
 import org.jclouds.openstack.poppy.v1.features.FlavorApi;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApiMetadata.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApiMetadata.java b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApiMetadata.java
index b5e9a44..3c00bb1 100644
--- a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApiMetadata.java
+++ b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/PoppyApiMetadata.java
@@ -16,18 +16,19 @@
  */
 package org.jclouds.openstack.poppy.v1;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
 import org.jclouds.http.okhttp.config.OkHttpCommandExecutorServiceModule;
-import org.jclouds.openstack.keystone.v2_0.config.AuthenticationApiModule;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ProviderModule;
+import org.jclouds.openstack.keystone.auth.config.AuthenticationModule;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.ProviderModule;
 import org.jclouds.openstack.poppy.v1.config.PoppyHttpApiModule;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
 
@@ -58,6 +59,7 @@ public class PoppyApiMetadata extends BaseHttpApiMetadata<PoppyApi> {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, "cdn");
       properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");
       return properties;
    }
 
@@ -74,8 +76,8 @@ public class PoppyApiMetadata extends BaseHttpApiMetadata<PoppyApi> {
          .defaultEndpoint("http://localhost:5000/v2.0/")
          .defaultProperties(PoppyApiMetadata.defaultProperties())
          .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                           .add(AuthenticationApiModule.class)
-                           .add(KeystoneAuthenticationModule.class)
+                           .add(AuthenticationModule.class)
+                           .add(ServiceCatalogModule.class)
                            .add(OkHttpCommandExecutorServiceModule.class)
                            .add(ProviderModule.class)
                            .add(PoppyHttpApiModule.class).build());

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/FlavorApi.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/FlavorApi.java b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/FlavorApi.java
index 5e498ba..fc4561e 100644
--- a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/FlavorApi.java
+++ b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/FlavorApi.java
@@ -26,7 +26,7 @@ import javax.ws.rs.core.MediaType;
 import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.poppy.v1.config.CDN;
 import org.jclouds.openstack.poppy.v1.domain.Flavor;
 import org.jclouds.rest.annotations.Endpoint;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/ServiceApi.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/ServiceApi.java b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/ServiceApi.java
index dfc86de..b6dcbd8 100644
--- a/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/ServiceApi.java
+++ b/openstack-poppy/src/main/java/org/jclouds/openstack/poppy/v1/features/ServiceApi.java
@@ -34,8 +34,8 @@ import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.collect.PagedIterable;
 import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.openstack.keystone.v2_0.KeystoneFallbacks.EmptyPaginatedCollectionOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
 import org.jclouds.openstack.poppy.v1.config.CDN;
 import org.jclouds.openstack.poppy.v1.domain.CreateService;
 import org.jclouds.openstack.poppy.v1.domain.Service;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiLiveTest.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiLiveTest.java b/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiLiveTest.java
index 10d3acd..6d72d09 100644
--- a/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiLiveTest.java
+++ b/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiLiveTest.java
@@ -19,7 +19,7 @@ package org.jclouds.openstack.poppy.v1.internal;
 import java.util.Properties;
 
 import org.jclouds.apis.BaseApiLiveTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.jclouds.openstack.poppy.v1.PoppyApi;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiMockTest.java
----------------------------------------------------------------------
diff --git a/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiMockTest.java b/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiMockTest.java
index c57a5e1..4f805d1 100644
--- a/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiMockTest.java
+++ b/openstack-poppy/src/test/java/org/jclouds/openstack/poppy/v1/internal/BasePoppyApiMockTest.java
@@ -16,11 +16,11 @@
  */
 package org.jclouds.openstack.poppy.v1.internal;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
 
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
+import org.jclouds.openstack.keystone.auth.config.CredentialTypes;
 import org.jclouds.openstack.poppy.v1.PoppyApi;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale-uk/src/main/java/org/jclouds/rackspace/autoscale/uk/AutoscaleUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale-uk/src/main/java/org/jclouds/rackspace/autoscale/uk/AutoscaleUKProviderMetadata.java b/rackspace-autoscale-uk/src/main/java/org/jclouds/rackspace/autoscale/uk/AutoscaleUKProviderMetadata.java
index e4e688e..4737430 100644
--- a/rackspace-autoscale-uk/src/main/java/org/jclouds/rackspace/autoscale/uk/AutoscaleUKProviderMetadata.java
+++ b/rackspace-autoscale-uk/src/main/java/org/jclouds/rackspace/autoscale/uk/AutoscaleUKProviderMetadata.java
@@ -19,20 +19,21 @@ package org.jclouds.rackspace.autoscale.uk;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApiMetadata;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleHttpApiModule;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleParserModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -67,6 +68,7 @@ public class AutoscaleUKProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.AUTO_SCALE);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       properties.setProperty(PROPERTY_REGIONS, "LON");
       properties.setProperty(PROPERTY_REGION + ".LON." + ISO3166_CODES, "GB-SLG");
@@ -86,8 +88,8 @@ public class AutoscaleUKProviderMetadata extends BaseProviderMetadata {
                .documentation(URI.create("http://docs.rackspace.com/cas/api/v1.0/autoscale-devguide/content/Overview.html"))
                .version("1.0")
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(RegionModule.class)
                      .add(AutoscaleParserModule.class)
                      .add(AutoscaleHttpApiModule.class)

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/AutoscaleUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/AutoscaleUSProviderMetadata.java b/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/AutoscaleUSProviderMetadata.java
index bacdea5..aeaf539 100644
--- a/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/AutoscaleUSProviderMetadata.java
+++ b/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/AutoscaleUSProviderMetadata.java
@@ -19,20 +19,21 @@ package org.jclouds.rackspace.autoscale.us;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApiMetadata;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleHttpApiModule;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleParserModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -67,6 +68,7 @@ public class AutoscaleUSProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.AUTO_SCALE);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       properties.setProperty(PROPERTY_REGIONS, "ORD,DFW,IAD,SYD,HKG");
       properties.setProperty(PROPERTY_REGION + ".ORD." + ISO3166_CODES, "US-IL");
@@ -91,8 +93,8 @@ public class AutoscaleUSProviderMetadata extends BaseProviderMetadata {
                .documentation(URI.create("http://docs.rackspace.com/cas/api/v1.0/autoscale-devguide/content/Overview.html"))
                .version("1.0")
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(RegionModule.class)
                      .add(AutoscaleParserModule.class)
                      .add(AutoscaleHttpApiModule.class)

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/v1/AutoscaleUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/v1/AutoscaleUSProviderMetadata.java b/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/v1/AutoscaleUSProviderMetadata.java
index 1cc53e6..dfd843a 100644
--- a/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/v1/AutoscaleUSProviderMetadata.java
+++ b/rackspace-autoscale-us/src/main/java/org/jclouds/rackspace/autoscale/us/v1/AutoscaleUSProviderMetadata.java
@@ -19,20 +19,21 @@ package org.jclouds.rackspace.autoscale.us.v1;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApiMetadata;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleHttpApiModule;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleParserModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -69,6 +70,7 @@ public class AutoscaleUSProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.AUTO_SCALE);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       properties.setProperty(PROPERTY_REGIONS, "ORD,DFW,IAD,SYD,HKG");
       properties.setProperty(PROPERTY_REGION + ".ORD." + ISO3166_CODES, "US-IL");
@@ -93,8 +95,8 @@ public class AutoscaleUSProviderMetadata extends BaseProviderMetadata {
                .documentation(URI.create("http://docs.rackspace.com/cas/api/v1.0/autoscale-devguide/content/Overview.html"))
                .version("1.0")
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(RegionModule.class)
                      .add(AutoscaleParserModule.class)
                      .add(AutoscaleHttpApiModule.class)

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/AutoscaleApiMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/AutoscaleApiMetadata.java b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/AutoscaleApiMetadata.java
index 3161f81..7abde0e 100644
--- a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/AutoscaleApiMetadata.java
+++ b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/AutoscaleApiMetadata.java
@@ -16,20 +16,21 @@
  */
 package org.jclouds.rackspace.autoscale.v1;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
 import org.jclouds.apis.ApiMetadata;
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleHttpApiModule;
 import org.jclouds.rackspace.autoscale.v1.config.AutoscaleParserModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 import org.jclouds.rest.internal.BaseHttpApiMetadata;
 
 import com.google.auto.service.AutoService;
@@ -60,7 +61,8 @@ public class AutoscaleApiMetadata extends BaseHttpApiMetadata<AutoscaleApi> {
    public static Properties defaultProperties() {
       Properties properties = BaseHttpApiMetadata.defaultProperties();
       properties.setProperty(SERVICE_TYPE, ServiceType.AUTO_SCALE);
-      properties.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
+      properties.setProperty(KEYSTONE_VERSION, "2");
       return properties;
    }
 
@@ -77,8 +79,8 @@ public class AutoscaleApiMetadata extends BaseHttpApiMetadata<AutoscaleApi> {
          .defaultEndpoint("http://localhost:5000/v2.0/")
          .defaultProperties(AutoscaleApiMetadata.defaultProperties())
          .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-               .add(CloudIdentityAuthenticationApiModule.class)
                .add(CloudIdentityAuthenticationModule.class)
+               .add(ServiceCatalogModule.class)
                .add(RegionModule.class)
                .add(AutoscaleParserModule.class)
                .add(AutoscaleHttpApiModule.class)

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/config/AutoscaleHttpApiModule.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/config/AutoscaleHttpApiModule.java b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/config/AutoscaleHttpApiModule.java
index 7c32ce8..3a43d29 100644
--- a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/config/AutoscaleHttpApiModule.java
+++ b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/config/AutoscaleHttpApiModule.java
@@ -24,8 +24,10 @@ import org.jclouds.http.HttpErrorHandler;
 import org.jclouds.http.annotation.ClientError;
 import org.jclouds.http.annotation.Redirection;
 import org.jclouds.http.annotation.ServerError;
+import org.jclouds.openstack.keystone.auth.domain.AuthInfo;
 import org.jclouds.openstack.keystone.v2_0.domain.Access;
 import org.jclouds.openstack.keystone.v2_0.domain.Tenant;
+import org.jclouds.openstack.keystone.v3.domain.Token;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApi;
 import org.jclouds.rackspace.autoscale.v1.handlers.AutoscaleErrorHandler;
 import org.jclouds.rest.ConfiguresHttpApi;
@@ -64,14 +66,25 @@ public class AutoscaleHttpApiModule extends HttpApiModule<AutoscaleApi> {
    }
 
    @Provides
-   Supplier<Optional<Tenant>> supplyTenant(Supplier<Access> access) {
+   Supplier<Optional<String>> supplyTenant(Supplier<AuthInfo> access) {
       return Suppliers.compose(GetTenant.INSTANCE, access);
    }
 
-   private static enum GetTenant implements Function<Access, Optional<Tenant>> {
+   private static enum GetTenant implements Function<AuthInfo, Optional<String>> {
       INSTANCE;
-      public Optional<Tenant> apply(Access in){
-         return in.getToken().getTenant();
+      public Optional<String> apply(AuthInfo in){
+         if (in instanceof Access) {
+            return Access.class.cast(in).getToken().getTenant().transform(new Function<Tenant, String>() {
+               @Override
+               public String apply(Tenant input) {
+                  return input.getId();
+               }
+            });
+         } else if (in instanceof Token) {
+            // FIXME: What if user authenticated scoped to another project?
+            return Optional.of(Token.class.cast(in).user().defaultProjectId());
+         }
+         return Optional.absent();
       }
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/GroupApi.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/GroupApi.java b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/GroupApi.java
index eb5d3eb..e295581 100644
--- a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/GroupApi.java
+++ b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/GroupApi.java
@@ -32,7 +32,7 @@ import javax.ws.rs.core.MediaType;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rackspace.autoscale.v1.binders.BindCreateGroupToJson;
 import org.jclouds.rackspace.autoscale.v1.binders.BindLaunchConfigurationToJson;
 import org.jclouds.rackspace.autoscale.v1.binders.BindToGroupConfigurationRequestPayload;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/PolicyApi.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/PolicyApi.java b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/PolicyApi.java
index 92e428c..dbdd232 100644
--- a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/PolicyApi.java
+++ b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/PolicyApi.java
@@ -34,7 +34,7 @@ import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rackspace.autoscale.v1.binders.BindScalingPoliciesToJson;
 import org.jclouds.rackspace.autoscale.v1.binders.BindScalingPolicyToJson;
 import org.jclouds.rackspace.autoscale.v1.domain.CreateScalingPolicy;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/WebhookApi.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/WebhookApi.java b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/WebhookApi.java
index f37cec9..2f586c0 100644
--- a/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/WebhookApi.java
+++ b/rackspace-autoscale/src/main/java/org/jclouds/rackspace/autoscale/v1/features/WebhookApi.java
@@ -34,7 +34,7 @@ import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
 import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
 import org.jclouds.Fallbacks.NullOnNotFoundOr404;
 import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
+import org.jclouds.openstack.keystone.auth.filters.AuthenticateRequest;
 import org.jclouds.rackspace.autoscale.v1.binders.BindWebhookToJson;
 import org.jclouds.rackspace.autoscale.v1.binders.BindWebhookUpdateToJson;
 import org.jclouds.rackspace.autoscale.v1.binders.BindWebhooksToJson;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiLiveTest.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiLiveTest.java b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiLiveTest.java
index 4809d91..85cfe3d 100644
--- a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiLiveTest.java
+++ b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiLiveTest.java
@@ -19,7 +19,7 @@ package org.jclouds.rackspace.autoscale.v1.internal;
 import java.util.Properties;
 
 import org.jclouds.apis.BaseApiLiveTest;
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties;
+import org.jclouds.openstack.keystone.config.KeystoneProperties;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApi;
 
 /**

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiMockTest.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiMockTest.java b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiMockTest.java
index 50377d1..618f611 100644
--- a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiMockTest.java
+++ b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleApiMockTest.java
@@ -16,15 +16,15 @@
  */
 package org.jclouds.rackspace.autoscale.v1.internal;
 
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.CredentialTypes;
 import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
 import org.jclouds.rackspace.autoscale.v1.AutoscaleApi;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
+import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
 /**
  * Base class for writing Autoscale Expect tests
@@ -33,7 +33,7 @@ public class BaseAutoscaleApiMockTest extends BaseOpenStackMockTest<AutoscaleApi
    protected Properties overrides;
    public BaseAutoscaleApiMockTest() {
       overrides = new Properties();
-      overrides.setProperty(CREDENTIAL_TYPE, CredentialTypes.PASSWORD_CREDENTIALS);
+      overrides.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       overrides.setProperty(SERVICE_TYPE, ServiceType.AUTO_SCALE);
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleExpectTest.java
----------------------------------------------------------------------
diff --git a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleExpectTest.java b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleExpectTest.java
index dec2136..c95fc4f 100644
--- a/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleExpectTest.java
+++ b/rackspace-autoscale/src/test/java/org/jclouds/rackspace/autoscale/v1/internal/BaseAutoscaleExpectTest.java
@@ -17,6 +17,7 @@
 package org.jclouds.rackspace.autoscale.v1.internal;
 
 import javax.ws.rs.core.MediaType;
+
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
 import org.jclouds.openstack.keystone.v2_0.internal.KeystoneFixture;

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-cdn-uk/src/main/java/org/jclouds/rackspace/cdn/uk/CDNUKProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-cdn-uk/src/main/java/org/jclouds/rackspace/cdn/uk/CDNUKProviderMetadata.java b/rackspace-cdn-uk/src/main/java/org/jclouds/rackspace/cdn/uk/CDNUKProviderMetadata.java
index e9563e1..d7f3583 100644
--- a/rackspace-cdn-uk/src/main/java/org/jclouds/rackspace/cdn/uk/CDNUKProviderMetadata.java
+++ b/rackspace-cdn-uk/src/main/java/org/jclouds/rackspace/cdn/uk/CDNUKProviderMetadata.java
@@ -19,19 +19,20 @@ package org.jclouds.rackspace.cdn.uk;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ProviderModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.ProviderModule;
 import org.jclouds.openstack.poppy.v1.PoppyApiMetadata;
 import org.jclouds.openstack.poppy.v1.config.PoppyHttpApiModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -67,6 +68,7 @@ public class CDNUKProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.CDN);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       properties.setProperty(PROPERTY_REGIONS, "LON");
       properties.setProperty(PROPERTY_REGION + ".LON." + ISO3166_CODES, "GB-SLG");
@@ -87,8 +89,8 @@ public class CDNUKProviderMetadata extends BaseProviderMetadata {
                .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
                .version("1")
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(ProviderModule.class)
                      .add(PoppyHttpApiModule.class)
                      .build())

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-cdn-us/src/main/java/org/jclouds/rackspace/cdn/us/CDNUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-cdn-us/src/main/java/org/jclouds/rackspace/cdn/us/CDNUSProviderMetadata.java b/rackspace-cdn-us/src/main/java/org/jclouds/rackspace/cdn/us/CDNUSProviderMetadata.java
index 6b50c3a..4215c62 100644
--- a/rackspace-cdn-us/src/main/java/org/jclouds/rackspace/cdn/us/CDNUSProviderMetadata.java
+++ b/rackspace-cdn-us/src/main/java/org/jclouds/rackspace/cdn/us/CDNUSProviderMetadata.java
@@ -19,19 +19,20 @@ package org.jclouds.rackspace.cdn.us;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.ProviderModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.ProviderModule;
 import org.jclouds.openstack.poppy.v1.PoppyApiMetadata;
 import org.jclouds.openstack.poppy.v1.config.PoppyHttpApiModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -67,6 +68,7 @@ public class CDNUSProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.CDN);
+      properties.setProperty(KEYSTONE_VERSION, "2");
 
       properties.setProperty(PROPERTY_REGIONS, "ORD,DFW,IAD,SYD,HKG");
       properties.setProperty(PROPERTY_REGION + ".ORD." + ISO3166_CODES, "US-IL");
@@ -91,8 +93,8 @@ public class CDNUSProviderMetadata extends BaseProviderMetadata {
                .endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
                .version("1")
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(ProviderModule.class)
                      .add(PoppyHttpApiModule.class)
                      .build())

http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/d939ead5/rackspace-cloudbigdata-us/src/main/java/org/jclouds/rackspace/cloudbigdata/us/v1/CloudBigDataUSProviderMetadata.java
----------------------------------------------------------------------
diff --git a/rackspace-cloudbigdata-us/src/main/java/org/jclouds/rackspace/cloudbigdata/us/v1/CloudBigDataUSProviderMetadata.java b/rackspace-cloudbigdata-us/src/main/java/org/jclouds/rackspace/cloudbigdata/us/v1/CloudBigDataUSProviderMetadata.java
index a8860c5..5960f66 100644
--- a/rackspace-cloudbigdata-us/src/main/java/org/jclouds/rackspace/cloudbigdata/us/v1/CloudBigDataUSProviderMetadata.java
+++ b/rackspace-cloudbigdata-us/src/main/java/org/jclouds/rackspace/cloudbigdata/us/v1/CloudBigDataUSProviderMetadata.java
@@ -19,20 +19,21 @@ package org.jclouds.rackspace.cloudbigdata.us.v1;
 import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
 import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
-import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.CREDENTIAL_TYPE;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.KEYSTONE_VERSION;
+import static org.jclouds.openstack.keystone.config.KeystoneProperties.SERVICE_TYPE;
 
 import java.net.URI;
 import java.util.Properties;
 
-import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule;
+import org.jclouds.openstack.keystone.catalog.config.ServiceCatalogModule.RegionModule;
 import org.jclouds.providers.ProviderMetadata;
 import org.jclouds.providers.internal.BaseProviderMetadata;
 import org.jclouds.rackspace.cloudbigdata.v1.CloudBigDataApiMetadata;
 import org.jclouds.rackspace.cloudbigdata.v1.config.CloudBigDataHttpApiModule;
 import org.jclouds.rackspace.cloudbigdata.v1.config.CloudBigDataParserModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.ServiceType;
-import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
 import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
 
@@ -80,6 +81,7 @@ public class CloudBigDataUSProviderMetadata extends BaseProviderMetadata {
       Properties properties = new Properties();
       properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
       properties.setProperty(SERVICE_TYPE, ServiceType.BIG_DATA);
+      properties.setProperty(KEYSTONE_VERSION, "2");
       //properties.setProperty(PROPERTY_REGIONS, "ORD,DFW,SYD");
       properties.setProperty(PROPERTY_REGIONS, "ORD");
       properties.setProperty(PROPERTY_REGION + ".ORD." + ISO3166_CODES, "US-IL");
@@ -103,8 +105,8 @@ public class CloudBigDataUSProviderMetadata extends BaseProviderMetadata {
                .endpointName("identity service url ending in /v2.0/")
                .documentation(URI.create("http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/overview.html"))
                .defaultModules(ImmutableSet.<Class<? extends Module>>builder()
-                     .add(CloudIdentityAuthenticationApiModule.class)
                      .add(CloudIdentityAuthenticationModule.class)
+                     .add(ServiceCatalogModule.class)
                      .add(RegionModule.class)
                      .add(CloudBigDataParserModule.class)
                      .add(CloudBigDataHttpApiModule.class).build())