You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by ma...@redhat.com on 2013/02/26 17:41:27 UTC

[PATCH] Deltacloud - record openstack driver realms fixtures for white box unit tests

From: marios <ma...@redhat.com>

related to DTACLOUD-477

fix broken build @ https://travis-ci.org/mifo/deltacloud/builds/5039461

Signed-off-by: marios <ma...@redhat.com>
---
 .../test_0002_must_return_list_of_realms.yml       | 338 +++++++-------
 ...st_0003_must_allow_to_retrieve_single_realm.yml | 506 ++++++++++-----------
 server/tests/drivers/openstack/realms_test.rb      |  11 +-
 3 files changed, 393 insertions(+), 462 deletions(-)

diff --git a/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml b/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
index 122cd6b..b3eaf18 100644
--- a/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
+++ b/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
@@ -2,10 +2,10 @@
 http_interactions:
 - request:
     method: post
-    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    uri: http://10.34.32.211:5000/v2.0/tokens
     body:
       encoding: UTF-8
-      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
     headers:
       Content-Type:
       - application/json
@@ -18,107 +18,95 @@ http_interactions:
       code: 200
       message: OK
     headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
       Content-Length:
-      - '5934'
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      X-Storage-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
       Content-Type:
       - application/json
+      Content-Length:
+      - '900'
       Date:
-      - Wed, 13 Feb 2013 10:22:55 GMT
-      Cache-Control:
-      - no-cache
-      Expires:
-      - '-1'
-      Pragma:
-      - no-cache
-      Server:
-      - Apache-Coyote/1.1
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
     body:
       encoding: US-ASCII
-      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:55.724Z\",\n
-        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
-        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
-        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
-        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
-        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
-        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
-        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
-        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
-        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
-        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
-        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
-        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
-        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
-        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
-        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
-        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
-        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
-        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
-        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
-        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
-        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
-        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
-        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
-        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
-        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
-        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
-        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
-        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    }\n  ]\n}}"
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
     http_version: 
-  recorded_at: Wed, 13 Feb 2013 10:22:55 GMT
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
 - request:
     method: post
-    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    uri: http://10.34.32.211:5000/v2.0/tokens
     body:
       encoding: UTF-8
-      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
     headers:
       Content-Type:
       - application/json
@@ -131,99 +119,87 @@ http_interactions:
       code: 200
       message: OK
     headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
       Content-Length:
-      - '5934'
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "6366d82b5dd04fee88c37bf950f24172",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 6366d82b5dd04fee88c37bf950f24172
+      X-Storage-Token:
+      - 6366d82b5dd04fee88c37bf950f24172
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-96f38078-c22f-4fdf-a3f0-a2ec6bbb2212
       Content-Type:
       - application/json
+      Content-Length:
+      - '900'
       Date:
-      - Wed, 13 Feb 2013 10:22:57 GMT
-      Cache-Control:
-      - no-cache
-      Expires:
-      - '-1'
-      Pragma:
-      - no-cache
-      Server:
-      - Apache-Coyote/1.1
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
     body:
       encoding: US-ASCII
-      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:57.588Z\",\n
-        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
-        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
-        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
-        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
-        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
-        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
-        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
-        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
-        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
-        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
-        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
-        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
-        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
-        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
-        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
-        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
-        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
-        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
-        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
-        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
-        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
-        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
-        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
-        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
-        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
-        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
-        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
-        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    }\n  ]\n}}"
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
     http_version: 
-  recorded_at: Wed, 13 Feb 2013 10:22:57 GMT
-recorded_with: VCR 2.4.0
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+recorded_with: VCR 2.2.4
diff --git a/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml b/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
index cfbdd39..e610c11 100644
--- a/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
+++ b/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
@@ -2,10 +2,10 @@
 http_interactions:
 - request:
     method: post
-    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    uri: http://10.34.32.211:5000/v2.0/tokens
     body:
       encoding: UTF-8
-      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
     headers:
       Content-Type:
       - application/json
@@ -18,107 +18,95 @@ http_interactions:
       code: 200
       message: OK
     headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
       Content-Length:
-      - '5934'
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      X-Storage-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
       Content-Type:
       - application/json
+      Content-Length:
+      - '900'
       Date:
-      - Wed, 13 Feb 2013 10:22:46 GMT
-      Cache-Control:
-      - no-cache
-      Expires:
-      - '-1'
-      Pragma:
-      - no-cache
-      Server:
-      - Apache-Coyote/1.1
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
     body:
       encoding: US-ASCII
-      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:46.922Z\",\n
-        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
-        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
-        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
-        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
-        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
-        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
-        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
-        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
-        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
-        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
-        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
-        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
-        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
-        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
-        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
-        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
-        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
-        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
-        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
-        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
-        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
-        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
-        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
-        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
-        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
-        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
-        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
-        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    }\n  ]\n}}"
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
     http_version: 
-  recorded_at: Wed, 13 Feb 2013 10:22:47 GMT
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
 - request:
     method: post
-    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    uri: http://10.34.32.211:5000/v2.0/tokens
     body:
       encoding: UTF-8
-      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
     headers:
       Content-Type:
       - application/json
@@ -131,107 +119,95 @@ http_interactions:
       code: 200
       message: OK
     headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
       Content-Length:
-      - '5934'
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "6366d82b5dd04fee88c37bf950f24172",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - 6366d82b5dd04fee88c37bf950f24172
+      X-Storage-Token:
+      - 6366d82b5dd04fee88c37bf950f24172
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-96f38078-c22f-4fdf-a3f0-a2ec6bbb2212
       Content-Type:
       - application/json
+      Content-Length:
+      - '900'
       Date:
-      - Wed, 13 Feb 2013 10:22:49 GMT
-      Cache-Control:
-      - no-cache
-      Expires:
-      - '-1'
-      Pragma:
-      - no-cache
-      Server:
-      - Apache-Coyote/1.1
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
     body:
       encoding: US-ASCII
-      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:49.316Z\",\n
-        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
-        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
-        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
-        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
-        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
-        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
-        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
-        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
-        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
-        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
-        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
-        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
-        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
-        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
-        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
-        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
-        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
-        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
-        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
-        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
-        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
-        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
-        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
-        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
-        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
-        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
-        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
-        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    }\n  ]\n}}"
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
     http_version: 
-  recorded_at: Wed, 13 Feb 2013 10:22:49 GMT
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
 - request:
     method: post
-    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    uri: http://10.34.32.211:5000/v2.0/tokens
     body:
       encoding: UTF-8
-      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
+      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
     headers:
       Content-Type:
       - application/json
@@ -244,99 +220,87 @@ http_interactions:
       code: 200
       message: OK
     headers:
+      Content-Type:
+      - application/json
+      Vary:
+      - X-Auth-Token
       Content-Length:
-      - '5934'
+      - '2010'
+      Date:
+      - Mon, 27 Aug 2012 16:15:34 GMT
+    body:
+      encoding: US-ASCII
+      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
+        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
+        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
+        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
+        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
+        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
+        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
+        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
+        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
+        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
+        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
+        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
+        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
+        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
+        "name": "KeystoneAdmin"}], "name": "admin"}}}'
+    http_version: 
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+- request:
+    method: get
+    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
+    body:
+      encoding: US-ASCII
+      string: ''
+    headers:
+      X-Auth-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      X-Storage-Token:
+      - e92cde551ebf403c9824440f7edc47ca
+      Connection:
+      - Keep-Alive
+      User-Agent:
+      - OpenStack Ruby API 1.0.3
+      Accept:
+      - application/json
+  response:
+    status:
+      code: 200
+      message: OK
+    headers:
+      X-Compute-Request-Id:
+      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
       Content-Type:
       - application/json
+      Content-Length:
+      - '900'
       Date:
-      - Wed, 13 Feb 2013 10:22:51 GMT
-      Cache-Control:
-      - no-cache
-      Expires:
-      - '-1'
-      Pragma:
-      - no-cache
-      Server:
-      - Apache-Coyote/1.1
+      - Mon, 27 Aug 2012 16:15:34 GMT
+      Connection:
+      - keep-alive
     body:
       encoding: US-ASCII
-      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:52.152Z\",\n
-        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
-        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
-        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
-        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
-        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
-        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
-        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
-        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
-        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
-        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
-        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
-        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
-        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
-        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
-        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
-        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
-        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
-        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
-        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
-        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
-        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
-        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
-        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
-        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
-        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
-        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
-        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
-        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
-        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
-        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
-        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
-        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
-        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
-        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
-        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
-        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
-        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
-        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
-        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
-        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
-        \       }\n      ]\n    }\n  ]\n}}"
+      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
+        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
+        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
+        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
+        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
+        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
+        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
+        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
+        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
+        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
+        "maxTotalRAMSize": 51200}}}'
     http_version: 
-  recorded_at: Wed, 13 Feb 2013 10:22:52 GMT
-recorded_with: VCR 2.4.0
+  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
+recorded_with: VCR 2.2.4
diff --git a/server/tests/drivers/openstack/realms_test.rb b/server/tests/drivers/openstack/realms_test.rb
index 42c37bd..f4916f7 100644
--- a/server/tests/drivers/openstack/realms_test.rb
+++ b/server/tests/drivers/openstack/realms_test.rb
@@ -5,15 +5,6 @@ require_relative 'common.rb'
 
 describe 'OpenStackDriver Realms' do
 
-  def credentials
-  {
-    :user => "foo@fakedomain.eu+foo@fakedomain.eu-default-tenant",
-    :password => "1234fake56789",
-    :provider => "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/"
-  }
-  end
-
-
   before do
     @driver = Deltacloud::new(:openstack, credentials)
     VCR.insert_cassette __name__
@@ -23,7 +14,7 @@ describe 'OpenStackDriver Realms' do
     VCR.eject_cassette
   end
 
-  it 'must throw error when GET Realms with wrong credentials' do
+  it 'must throw error when wrong credentials' do
     Proc.new do
       @driver.backend.images(OpenStruct.new(:user => 'unknown+wrong', :password => 'wrong'))
     end.must_raise Deltacloud::Exceptions::AuthenticationFailure, 'Authentication Failure'
-- 
1.7.11.7


Re: [PATCH] Deltacloud - record openstack driver realms fixtures for white box unit tests

Posted by Michal Fojtik <mf...@redhat.com>.
On 02/26, marios@redhat.com wrote:

ACK!

  -- Michal

> From: marios <ma...@redhat.com>
> 
> related to DTACLOUD-477
> 
> fix broken build @ https://travis-ci.org/mifo/deltacloud/builds/5039461
> 
> Signed-off-by: marios <ma...@redhat.com>
> ---
>  .../test_0002_must_return_list_of_realms.yml       | 338 +++++++-------
>  ...st_0003_must_allow_to_retrieve_single_realm.yml | 506 ++++++++++-----------
>  server/tests/drivers/openstack/realms_test.rb      |  11 +-
>  3 files changed, 393 insertions(+), 462 deletions(-)
> 
> diff --git a/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml b/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
> index 122cd6b..b3eaf18 100644
> --- a/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
> +++ b/server/tests/drivers/openstack/fixtures/test_0002_must_return_list_of_realms.yml
> @@ -2,10 +2,10 @@
>  http_interactions:
>  - request:
>      method: post
> -    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    uri: http://10.34.32.211:5000/v2.0/tokens
>      body:
>        encoding: UTF-8
> -      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
> +      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
>      headers:
>        Content-Type:
>        - application/json
> @@ -18,107 +18,95 @@ http_interactions:
>        code: 200
>        message: OK
>      headers:
> +      Content-Type:
> +      - application/json
> +      Vary:
> +      - X-Auth-Token
>        Content-Length:
> -      - '5934'
> +      - '2010'
> +      Date:
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +    body:
> +      encoding: US-ASCII
> +      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
> +        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
> +        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
> +        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
> +        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
> +        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
> +        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
> +        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
> +        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
> +        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
> +        "name": "KeystoneAdmin"}], "name": "admin"}}}'
> +    http_version: 
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +- request:
> +    method: get
> +    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
> +    body:
> +      encoding: US-ASCII
> +      string: ''
> +    headers:
> +      X-Auth-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      X-Storage-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      Connection:
> +      - Keep-Alive
> +      User-Agent:
> +      - OpenStack Ruby API 1.0.3
> +      Accept:
> +      - application/json
> +  response:
> +    status:
> +      code: 200
> +      message: OK
> +    headers:
> +      X-Compute-Request-Id:
> +      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
>        Content-Type:
>        - application/json
> +      Content-Length:
> +      - '900'
>        Date:
> -      - Wed, 13 Feb 2013 10:22:55 GMT
> -      Cache-Control:
> -      - no-cache
> -      Expires:
> -      - '-1'
> -      Pragma:
> -      - no-cache
> -      Server:
> -      - Apache-Coyote/1.1
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +      Connection:
> +      - keep-alive
>      body:
>        encoding: US-ASCII
> -      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:55.724Z\",\n
> -        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
> -        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
> -        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
> -        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
> -        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
> -        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
> -        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
> -        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
> -        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
> -        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
> -        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
> -        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
> -        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
> -        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
> -        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
> -        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
> -        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
> -        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
> -        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
> -        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
> -        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
> -        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
> -        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
> -        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
> -        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
> -        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
> -        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
> -        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    }\n  ]\n}}"
> +      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
> +        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
> +        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
> +        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
> +        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
> +        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
> +        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
> +        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
> +        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
> +        "maxTotalRAMSize": 51200}}}'
>      http_version: 
> -  recorded_at: Wed, 13 Feb 2013 10:22:55 GMT
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
>  - request:
>      method: post
> -    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    uri: http://10.34.32.211:5000/v2.0/tokens
>      body:
>        encoding: UTF-8
> -      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
> +      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
>      headers:
>        Content-Type:
>        - application/json
> @@ -131,99 +119,87 @@ http_interactions:
>        code: 200
>        message: OK
>      headers:
> +      Content-Type:
> +      - application/json
> +      Vary:
> +      - X-Auth-Token
>        Content-Length:
> -      - '5934'
> +      - '2010'
> +      Date:
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +    body:
> +      encoding: US-ASCII
> +      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "6366d82b5dd04fee88c37bf950f24172",
> +        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
> +        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
> +        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
> +        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
> +        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
> +        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
> +        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
> +        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
> +        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
> +        "name": "KeystoneAdmin"}], "name": "admin"}}}'
> +    http_version: 
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +- request:
> +    method: get
> +    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
> +    body:
> +      encoding: US-ASCII
> +      string: ''
> +    headers:
> +      X-Auth-Token:
> +      - 6366d82b5dd04fee88c37bf950f24172
> +      X-Storage-Token:
> +      - 6366d82b5dd04fee88c37bf950f24172
> +      Connection:
> +      - Keep-Alive
> +      User-Agent:
> +      - OpenStack Ruby API 1.0.3
> +      Accept:
> +      - application/json
> +  response:
> +    status:
> +      code: 200
> +      message: OK
> +    headers:
> +      X-Compute-Request-Id:
> +      - req-96f38078-c22f-4fdf-a3f0-a2ec6bbb2212
>        Content-Type:
>        - application/json
> +      Content-Length:
> +      - '900'
>        Date:
> -      - Wed, 13 Feb 2013 10:22:57 GMT
> -      Cache-Control:
> -      - no-cache
> -      Expires:
> -      - '-1'
> -      Pragma:
> -      - no-cache
> -      Server:
> -      - Apache-Coyote/1.1
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +      Connection:
> +      - keep-alive
>      body:
>        encoding: US-ASCII
> -      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:57.588Z\",\n
> -        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
> -        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
> -        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
> -        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
> -        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
> -        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
> -        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
> -        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
> -        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
> -        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
> -        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
> -        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
> -        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
> -        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
> -        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
> -        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
> -        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
> -        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
> -        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
> -        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
> -        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
> -        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
> -        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
> -        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
> -        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
> -        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
> -        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
> -        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    }\n  ]\n}}"
> +      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
> +        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
> +        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
> +        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
> +        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
> +        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
> +        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
> +        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
> +        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
> +        "maxTotalRAMSize": 51200}}}'
>      http_version: 
> -  recorded_at: Wed, 13 Feb 2013 10:22:57 GMT
> -recorded_with: VCR 2.4.0
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +recorded_with: VCR 2.2.4
> diff --git a/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml b/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
> index cfbdd39..e610c11 100644
> --- a/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
> +++ b/server/tests/drivers/openstack/fixtures/test_0003_must_allow_to_retrieve_single_realm.yml
> @@ -2,10 +2,10 @@
>  http_interactions:
>  - request:
>      method: post
> -    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    uri: http://10.34.32.211:5000/v2.0/tokens
>      body:
>        encoding: UTF-8
> -      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
> +      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
>      headers:
>        Content-Type:
>        - application/json
> @@ -18,107 +18,95 @@ http_interactions:
>        code: 200
>        message: OK
>      headers:
> +      Content-Type:
> +      - application/json
> +      Vary:
> +      - X-Auth-Token
>        Content-Length:
> -      - '5934'
> +      - '2010'
> +      Date:
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +    body:
> +      encoding: US-ASCII
> +      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
> +        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
> +        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
> +        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
> +        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
> +        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
> +        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
> +        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
> +        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
> +        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
> +        "name": "KeystoneAdmin"}], "name": "admin"}}}'
> +    http_version: 
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +- request:
> +    method: get
> +    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
> +    body:
> +      encoding: US-ASCII
> +      string: ''
> +    headers:
> +      X-Auth-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      X-Storage-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      Connection:
> +      - Keep-Alive
> +      User-Agent:
> +      - OpenStack Ruby API 1.0.3
> +      Accept:
> +      - application/json
> +  response:
> +    status:
> +      code: 200
> +      message: OK
> +    headers:
> +      X-Compute-Request-Id:
> +      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
>        Content-Type:
>        - application/json
> +      Content-Length:
> +      - '900'
>        Date:
> -      - Wed, 13 Feb 2013 10:22:46 GMT
> -      Cache-Control:
> -      - no-cache
> -      Expires:
> -      - '-1'
> -      Pragma:
> -      - no-cache
> -      Server:
> -      - Apache-Coyote/1.1
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +      Connection:
> +      - keep-alive
>      body:
>        encoding: US-ASCII
> -      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:46.922Z\",\n
> -        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
> -        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
> -        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
> -        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
> -        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
> -        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
> -        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
> -        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
> -        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
> -        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
> -        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
> -        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
> -        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
> -        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
> -        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
> -        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
> -        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
> -        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
> -        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
> -        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
> -        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
> -        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
> -        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
> -        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
> -        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
> -        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
> -        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
> -        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    }\n  ]\n}}"
> +      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
> +        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
> +        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
> +        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
> +        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
> +        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
> +        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
> +        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
> +        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
> +        "maxTotalRAMSize": 51200}}}'
>      http_version: 
> -  recorded_at: Wed, 13 Feb 2013 10:22:47 GMT
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
>  - request:
>      method: post
> -    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    uri: http://10.34.32.211:5000/v2.0/tokens
>      body:
>        encoding: UTF-8
> -      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
> +      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
>      headers:
>        Content-Type:
>        - application/json
> @@ -131,107 +119,95 @@ http_interactions:
>        code: 200
>        message: OK
>      headers:
> +      Content-Type:
> +      - application/json
> +      Vary:
> +      - X-Auth-Token
>        Content-Length:
> -      - '5934'
> +      - '2010'
> +      Date:
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +    body:
> +      encoding: US-ASCII
> +      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "6366d82b5dd04fee88c37bf950f24172",
> +        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
> +        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
> +        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
> +        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
> +        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
> +        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
> +        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
> +        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
> +        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
> +        "name": "KeystoneAdmin"}], "name": "admin"}}}'
> +    http_version: 
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +- request:
> +    method: get
> +    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
> +    body:
> +      encoding: US-ASCII
> +      string: ''
> +    headers:
> +      X-Auth-Token:
> +      - 6366d82b5dd04fee88c37bf950f24172
> +      X-Storage-Token:
> +      - 6366d82b5dd04fee88c37bf950f24172
> +      Connection:
> +      - Keep-Alive
> +      User-Agent:
> +      - OpenStack Ruby API 1.0.3
> +      Accept:
> +      - application/json
> +  response:
> +    status:
> +      code: 200
> +      message: OK
> +    headers:
> +      X-Compute-Request-Id:
> +      - req-96f38078-c22f-4fdf-a3f0-a2ec6bbb2212
>        Content-Type:
>        - application/json
> +      Content-Length:
> +      - '900'
>        Date:
> -      - Wed, 13 Feb 2013 10:22:49 GMT
> -      Cache-Control:
> -      - no-cache
> -      Expires:
> -      - '-1'
> -      Pragma:
> -      - no-cache
> -      Server:
> -      - Apache-Coyote/1.1
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +      Connection:
> +      - keep-alive
>      body:
>        encoding: US-ASCII
> -      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:49.316Z\",\n
> -        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
> -        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
> -        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
> -        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
> -        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
> -        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
> -        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
> -        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
> -        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
> -        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
> -        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
> -        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
> -        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
> -        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
> -        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
> -        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
> -        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
> -        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
> -        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
> -        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
> -        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
> -        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
> -        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
> -        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
> -        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
> -        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
> -        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
> -        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    }\n  ]\n}}"
> +      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
> +        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
> +        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
> +        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
> +        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
> +        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
> +        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
> +        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
> +        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
> +        "maxTotalRAMSize": 51200}}}'
>      http_version: 
> -  recorded_at: Wed, 13 Feb 2013 10:22:49 GMT
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
>  - request:
>      method: post
> -    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    uri: http://10.34.32.211:5000/v2.0/tokens
>      body:
>        encoding: UTF-8
> -      string: ! '{"auth":{"passwordCredentials":{"username":"foo@fakedomain.eu","password":"1234fake56789"},"tenantName":"foo@fakedomain.eu-default-tenant"}}'
> +      string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"password"},"tenantName":"admin"}}'
>      headers:
>        Content-Type:
>        - application/json
> @@ -244,99 +220,87 @@ http_interactions:
>        code: 200
>        message: OK
>      headers:
> +      Content-Type:
> +      - application/json
> +      Vary:
> +      - X-Auth-Token
>        Content-Length:
> -      - '5934'
> +      - '2010'
> +      Date:
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +    body:
> +      encoding: US-ASCII
> +      string: ! '{"access": {"token": {"expires": "2012-08-28T16:15:34Z", "id": "e92cde551ebf403c9824440f7edc47ca",
> +        "tenant": {"description": null, "enabled": true, "id": "e827289fd66f4effb5b9b5012282fdb7",
> +        "name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8776/v1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "volume", "name": "Volume Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:9292/v1", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:9292/v1", "internalURL": "http://10.34.32.211:9292/v1"}],
> +        "endpoints_links": [], "type": "image", "name": "Image Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "region": "RegionOne", "publicURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7",
> +        "internalURL": "http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7"}],
> +        "endpoints_links": [], "type": "compute", "name": "Compute Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:8773/services/Admin", "region": "RegionOne",
> +        "publicURL": "http://10.34.32.211:8773/services/Cloud", "internalURL": "http://10.34.32.211:8773/services/Cloud"}],
> +        "endpoints_links": [], "type": "ec2", "name": "EC2 Service"}, {"endpoints":
> +        [{"adminURL": "http://10.34.32.211:35357/v2.0", "region": "RegionOne", "publicURL":
> +        "http://10.34.32.211:5000/v2.0", "internalURL": "http://10.34.32.211:5000/v2.0"}],
> +        "endpoints_links": [], "type": "identity", "name": "Identity Service"}], "user":
> +        {"username": "admin", "roles_links": [], "id": "f2286a51122345cea7d216c120974b41",
> +        "roles": [{"id": "e7e292b28c4b4befb06232fa935a3c48", "name": "KeystoneServiceAdmin"},
> +        {"id": "7e716d5a52f348bb9a7fbbc230041b2a", "name": "admin"}, {"id": "bf2113c0cb924b34907521808ed9df13",
> +        "name": "KeystoneAdmin"}], "name": "admin"}}}'
> +    http_version: 
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +- request:
> +    method: get
> +    uri: http://10.34.32.211:8774/v1.1/e827289fd66f4effb5b9b5012282fdb7/limits
> +    body:
> +      encoding: US-ASCII
> +      string: ''
> +    headers:
> +      X-Auth-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      X-Storage-Token:
> +      - e92cde551ebf403c9824440f7edc47ca
> +      Connection:
> +      - Keep-Alive
> +      User-Agent:
> +      - OpenStack Ruby API 1.0.3
> +      Accept:
> +      - application/json
> +  response:
> +    status:
> +      code: 200
> +      message: OK
> +    headers:
> +      X-Compute-Request-Id:
> +      - req-6baf6807-52cd-4a74-b0a5-04aeff385b3e
>        Content-Type:
>        - application/json
> +      Content-Length:
> +      - '900'
>        Date:
> -      - Wed, 13 Feb 2013 10:22:51 GMT
> -      Cache-Control:
> -      - no-cache
> -      Expires:
> -      - '-1'
> -      Pragma:
> -      - no-cache
> -      Server:
> -      - Apache-Coyote/1.1
> +      - Mon, 27 Aug 2012 16:15:34 GMT
> +      Connection:
> +      - keep-alive
>      body:
>        encoding: US-ASCII
> -      string: ! "{\"access\": {\n  \"token\": {\n    \"expires\": \"2013-02-13T22:22:52.152Z\",\n
> -        \   \"id\": \"EUAuth_01d7206e81832d1ac45183ab9531ba4f6cdc231590a31d5a326aa3cac417cdd1\",\n
> -        \   \"tenant\": {\n      \"id\": \"123456fake7890\",\n      \"name\": \"foo@fakedomain.eu-default-tenant\"\n
> -        \   }\n  },\n  \"user\": {\n    \"id\": \"98765fake43210\",\n    \"name\":
> -        \"foo@fakedomain.eu\",\n    \"roles\": [\n      {\n        \"id\": \"00000000004013\",\n
> -        \       \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004022\",\n
> -        \       \"serviceId\": \"110\",\n        \"name\": \"Admin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004025\",\n
> -        \       \"serviceId\": \"120\",\n        \"name\": \"sysadmin\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004024\",\n
> -        \       \"serviceId\": \"140\",\n        \"name\": \"user\",\n        \"tenantId\":
> -        \"123456fake7890\"\n      },\n      {\n        \"id\": \"00000000004003\",\n
> -        \       \"serviceId\": \"100\",\n        \"name\": \"domainadmin\"\n      },\n
> -        \     {\n        \"id\": \"00000000004016\",\n        \"serviceId\": \"120\",\n
> -        \       \"name\": \"netadmin\",\n        \"tenantId\": \"123456fake7890\"\n
> -        \     },\n      {\n        \"id\": \"00000000004004\",\n        \"serviceId\":
> -        \"100\",\n        \"name\": \"domainuser\"\n      },\n      {\n        \"id\":
> -        \"00000000004013\",\n        \"serviceId\": \"130\",\n        \"name\": \"block-admin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      },\n      {\n        \"id\":
> -        \"00000000004016\",\n        \"serviceId\": \"120\",\n        \"name\": \"netadmin\",\n
> -        \       \"tenantId\": \"123456fake7890\"\n      }\n    ]\n  },\n  \"serviceCatalog\":
> -        [\n    {\n      \"name\": \"Object Storage\",\n      \"type\": \"object-store\",\n
> -        \     \"endpoints\": [{\n        \"tenantId\": \"123456fake7890\",\n        \"publicURL\":
> -        \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1\\/123456fake7890\",\n
> -        \       \"region\": \"region-a.geo-1\",\n        \"versionId\": \"1.0\",\n
> -        \       \"versionInfo\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\\/v1.0\\/\",\n
> -        \       \"versionList\": \"https:\\/\\/region-a.geo-1.objects.hpcloudsvc.com\"\n
> -        \     }]\n    },\n    {\n      \"name\": \"Identity\",\n      \"type\": \"identity\",\n
> -        \     \"endpoints\": [\n        {\n          \"publicURL\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-a.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-a.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       },\n        {\n          \"publicURL\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"region\": \"region-b.geo-1\",\n          \"versionId\": \"2.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\\/v2.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/region-b.geo-1.identity.hpcloudsvc.com:35357\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Image Management\",\n
> -        \     \"type\": \"image\",\n      \"endpoints\": [\n        {\n          \"tenantId\":
> -        \"123456fake7890\",\n          \"publicURL\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n
> -        \         \"versionInfo\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\\/v1.0\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/glance2.uswest.hpcloud.net:9292\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\",\n          \"region\":
> -        \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.0\",\n          \"versionInfo\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\\/v1.0\\/\",\n          \"versionList\":
> -        \"https:\\/\\/glance1.uswest.hpcloud.net:9292\"\n        }\n      ]\n    },\n
> -        \   {\n      \"name\": \"Block Storage\",\n      \"type\": \"volume\",\n      \"endpoints\":
> -        [\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    },\n    {\n      \"name\": \"Compute\",\n      \"type\":
> -        \"compute\",\n      \"endpoints\": [\n        {\n          \"tenantId\": \"123456fake7890\",\n
> -        \         \"publicURL\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-2.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-2.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       },\n        {\n          \"tenantId\": \"123456fake7890\",\n          \"publicURL\":
> -        \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/123456fake7890\",\n
> -        \         \"publicURL2\": \"https:\\/\\/az-1.region-a.geo-1.ec2-compute.hpcloudsvc.com\\/services\\/Cloud\",\n
> -        \         \"region\": \"az-1.region-a.geo-1\",\n          \"versionId\": \"1.1\",\n
> -        \         \"versionInfo\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\\/v1.1\\/\",\n
> -        \         \"versionList\": \"https:\\/\\/az-1.region-a.geo-1.compute.hpcloudsvc.com\"\n
> -        \       }\n      ]\n    }\n  ]\n}}"
> +      string: ! '{"limits": {"rate": [{"regex": ".*", "limit": [{"next-available":
> +        "2012-08-27T15:44:04Z", "unit": "MINUTE", "verb": "POST", "remaining": 9,
> +        "value": 10}, {"next-available": "2012-08-27T16:15:34Z", "unit": "MINUTE",
> +        "verb": "PUT", "remaining": 10, "value": 10}, {"next-available": "2012-08-27T15:39:45Z",
> +        "unit": "MINUTE", "verb": "DELETE", "remaining": 99, "value": 100}], "uri":
> +        "*"}, {"regex": "^/servers", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "DAY", "verb": "POST", "remaining": 50, "value": 50}], "uri": "*/servers"},
> +        {"regex": ".*changes-since.*", "limit": [{"next-available": "2012-08-27T16:15:34Z",
> +        "unit": "MINUTE", "verb": "GET", "remaining": 3, "value": 3}], "uri": "*changes-since*"}],
> +        "absolute": {"maxServerMeta": 128, "maxPersonality": 5, "maxImageMeta": 128,
> +        "maxPersonalitySize": 10240, "maxTotalCores": 20, "maxTotalInstances": 10,
> +        "maxTotalRAMSize": 51200}}}'
>      http_version: 
> -  recorded_at: Wed, 13 Feb 2013 10:22:52 GMT
> -recorded_with: VCR 2.4.0
> +  recorded_at: Mon, 27 Aug 2012 12:26:52 GMT
> +recorded_with: VCR 2.2.4
> diff --git a/server/tests/drivers/openstack/realms_test.rb b/server/tests/drivers/openstack/realms_test.rb
> index 42c37bd..f4916f7 100644
> --- a/server/tests/drivers/openstack/realms_test.rb
> +++ b/server/tests/drivers/openstack/realms_test.rb
> @@ -5,15 +5,6 @@ require_relative 'common.rb'
>  
>  describe 'OpenStackDriver Realms' do
>  
> -  def credentials
> -  {
> -    :user => "foo@fakedomain.eu+foo@fakedomain.eu-default-tenant",
> -    :password => "1234fake56789",
> -    :provider => "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/"
> -  }
> -  end
> -
> -
>    before do
>      @driver = Deltacloud::new(:openstack, credentials)
>      VCR.insert_cassette __name__
> @@ -23,7 +14,7 @@ describe 'OpenStackDriver Realms' do
>      VCR.eject_cassette
>    end
>  
> -  it 'must throw error when GET Realms with wrong credentials' do
> +  it 'must throw error when wrong credentials' do
>      Proc.new do
>        @driver.backend.images(OpenStruct.new(:user => 'unknown+wrong', :password => 'wrong'))
>      end.must_raise Deltacloud::Exceptions::AuthenticationFailure, 'Authentication Failure'
> -- 
> 1.7.11.7
> 

-- 
Michal Fojtik <mf...@redhat.com>
Deltacloud API, CloudForms