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 2012/04/03 14:28:58 UTC

[PATCH 1/3] Fixes typo in Openstack driver (instance create without specified hwp)

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


Signed-off-by: marios <ma...@redhat.com>
---
 .../drivers/openstack/openstack_driver.rb          |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/server/lib/deltacloud/drivers/openstack/openstack_driver.rb b/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
index 82a2b07..4c768c9 100644
--- a/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
+++ b/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
@@ -140,7 +140,7 @@ module Deltacloud
           params[:name] = (opts[:name] && opts[:name].length>0)? opts[:name] : Time.now.to_s
           params[:imageRef] = image_id
           params[:flavorRef] =  (opts[:hwp_id] && opts[:hwp_id].length>0) ?
-                          opts[:hwp_id] : hardware_profiles(credentials).first
+                          opts[:hwp_id] : hardware_profiles(credentials).first.name
           if opts[:password] && opts[:password].length > 0
             params[:adminPass]=opts[:password]
           end
-- 
1.7.6.5


Re: [PATCH 1/3] Fixes typo in Openstack driver (instance create without specified hwp)

Posted by Michal Fojtik <mi...@mifo.sk>.
ACK.

On Apr 3, 2012, at 2:28 PM, marios@redhat.com wrote:

> From: marios <ma...@redhat.com>
> 
> 
> Signed-off-by: marios <ma...@redhat.com>
> ---
> .../drivers/openstack/openstack_driver.rb          |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/server/lib/deltacloud/drivers/openstack/openstack_driver.rb b/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
> index 82a2b07..4c768c9 100644
> --- a/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
> +++ b/server/lib/deltacloud/drivers/openstack/openstack_driver.rb
> @@ -140,7 +140,7 @@ module Deltacloud
>           params[:name] = (opts[:name] && opts[:name].length>0)? opts[:name] : Time.now.to_s
>           params[:imageRef] = image_id
>           params[:flavorRef] =  (opts[:hwp_id] && opts[:hwp_id].length>0) ?
> -                          opts[:hwp_id] : hardware_profiles(credentials).first
> +                          opts[:hwp_id] : hardware_profiles(credentials).first.name
>           if opts[:password] && opts[:password].length > 0
>             params[:adminPass]=opts[:password]
>           end
> -- 
> 1.7.6.5
> 


Re: [PATCH 3/3] Updated VCR recordings for Openstack unit tests (fixtures)

Posted by Michal Fojtik <mi...@mifo.sk>.
ACK.

On Apr 3, 2012, at 2:29 PM, marios@redhat.com wrote:

> From: marios <ma...@redhat.com>
> 
> 
> Signed-off-by: marios <ma...@redhat.com>
> ---
> ...et-03188c338fe30b163c22600f148827d5cf593041.yml |  176 +++++++++
> ...et-0675e161550489f2bd14f86597deab140e8c990e.yml |  174 +++++++++
> ...et-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml |   59 ---
> ...et-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml |  174 +++++++++
> ...et-16296a365c236d0d433c3bc8debad1482dee8c41.yml |  349 +++++++++++++++++
> ...et-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml |   59 ---
> ...et-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml |  176 +++++++++
> ...et-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml |  176 +++++++++
> ...et-2d68a5d46607fc45da7292a36649990e23baf870.yml |  176 +++++++++
> ...et-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml |  176 +++++++++
> ...et-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml |  176 +++++++++
> ...et-58e09edce17ca002ad15ac70676fbe73012bf118.yml |  179 ++++++++--
> ...et-5e94f66aee0a458b843a6992beed741128a0ea52.yml |  176 +++++++++
> ...et-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml |  221 +++++++++---
> ...et-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml |   59 ---
> ...et-75cc23544e49af4430fbe198e09a4a2c55325396.yml |   59 ---
> ...et-78ba408530e4298285626f97d7fabbf528b94e40.yml |   59 ---
> ...et-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml |  392 +++++++++++++++++---
> ...et-79f2287f187af011997e5b60b0a3f331371eba5b.yml |  176 +++++++++
> ...et-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml |  176 +++++++++
> ...et-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml |  176 +++++++++
> ...et-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml |  221 +++++++++---
> ...et-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml |  174 +++++++++
> ...et-97b4700e48509c5356b852ffc592576c0706dc29.yml |   59 ---
> ...et-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml |   59 ---
> ...et-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml |  221 +++++++++---
> ...et-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml |  178 +++++++++
> ...et-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml |   59 ---
> ...et-cee6099e633ad711f35a7394721cb494a0a7c24d.yml |  176 +++++++++
> ...et-da7fafb861502692bf2987918f0cc29c951305c5.yml |  178 +++++++++
> ...et-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml |   59 ---
> ...et-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml |   59 ---
> ...et-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml |  176 +++++++++
> ...st-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml |  144 -------
> ...st-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml |  203 ++++++++++
> ...st-44cdf0849148e3968a70488f10f4914cf6a075fe.yml |   88 -----
> ...st-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml |  376 +++++++++++++++++++
> ...st-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml |  146 --------
> ...st-5f3a837fc10786f0348dd186885b6fafab3505e3.yml |  378 +++++++++++++++++++
> ...st-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml |  144 -------
> ...st-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml |   88 -----
> ...st-ad0fae929173373dbda247f2d3580e61d08d86cf.yml |  376 +++++++++++++++++++
> ...st-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml |  378 +++++++++++++++++++
> ...st-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml |  376 +++++++++++++++++++
> 44 files changed, 6418 insertions(+), 1442 deletions(-)
> create mode 100644 server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
> delete mode 100644 server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
> create mode 100644 server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml
> 
> diff --git a/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml b/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
> new file mode 100644
> index 0000000..7fd0e79
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:11 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:11.770Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:13 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml b/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
> new file mode 100644
> index 0000000..b15eb29
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
> @@ -0,0 +1,174 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:08 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:53:08.690Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/limits
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:10 GMT
> +      content-length: 
> +      - "877"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"limits\": {\"rate\": [{\"regex\": \".*\", \"limit\": [{\"next-available\": \"2012-04-03T11:28:39Z\", \"unit\": \"MINUTE\", \"verb\": \"POST\", \"remaining\": 9, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"MINUTE\", \"verb\": \"PUT\", \"remaining\": 10, \"value\": 10}, {\"next-available\": \"2012-04-03T11:52:30Z\", \"unit\": \"MINUTE\", \"verb\": \"DELETE\", \"remaining\": 99, \"value\": 100}], \"uri\": \"*\"}, {\"regex\": \"^/servers\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"DAY\", \"verb\": \"POST\", \"remaining\": 50, \"value\": 50}], \"uri\": \"*/servers\"}, {\"regex\": \".*changes-since.*\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"MINUTE\", \"verb\": \"GET\", \"remaining\": 3, \"value\": 3}], \"uri\": \"*changes-since*\"}], \"absolute\": {\"maxServerMeta\": 50, \"maxPersonality\": 5, \"maxImageMeta\": 50, \"maxPersonalitySize\": 10240, \"maxTotalInstances\": 20, \!
> "maxTotalRAMSize\": 20480}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml b/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
> deleted file mode 100644
> index 4d46b77..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/images/detail
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:18 GMT
> -      content-length:
> -      - "559"
> -    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2011-10-18T10:52:53Z\", \"name\": \"ubuntu\", \"created\": \"2011-10-18T10:52:52Z\", \"progress\": 100, \"id\": 4}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ami-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 3}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ari-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 2}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"aki-tty\", \"created\": \"2011-10-17T11:34:51Z\", \"progress\": 100, \"id\": 1}]}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml b/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
> new file mode 100644
> index 0000000..8375938
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
> @@ -0,0 +1,174 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:20 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:20.033Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/100
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:23 GMT
> +      content-length: 
> +      - "362"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavor\": {\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml b/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
> new file mode 100644
> index 0000000..22863ee
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
> @@ -0,0 +1,349 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:07 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:07.581Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:09 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:09.186Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:19 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/images/417
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:21 GMT
> +      content-length: 
> +      - "786"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"image\": {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:10Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/417\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:52Z\", \"progress\": 100, \"id\": \"417\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"415\", \"min_ram\": \"0\", \"ramdisk_id\": \"416\", \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": \"0\", \"hp_image_version\": \"1hp1.1\"}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml b/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
> deleted file mode 100644
> index 6d3826c..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml b/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
> new file mode 100644
> index 0000000..70cbfe4
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:42 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:42.580Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:44 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml b/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
> new file mode 100644
> index 0000000..5a0e699
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:36 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:36.377Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:37 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml b/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
> new file mode 100644
> index 0000000..7a0a3e1
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:58 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:58.823Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:00 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml b/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
> new file mode 100644
> index 0000000..0875d52
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:39 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:39.482Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:40 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml b/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
> new file mode 100644
> index 0000000..4c0458e
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:02 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:03.608Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:05 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml b/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
> index 73fd3de..9fd04c6 100644
> --- a/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
> +++ b/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
> @@ -1,32 +1,149 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:03 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:03.331Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
>     http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml b/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
> new file mode 100644
> index 0000000..0bdddf8
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:10 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:49:10.189Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:11 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml b/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
> index 6cfc93e..682d756 100644
> --- a/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
> +++ b/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
> @@ -1,59 +1,174 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:35 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:36.065Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
>     http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
>     method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
> -    body:
> -    headers:
> -      accept:
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
>       - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
>       code: 200
>       message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:17 GMT
> -      content-length:
> -      - "569"
> -    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:45 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
>     http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml b/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
> deleted file mode 100644
> index 0604c51..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:57 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 404
> -      message: Not Found
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:57 GMT
> -      content-length:
> -      - "78"
> -    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml b/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
> deleted file mode 100644
> index 4711c3d..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:20 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:20 GMT
> -      content-length:
> -      - "361"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml b/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
> deleted file mode 100644
> index 658636b..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml b/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
> index b3d64dd..776af18 100644
> --- a/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
> +++ b/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
> @@ -1,59 +1,347 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:47 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:47.206Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:48 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:48.819Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
>     http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
>     method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/images/detail
> -    body:
> -    headers:
> -      accept:
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
>       - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
>       code: 200
>       message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:59 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/images/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
>       - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      content-length:
> -      - "559"
> -    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2011-10-18T10:52:53Z\", \"name\": \"ubuntu\", \"created\": \"2011-10-18T10:52:52Z\", \"progress\": 100, \"id\": 4}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ami-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 3}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ari-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 2}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"aki-tty\", \"created\": \"2011-10-17T11:34:51Z\", \"progress\": 100, \"id\": 1}]}"
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:01 GMT
> +      content-length: 
> +      - "10881"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:10Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/417\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:52Z\", \"progress\": 100, \"id\": \"417\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"415\", \"min_ram\": 0, \"ramdisk_id\": \"416\", \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:04Z\", \"name\": \"Debian Squeeze 6.0.3 S!
> erver 64-bit 20120123 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/416\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/416\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:50Z\", \"progress\": 100, \"id\": \"416\", \"metadata\": {\"hp_image_type\": \"ramdisk\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:58Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/415\", \"rel\": \"self\"}!
> , {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687
> 1569847393/images/415\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:48Z\", \"progress\": 100, \"id\": \"415\", \"metadata\": {\"hp_image_type\": \"kernel\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:48Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/414\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/414\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:42Z\", \"progress\": 100, \"id\": \"414\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_loca!
> tion\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"412\", \"min_ram\": 0, \"ramdisk_id\": \"413\", \"hp_image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"hp_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:41Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/413\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/413\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:39Z\", \"progress\": 100, \"id\": \"413\", \"metadata\": {\"hp_image_type\": \"ramdisk\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_!
> image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"h
> p_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:36Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/412\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/412\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:38Z\", \"progress\": 100, \"id\": \"412\", \"metadata\": {\"hp_image_type\": \"kernel\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"hp_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:20Z!
> \", \"name\": \"Ubuntu Oneiric 11.10 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/229\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/229\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:59:10Z\", \"progress\": 100, \"id\": \"229\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"228\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": \"None\", \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:13Z\", \"name\": \"Ubuntu Oneiric 11.10 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/228\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/228\", \"rel\": \"bookmark\"}], \"created!
> \": \"2011-12-21T14:59:09Z\", \"progress\": 100, \"id\": \"228\", \"me
> tadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:54Z\", \"name\": \"Ubuntu Natty 11.04 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/227\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/227\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:56:38Z\", \"progress\": 100, \"id\": \"227\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"226\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:44Z\", \"name\": \"Ubuntu Natty 11.04 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"!
> https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/226\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/226\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:56:36Z\", \"progress\": 100, \"id\": \"226\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:37Z\", \"name\": \"Ubuntu Maverick 10.10 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/225\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/225\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:54:36Z\", \"progress\": 100, \"id\": \"225\", \"metadata\": {\"image_location\": \"local\", \"image_stat!
> e\": \"available\", \"kernel_id\": \"224\", \"min_ram\": 0, \"min_disk
> \": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:31Z\", \"name\": \"Ubuntu Maverick 10.10 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/224\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/224\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:54:28Z\", \"progress\": 100, \"id\": \"224\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:22Z\", \"name\": \"Ubuntu Lucid 10.04 LTS Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/223\", \"rel\": \"self\"}, {\"href\": \!
> "https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/223\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:52:13Z\", \"progress\": 100, \"id\": \"223\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"222\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:16Z\", \"name\": \"Ubuntu Lucid 10.04 LTS Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/222\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/222\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:52:11Z\", \"progress\": 100, \"id\": \"222\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \!
> "owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \
> "updated\": \"2012-03-12T07:56:05Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/221\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/221\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:22Z\", \"progress\": 100, \"id\": \"221\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"219\", \"min_ram\": 0, \"ramdisk_id\": \"220\", \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:55:59Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/220\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/220\"!
> , \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:20Z\", \"progress\": 100, \"id\": \"220\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": \"None\", \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:55:52Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/219\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/219\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:19Z\", \"progress\": 100, \"id\": \"219\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": null, \"project_id\": \"None\"}}]}"
>     http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml b/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
> new file mode 100644
> index 0000000..f4abea2
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:19 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:19.955Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:21 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml b/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
> new file mode 100644
> index 0000000..11a3be4
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:50 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:50.719Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:52 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml b/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
> new file mode 100644
> index 0000000..7ac1525
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:55 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:55.501Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:56 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml b/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
> index 6cfc93e..3c36904 100644
> --- a/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
> +++ b/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
> @@ -1,59 +1,174 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:25 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:25.357Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
>     http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
>     method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
> -    body:
> -    headers:
> -      accept:
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
>       - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
>       code: 200
>       message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:17 GMT
> -      content-length:
> -      - "569"
> -    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:34 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
>     http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml b/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
> new file mode 100644
> index 0000000..dc105f2
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
> @@ -0,0 +1,174 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:03 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:53:03.690Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/limits
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:05 GMT
> +      content-length: 
> +      - "878"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"limits\": {\"rate\": [{\"regex\": \".*\", \"limit\": [{\"next-available\": \"2012-04-03T11:50:05Z\", \"unit\": \"MINUTE\", \"verb\": \"POST\", \"remaining\": 9, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"PUT\", \"remaining\": 10, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"DELETE\", \"remaining\": 100, \"value\": 100}], \"uri\": \"*\"}, {\"regex\": \"^/servers\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"DAY\", \"verb\": \"POST\", \"remaining\": 50, \"value\": 50}], \"uri\": \"*/servers\"}, {\"regex\": \".*changes-since.*\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"GET\", \"remaining\": 3, \"value\": 3}], \"uri\": \"*changes-since*\"}], \"absolute\": {\"maxServerMeta\": 50, \"maxPersonality\": 5, \"maxImageMeta\": 50, \"maxPersonalitySize\": 10240, \"maxTotalInstances\": 20, !
> \"maxTotalRAMSize\": 20480}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml b/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
> deleted file mode 100644
> index 658636b..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml b/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
> deleted file mode 100644
> index f86f73b..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:46 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 404
> -      message: Not Found
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:46 GMT
> -      content-length:
> -      - "78"
> -    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml b/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
> index e5b96cc..598249e 100644
> --- a/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
> +++ b/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
> @@ -1,59 +1,174 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:05 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:46:05.021Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
>     http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
>     method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
> -    body:
> -    headers:
> -      accept:
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
>       - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
>       code: 200
>       message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      content-length:
> -      - "569"
> -    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:46:14 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
>     http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml b/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
> new file mode 100644
> index 0000000..a7d36dd
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
> @@ -0,0 +1,178 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:58 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:51:59.005Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 404
> +      message: Not Found
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:00 GMT
> +      nncoection: 
> +      - close
> +      content-length: 
> +      - "78"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml b/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
> deleted file mode 100644
> index 6d3826c..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml b/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
> new file mode 100644
> index 0000000..90a31d2
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:28 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:48:28.033Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:48:29 GMT
> +      content-length: 
> +      - "1027"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
> tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml b/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
> new file mode 100644
> index 0000000..194c873
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
> @@ -0,0 +1,178 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:00 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:53:00.368Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 404
> +      message: Not Found
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:53:01 GMT
> +      nncoection: 
> +      - close
> +      content-length: 
> +      - "78"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml b/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
> deleted file mode 100644
> index 6cfc93e..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:17 GMT
> -      content-length:
> -      - "569"
> -    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml b/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
> deleted file mode 100644
> index 824a635..0000000
> --- a/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
> +++ /dev/null
> @@ -1,59 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:25 GMT
> -      content-length:
> -      - "361"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml b/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
> new file mode 100644
> index 0000000..d9bea80
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
> @@ -0,0 +1,176 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:07 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:49:07.066Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:08 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml b/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
> deleted file mode 100644
> index 4ee2c19..0000000
> --- a/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
> +++ /dev/null
> @@ -1,144 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:46 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:46 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:46 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:47 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :delete
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 202
> -      message: Accepted
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - text/html; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:47 GMT
> -      content-length:
> -      - "0"
> -    body:
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml b/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
> new file mode 100644
> index 0000000..f74abd1
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
> @@ -0,0 +1,203 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:48 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:48.181Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers
> +    body: "{\"server\":{\"personality\":null,\"imageRef\":\"417\",\"flavorRef\":\"100\",\"name\":\"Tue Apr 03 14:47:48 +0300 2012\"}}"
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 202
> +      message: Accepted
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:53 GMT
> +      content-length: 
> +      - "956"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:53Z\", \"hostId\": \"\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"adminPass\": \"LdnwmPT37ZjfHdpT\", \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100!
> \", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:53 GMT
> +      content-length: 
> +      - "979"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:53Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687156!
> 9847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml b/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
> deleted file mode 100644
> index 46aef83..0000000
> --- a/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
> +++ /dev/null
> @@ -1,88 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :post
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers
> -    body: "{\"server\":{\"imageId\":4,\"personality\":null,\"flavorId\":1,\"name\":\"Mon Oct 24 17:42:40 +0200 2011\"}}"
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -      content-type:
> -      - application/json
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 202
> -      message: Accepted
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:18 GMT
> -      content-length:
> -      - "311"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"adminPass\": \"ysxPqCMMJLNckS7Y\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:18 GMT
> -      content-length:
> -      - "278"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml b/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
> new file mode 100644
> index 0000000..530f579
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
> @@ -0,0 +1,376 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:25 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:52:25.174Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:26 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:50:36Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:28 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:52:28.444Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:29 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:50:36Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :delete
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 204
> +      message: No Content
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:52:30 GMT
> +      content-length: 
> +      - "0"
> +      content-type: 
> +      - application/json
> +    body: 
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml b/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
> deleted file mode 100644
> index 148d075..0000000
> --- a/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
> +++ /dev/null
> @@ -1,146 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:30 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :post
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18/action
> -    body: "{\"reboot\":{\"type\":\"HARD\"}}"
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -      content-type:
> -      - application/json
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 202
> -      message: Accepted
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - text/html; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:31 GMT
> -      content-length:
> -      - "0"
> -    body:
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml b/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
> new file mode 100644
> index 0000000..7ddb060
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
> @@ -0,0 +1,378 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:13 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:49:13.317Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:14 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:16 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:49:16.667Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:18 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940/action
> +    body: "{\"reboot\":{\"type\":\"HARD\"}}"
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 202
> +      message: Accepted
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:19 GMT
> +      content-length: 
> +      - "0"
> +      content-type: 
> +      - text/html; charset=UTF-8
> +    body: 
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml b/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
> deleted file mode 100644
> index 3f5fad4..0000000
> --- a/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
> +++ /dev/null
> @@ -1,144 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:36 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:36 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:36 GMT
> -      content-length:
> -      - "0"
> -      x-cdn-management-url:
> -      - ""
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:36 GMT
> -      content-length:
> -      - "362"
> -    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :delete
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 202
> -      message: Accepted
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - text/html; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:33:36 GMT
> -      content-length:
> -      - "0"
> -    body:
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml b/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
> deleted file mode 100644
> index 0c80c57..0000000
> --- a/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
> +++ /dev/null
> @@ -1,88 +0,0 @@
> ----
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
> -    body:
> -    headers:
> -      x-auth-user:
> -      - mfojtik
> -      x-auth-key:
> -      - test
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 204
> -      message: No Content
> -    headers:
> -      x-auth-token:
> -      - mfojtik:admin
> -      content-type:
> -      - text/plain; charset=UTF-8
> -      date:
> -      - Mon, 24 Oct 2011 15:32:48 GMT
> -      x-server-management-url:
> -      - http://mfojtik-2.brq.redhat.com:8774/v1.0
> -      x-cdn-management-url:
> -      - ""
> -      content-length:
> -      - "0"
> -      x-storage-url:
> -      - ""
> -    body:
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :post
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers
> -    body: "{\"server\":{\"imageId\":4,\"personality\":null,\"flavorId\":2,\"name\":\"Mon Oct 24 17:42:41 +0200 2011\"}}"
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -      content-type:
> -      - application/json
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 202
> -      message: Accepted
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:19 GMT
> -      content-length:
> -      - "311"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"adminPass\": \"K7wKc6YSfJJdtMzB\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> -- !ruby/struct:VCR::HTTPInteraction
> -  request: !ruby/struct:VCR::Request
> -    method: :get
> -    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
> -    body:
> -    headers:
> -      accept:
> -      - application/json
> -      x-auth-token:
> -      - mfojtik:admin
> -      user-agent:
> -      - CloudServers Ruby API 0.4.1
> -  response: !ruby/struct:VCR::Response
> -    status: !ruby/struct:VCR::ResponseStatus
> -      code: 200
> -      message: OK
> -    headers:
> -      connection:
> -      - keep-alive
> -      content-type:
> -      - application/json
> -      date:
> -      - Mon, 24 Oct 2011 15:33:20 GMT
> -      content-length:
> -      - "278"
> -    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
> -    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml b/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
> new file mode 100644
> index 0000000..a31353b
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
> @@ -0,0 +1,376 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:27 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:27.272Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:28 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:47:28.893Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:38 GMT
> +      content-length: 
> +      - "2130"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
> ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
> _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
> ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers
> +    body: "{\"server\":{\"personality\":null,\"imageRef\":\"417\",\"flavorRef\":\"100\",\"name\":\"Tue Apr 03 14:47:27 +0300 2012\"}}"
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 202
> +      message: Accepted
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:44 GMT
> +      content-length: 
> +      - "956"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:44Z\", \"hostId\": \"\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"adminPass\": \"UoZE5eDfaEE3fcke\", \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100!
> \", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:47:44 GMT
> +      content-length: 
> +      - "979"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687156!
> 9847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml b/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
> new file mode 100644
> index 0000000..7bba2b1
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
> @@ -0,0 +1,378 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:49:59 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:49:59.199Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:50:00 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:50:02 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:50:02.905Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:50:04 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941/action
> +    body: "{\"reboot\":{\"type\":\"HARD\"}}"
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 202
> +      message: Accepted
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:50:05 GMT
> +      content-length: 
> +      - "0"
> +      content-type: 
> +      - text/html; charset=UTF-8
> +    body: 
> +    http_version: "1.1"
> diff --git a/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml b/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml
> new file mode 100644
> index 0000000..b62ad8e
> --- /dev/null
> +++ b/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml
> @@ -0,0 +1,376 @@
> +--- 
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:09 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:51:09.311Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:10 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :post
> +    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
> +    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
> +    headers: 
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      expires: 
> +      - "-1"
> +      pragma: 
> +      - no-cache
> +      cache-control: 
> +      - no-cache
> +      server: 
> +      - Apache-Coyote/1.1
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:11 GMT
> +      content-length: 
> +      - "3683"
> +      content-type: 
> +      - application/json
> +    body: |-
> +      {"access": {
> +        "token": {
> +          "expires": "2012-04-03T23:51:12.348Z",
> +          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
> +          "tenant": {
> +            "id": "46871569847393",
> +            "name": "foo@bar.com-default-tenant"
> +          }
> +        },
> +        "user": {
> +          "id": "90338821550656",
> +          "name": "foo@bar.com",
> +          "roles": [
> +            {
> +              "id": "00000000004024",
> +              "serviceId": "140",
> +              "name": "user",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004022",
> +              "serviceId": "110",
> +              "name": "Admin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004025",
> +              "serviceId": "120",
> +              "name": "sysadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004003",
> +              "serviceId": "100",
> +              "name": "domainadmin"
> +            },
> +            {
> +              "id": "00000000004016",
> +              "serviceId": "120",
> +              "name": "netadmin",
> +              "tenantId": "46871569847393"
> +            },
> +            {
> +              "id": "00000000004004",
> +              "serviceId": "100",
> +              "name": "domainuser"
> +            },
> +            {
> +              "id": "00000000004013",
> +              "serviceId": "130",
> +              "name": "block-admin",
> +              "tenantId": "46871569847393"
> +            }
> +          ]
> +        },
> +        "serviceCatalog": [
> +          {
> +            "name": "Object Storage",
> +            "type": "object-store",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
> +              "region": "region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Identity",
> +            "type": "identity",
> +            "endpoints": [{
> +              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "region": "region-a.geo-1",
> +              "versionId": "2.0",
> +              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
> +              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
> +            }]
> +          },
> +          {
> +            "name": "Image Management",
> +            "type": "image",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.0",
> +              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
> +              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
> +            }]
> +          },
> +          {
> +            "name": "Block Storage",
> +            "type": "hpext:blockstore",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          },
> +          {
> +            "name": "Compute",
> +            "type": "compute",
> +            "endpoints": [{
> +              "tenantId": "46871569847393",
> +              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
> +              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
> +              "region": "az-2.region-a.geo-1",
> +              "versionId": "1.1",
> +              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
> +              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
> +            }]
> +          }
> +        ]
> +      }}
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :get
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +      content-type: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 200
> +      message: OK
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:13 GMT
> +      content-length: 
> +      - "1035"
> +      content-type: 
> +      - application/json; charset=UTF-8
> +    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
> ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
> +    http_version: "1.1"
> +- !ruby/struct:VCR::HTTPInteraction 
> +  request: !ruby/struct:VCR::Request 
> +    method: :delete
> +    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
> +    body: 
> +    headers: 
> +      x-auth-token: 
> +      - HPAuth_4f7ab57ce4b0dfd6b763ca55
> +      user-agent: 
> +      - OpenStack::Compute Ruby API 1.1.7
> +      accept: 
> +      - application/json
> +  response: !ruby/struct:VCR::Response 
> +    status: !ruby/struct:VCR::ResponseStatus 
> +      code: 204
> +      message: No Content
> +    headers: 
> +      date: 
> +      - Tue, 03 Apr 2012 11:51:14 GMT
> +      content-length: 
> +      - "0"
> +      content-type: 
> +      - application/json
> +    body: 
> +    http_version: "1.1"
> -- 
> 1.7.6.5
> 


[PATCH 3/3] Updated VCR recordings for Openstack unit tests (fixtures)

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


Signed-off-by: marios <ma...@redhat.com>
---
 ...et-03188c338fe30b163c22600f148827d5cf593041.yml |  176 +++++++++
 ...et-0675e161550489f2bd14f86597deab140e8c990e.yml |  174 +++++++++
 ...et-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml |   59 ---
 ...et-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml |  174 +++++++++
 ...et-16296a365c236d0d433c3bc8debad1482dee8c41.yml |  349 +++++++++++++++++
 ...et-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml |   59 ---
 ...et-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml |  176 +++++++++
 ...et-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml |  176 +++++++++
 ...et-2d68a5d46607fc45da7292a36649990e23baf870.yml |  176 +++++++++
 ...et-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml |  176 +++++++++
 ...et-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml |  176 +++++++++
 ...et-58e09edce17ca002ad15ac70676fbe73012bf118.yml |  179 ++++++++--
 ...et-5e94f66aee0a458b843a6992beed741128a0ea52.yml |  176 +++++++++
 ...et-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml |  221 +++++++++---
 ...et-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml |   59 ---
 ...et-75cc23544e49af4430fbe198e09a4a2c55325396.yml |   59 ---
 ...et-78ba408530e4298285626f97d7fabbf528b94e40.yml |   59 ---
 ...et-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml |  392 +++++++++++++++++---
 ...et-79f2287f187af011997e5b60b0a3f331371eba5b.yml |  176 +++++++++
 ...et-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml |  176 +++++++++
 ...et-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml |  176 +++++++++
 ...et-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml |  221 +++++++++---
 ...et-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml |  174 +++++++++
 ...et-97b4700e48509c5356b852ffc592576c0706dc29.yml |   59 ---
 ...et-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml |   59 ---
 ...et-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml |  221 +++++++++---
 ...et-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml |  178 +++++++++
 ...et-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml |   59 ---
 ...et-cee6099e633ad711f35a7394721cb494a0a7c24d.yml |  176 +++++++++
 ...et-da7fafb861502692bf2987918f0cc29c951305c5.yml |  178 +++++++++
 ...et-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml |   59 ---
 ...et-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml |   59 ---
 ...et-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml |  176 +++++++++
 ...st-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml |  144 -------
 ...st-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml |  203 ++++++++++
 ...st-44cdf0849148e3968a70488f10f4914cf6a075fe.yml |   88 -----
 ...st-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml |  376 +++++++++++++++++++
 ...st-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml |  146 --------
 ...st-5f3a837fc10786f0348dd186885b6fafab3505e3.yml |  378 +++++++++++++++++++
 ...st-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml |  144 -------
 ...st-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml |   88 -----
 ...st-ad0fae929173373dbda247f2d3580e61d08d86cf.yml |  376 +++++++++++++++++++
 ...st-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml |  378 +++++++++++++++++++
 ...st-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml |  376 +++++++++++++++++++
 44 files changed, 6418 insertions(+), 1442 deletions(-)
 create mode 100644 server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
 delete mode 100644 server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
 create mode 100644 server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml

diff --git a/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml b/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
new file mode 100644
index 0000000..7fd0e79
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-03188c338fe30b163c22600f148827d5cf593041.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:11 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:11.770Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:13 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml b/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
new file mode 100644
index 0000000..b15eb29
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-0675e161550489f2bd14f86597deab140e8c990e.yml
@@ -0,0 +1,174 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:53:08 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:53:08.690Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/limits
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:53:10 GMT
+      content-length: 
+      - "877"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"limits\": {\"rate\": [{\"regex\": \".*\", \"limit\": [{\"next-available\": \"2012-04-03T11:28:39Z\", \"unit\": \"MINUTE\", \"verb\": \"POST\", \"remaining\": 9, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"MINUTE\", \"verb\": \"PUT\", \"remaining\": 10, \"value\": 10}, {\"next-available\": \"2012-04-03T11:52:30Z\", \"unit\": \"MINUTE\", \"verb\": \"DELETE\", \"remaining\": 99, \"value\": 100}], \"uri\": \"*\"}, {\"regex\": \"^/servers\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"DAY\", \"verb\": \"POST\", \"remaining\": 50, \"value\": 50}], \"uri\": \"*/servers\"}, {\"regex\": \".*changes-since.*\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:10Z\", \"unit\": \"MINUTE\", \"verb\": \"GET\", \"remaining\": 3, \"value\": 3}], \"uri\": \"*changes-since*\"}], \"absolute\": {\"maxServerMeta\": 50, \"maxPersonality\": 5, \"maxImageMeta\": 50, \"maxPersonalitySize\": 10240, \"maxTotalInstances\": 20, \!
 "maxTotalRAMSize\": 20480}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml b/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
deleted file mode 100644
index 4d46b77..0000000
--- a/server/tests/drivers/openstack/fixtures/get-0d6a11a7367ad7e8e80f9c7713c9744367bb4b4c.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/images/detail
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:18 GMT
-      content-length:
-      - "559"
-    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2011-10-18T10:52:53Z\", \"name\": \"ubuntu\", \"created\": \"2011-10-18T10:52:52Z\", \"progress\": 100, \"id\": 4}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ami-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 3}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ari-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 2}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"aki-tty\", \"created\": \"2011-10-17T11:34:51Z\", \"progress\": 100, \"id\": 1}]}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml b/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
new file mode 100644
index 0000000..8375938
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-12fe2cc26e2a51ba3fd943e6481e86c1278d76f7.yml
@@ -0,0 +1,174 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:20 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:20.033Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/100
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:46:23 GMT
+      content-length: 
+      - "362"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavor\": {\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml b/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
new file mode 100644
index 0000000..22863ee
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-16296a365c236d0d433c3bc8debad1482dee8c41.yml
@@ -0,0 +1,349 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:07 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:07.581Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:09 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:09.186Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:19 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/images/417
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:21 GMT
+      content-length: 
+      - "786"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"image\": {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:10Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/417\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:52Z\", \"progress\": 100, \"id\": \"417\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"415\", \"min_ram\": \"0\", \"ramdisk_id\": \"416\", \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": \"0\", \"hp_image_version\": \"1hp1.1\"}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml b/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
deleted file mode 100644
index 6d3826c..0000000
--- a/server/tests/drivers/openstack/fixtures/get-1d8b012e4b0da40d4e3ef0bfc1545276d20621cc.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml b/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
new file mode 100644
index 0000000..70cbfe4
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-2154c99183066a5ada7ec35a6dad561b4dc38e32.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:42 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:42.580Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:44 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml b/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
new file mode 100644
index 0000000..5a0e699
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-2734c640f0de060d4e963daf45bdf1fb1cbcce86.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:36 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:36.377Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:37 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml b/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
new file mode 100644
index 0000000..7a0a3e1
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-2d68a5d46607fc45da7292a36649990e23baf870.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:58 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:58.823Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:00 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml b/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
new file mode 100644
index 0000000..0875d52
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-477dc2b0cec2062d97f22d4d053a880c3c16cb24.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:39 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:39.482Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:40 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml b/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
new file mode 100644
index 0000000..4c0458e
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-4cfdd2f15d59279db86947384cbe8640b7d51c79.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:02 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:03.608Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:05 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml b/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
index 73fd3de..9fd04c6 100644
--- a/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
+++ b/server/tests/drivers/openstack/fixtures/get-58e09edce17ca002ad15ac70676fbe73012bf118.yml
@@ -1,32 +1,149 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:03 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:03.331Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
     http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml b/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
new file mode 100644
index 0000000..0bdddf8
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-5e94f66aee0a458b843a6992beed741128a0ea52.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:49:10 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:49:10.189Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:11 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml b/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
index 6cfc93e..682d756 100644
--- a/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
+++ b/server/tests/drivers/openstack/fixtures/get-6c76fc9c314d5bf21bd0d9434a4372d2295e3e5b.yml
@@ -1,59 +1,174 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:35 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:36.065Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
     http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
     method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
-    body:
-    headers:
-      accept:
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
       - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
       code: 200
       message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:17 GMT
-      content-length:
-      - "569"
-    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:46:45 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
     http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml b/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
deleted file mode 100644
index 0604c51..0000000
--- a/server/tests/drivers/openstack/fixtures/get-70180bd9c3ee8f1cb840006e6540100fb0dea0ca.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:57 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 404
-      message: Not Found
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:57 GMT
-      content-length:
-      - "78"
-    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml b/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
deleted file mode 100644
index 4711c3d..0000000
--- a/server/tests/drivers/openstack/fixtures/get-75cc23544e49af4430fbe198e09a4a2c55325396.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:20 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:20 GMT
-      content-length:
-      - "361"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml b/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
deleted file mode 100644
index 658636b..0000000
--- a/server/tests/drivers/openstack/fixtures/get-78ba408530e4298285626f97d7fabbf528b94e40.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml b/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
index b3d64dd..776af18 100644
--- a/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
+++ b/server/tests/drivers/openstack/fixtures/get-7952b1a23c5d4fc4fd2ae56fe614afae30dc649c.yml
@@ -1,59 +1,347 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:47 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:47.206Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:48 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:48.819Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
     http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
     method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/images/detail
-    body:
-    headers:
-      accept:
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
       - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
       code: 200
       message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:46:59 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/images/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
       - application/json
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      content-length:
-      - "559"
-    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2011-10-18T10:52:53Z\", \"name\": \"ubuntu\", \"created\": \"2011-10-18T10:52:52Z\", \"progress\": 100, \"id\": 4}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ami-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 3}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"ari-tty\", \"created\": \"2011-10-17T11:34:52Z\", \"progress\": 100, \"id\": 2}, {\"status\": \"ACTIVE\", \"updated\": \"2011-10-17T11:34:52Z\", \"name\": \"aki-tty\", \"created\": \"2011-10-17T11:34:51Z\", \"progress\": 100, \"id\": 1}]}"
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:01 GMT
+      content-length: 
+      - "10881"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"images\": [{\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:10Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/417\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:52Z\", \"progress\": 100, \"id\": \"417\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"415\", \"min_ram\": 0, \"ramdisk_id\": \"416\", \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:58:04Z\", \"name\": \"Debian Squeeze 6.0.3 S!
 erver 64-bit 20120123 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/416\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/416\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:50Z\", \"progress\": 100, \"id\": \"416\", \"metadata\": {\"hp_image_type\": \"ramdisk\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:58Z\", \"name\": \"Debian Squeeze 6.0.3 Server 64-bit 20120123 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/415\", \"rel\": \"self\"}!
 , {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687
1569847393/images/415\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:15:48Z\", \"progress\": 100, \"id\": \"415\", \"metadata\": {\"hp_image_type\": \"kernel\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"c89dee3bca7a62103f7d88d2a02f4dc8\", \"owner\": null, \"hp_image_builddate\": \"20120123\", \"architecture\": \"amd64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1.1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:48Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/414\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/414\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:42Z\", \"progress\": 100, \"id\": \"414\", \"metadata\": {\"hp_image_type\": \"machine\", \"image_loca!
 tion\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"kernel_id\": \"412\", \"min_ram\": 0, \"ramdisk_id\": \"413\", \"hp_image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"hp_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:41Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/413\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/413\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:39Z\", \"progress\": 100, \"id\": \"413\", \"metadata\": {\"hp_image_type\": \"ramdisk\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_!
 image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"h
p_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:36Z\", \"name\": \"CentOS 6.2 Server 64-bit 20120125 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/412\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/412\", \"rel\": \"bookmark\"}], \"created\": \"2012-02-21T14:08:38Z\", \"progress\": 100, \"id\": \"412\", \"metadata\": {\"hp_image_type\": \"kernel\", \"image_location\": \"local\", \"image_state\": \"available\", \"project_id\": \"None\", \"hp_md_version\": \"1\", \"min_ram\": 0, \"hp_image_id\": \"f2fbb1bf37a13e7c5da897c7082684df\", \"owner\": null, \"hp_image_builddate\": \"20120125\", \"architecture\": \"x86_64\", \"min_disk\": 0, \"hp_image_version\": \"1hp1\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:20Z!
 \", \"name\": \"Ubuntu Oneiric 11.10 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/229\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/229\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:59:10Z\", \"progress\": 100, \"id\": \"229\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"228\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": \"None\", \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:57:13Z\", \"name\": \"Ubuntu Oneiric 11.10 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/228\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/228\", \"rel\": \"bookmark\"}], \"created!
 \": \"2011-12-21T14:59:09Z\", \"progress\": 100, \"id\": \"228\", \"me
tadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:54Z\", \"name\": \"Ubuntu Natty 11.04 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/227\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/227\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:56:38Z\", \"progress\": 100, \"id\": \"227\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"226\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:44Z\", \"name\": \"Ubuntu Natty 11.04 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"!
 https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/226\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/226\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:56:36Z\", \"progress\": 100, \"id\": \"226\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:37Z\", \"name\": \"Ubuntu Maverick 10.10 Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/225\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/225\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:54:36Z\", \"progress\": 100, \"id\": \"225\", \"metadata\": {\"image_location\": \"local\", \"image_stat!
 e\": \"available\", \"kernel_id\": \"224\", \"min_ram\": 0, \"min_disk
\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:31Z\", \"name\": \"Ubuntu Maverick 10.10 Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/224\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/224\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:54:28Z\", \"progress\": 100, \"id\": \"224\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:22Z\", \"name\": \"Ubuntu Lucid 10.04 LTS Server 64-bit 20111212\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/223\", \"rel\": \"self\"}, {\"href\": \!
 "https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/223\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:52:13Z\", \"progress\": 100, \"id\": \"223\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"222\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:56:16Z\", \"name\": \"Ubuntu Lucid 10.04 LTS Server 64-bit 20111212 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/222\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/222\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:52:11Z\", \"progress\": 100, \"id\": \"222\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"amd64\", \!
 "owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \
"updated\": \"2012-03-12T07:56:05Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/221\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/221\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:22Z\", \"progress\": 100, \"id\": \"221\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"kernel_id\": \"219\", \"min_ram\": 0, \"ramdisk_id\": \"220\", \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": null, \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:55:59Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207 (Ramdisk)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/220\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/220\"!
 , \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:20Z\", \"progress\": 100, \"id\": \"220\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": \"None\", \"project_id\": \"None\"}}, {\"status\": \"ACTIVE\", \"updated\": \"2012-03-12T07:55:52Z\", \"name\": \"CentOS 5.6 Server 64-bit 20111207 (Kernel)\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/images/219\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/219\", \"rel\": \"bookmark\"}], \"created\": \"2011-12-21T14:50:19Z\", \"progress\": 100, \"id\": \"219\", \"metadata\": {\"image_location\": \"local\", \"image_state\": \"available\", \"min_ram\": 0, \"min_disk\": 0, \"architecture\": \"x86_64\", \"owner\": null, \"project_id\": \"None\"}}]}"
     http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml b/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
new file mode 100644
index 0000000..f4abea2
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-79f2287f187af011997e5b60b0a3f331371eba5b.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:19 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:19.955Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:21 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml b/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
new file mode 100644
index 0000000..11a3be4
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-7fd642915c3d5c70aba42fe5118fb5d5bfae244f.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:50 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:50.719Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:52 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:48:04Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml b/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
new file mode 100644
index 0000000..7ac1525
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-8660c4b9fbf19983cdd4d6b4eb849b45665e9b73.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:55 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:55.501Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:56 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml b/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
index 6cfc93e..3c36904 100644
--- a/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
+++ b/server/tests/drivers/openstack/fixtures/get-8918cacaff6f52b31c7e9364ec06ecb6ec6a8c03.yml
@@ -1,59 +1,174 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:25 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:25.357Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
     http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
     method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
-    body:
-    headers:
-      accept:
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
       - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
       code: 200
       message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:17 GMT
-      content-length:
-      - "569"
-    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:46:34 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
     http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml b/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
new file mode 100644
index 0000000..dc105f2
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-8a1c42acee24a6c9640586f558c47e2cd8cba2aa.yml
@@ -0,0 +1,174 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:53:03 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:53:03.690Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/limits
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:53:05 GMT
+      content-length: 
+      - "878"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"limits\": {\"rate\": [{\"regex\": \".*\", \"limit\": [{\"next-available\": \"2012-04-03T11:50:05Z\", \"unit\": \"MINUTE\", \"verb\": \"POST\", \"remaining\": 9, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"PUT\", \"remaining\": 10, \"value\": 10}, {\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"DELETE\", \"remaining\": 100, \"value\": 100}], \"uri\": \"*\"}, {\"regex\": \"^/servers\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"DAY\", \"verb\": \"POST\", \"remaining\": 50, \"value\": 50}], \"uri\": \"*/servers\"}, {\"regex\": \".*changes-since.*\", \"limit\": [{\"next-available\": \"2012-04-03T11:53:05Z\", \"unit\": \"MINUTE\", \"verb\": \"GET\", \"remaining\": 3, \"value\": 3}], \"uri\": \"*changes-since*\"}], \"absolute\": {\"maxServerMeta\": 50, \"maxPersonality\": 5, \"maxImageMeta\": 50, \"maxPersonalitySize\": 10240, \"maxTotalInstances\": 20, !
 \"maxTotalRAMSize\": 20480}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml b/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
deleted file mode 100644
index 658636b..0000000
--- a/server/tests/drivers/openstack/fixtures/get-97b4700e48509c5356b852ffc592576c0706dc29.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml b/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
deleted file mode 100644
index f86f73b..0000000
--- a/server/tests/drivers/openstack/fixtures/get-9e88e1e38b19393921ccddbc0f3e73e1d555dce1.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:46 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 404
-      message: Not Found
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:46 GMT
-      content-length:
-      - "78"
-    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml b/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
index e5b96cc..598249e 100644
--- a/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
+++ b/server/tests/drivers/openstack/fixtures/get-ad599a1c1f8f61a6484b9a522a9cd6359191c94c.yml
@@ -1,59 +1,174 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:46:05 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:46:05.021Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
     http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
     method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
-    body:
-    headers:
-      accept:
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
       - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
       code: 200
       message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      content-length:
-      - "569"
-    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:46:14 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
     http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml b/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
new file mode 100644
index 0000000..a7d36dd
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-bbdb548135029971a33efaa2d57d72c3d94ede5b.yml
@@ -0,0 +1,178 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:51:58 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:51:59.005Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 404
+      message: Not Found
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:52:00 GMT
+      nncoection: 
+      - close
+      content-length: 
+      - "78"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml b/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
deleted file mode 100644
index 6d3826c..0000000
--- a/server/tests/drivers/openstack/fixtures/get-c7cacbf72cb21d3339069f0ff66b497d978487a6.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml b/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
new file mode 100644
index 0000000..90a31d2
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-cee6099e633ad711f35a7394721cb494a0a7c24d.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:48:28 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:48:28.033Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:48:29 GMT
+      content-length: 
+      - "1027"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(spawning)\", \"updated\": \"2012-04-03T11:47:54Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"ht!
 tps://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml b/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
new file mode 100644
index 0000000..194c873
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-da7fafb861502692bf2987918f0cc29c951305c5.yml
@@ -0,0 +1,178 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:53:00 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:53:00.368Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 404
+      message: Not Found
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:53:01 GMT
+      nncoection: 
+      - close
+      content-length: 
+      - "78"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"itemNotFound\": {\"message\": \"The resource could not be found.\", \"code\": 404}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml b/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
deleted file mode 100644
index 6cfc93e..0000000
--- a/server/tests/drivers/openstack/fixtures/get-db146cf9e4fcd7de837f088d5527fbabafe6cd49.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/flavors/detail
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:17 GMT
-      content-length:
-      - "569"
-    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"m1.medium\", \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 40, \"id\": 3}, {\"rxtx_quota\": 0, \"name\": \"m1.large\", \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 80, \"id\": 4}, {\"rxtx_quota\": 0, \"name\": \"m1.tiny\", \"ram\": 512, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 0, \"id\": 1}, {\"rxtx_quota\": 0, \"name\": \"m1.xlarge\", \"ram\": 16384, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 160, \"id\": 5}, {\"rxtx_quota\": 0, \"name\": \"m1.small\", \"ram\": 2048, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 20, \"id\": 2}]}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml b/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
deleted file mode 100644
index 824a635..0000000
--- a/server/tests/drivers/openstack/fixtures/get-eb4e7f3c634f35e8472b265f3125734fe94542fd.yml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:25 GMT
-      content-length:
-      - "361"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml b/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
new file mode 100644
index 0000000..d9bea80
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/get-eeca79b7238c7d47ba344febd26b7d7a3d245fda.yml
@@ -0,0 +1,176 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:49:07 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:49:07.066Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:08 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml b/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
deleted file mode 100644
index 4ee2c19..0000000
--- a/server/tests/drivers/openstack/fixtures/post-17960f44ea839fa0dab7be3c33467fafe7a52b93.yml
+++ /dev/null
@@ -1,144 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:46 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:46 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:46 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:47 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.5\", \"192.168.122.5\"]}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :delete
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 202
-      message: Accepted
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - text/html; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:47 GMT
-      content-length:
-      - "0"
-    body:
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml b/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
new file mode 100644
index 0000000..f74abd1
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-40e22624a6e6e4ebce4838a8a07ef79a9f4f12da.yml
@@ -0,0 +1,203 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:48 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:48.181Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers
+    body: "{\"server\":{\"personality\":null,\"imageRef\":\"417\",\"flavorRef\":\"100\",\"name\":\"Tue Apr 03 14:47:48 +0300 2012\"}}"
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 202
+      message: Accepted
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:53 GMT
+      content-length: 
+      - "956"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:53Z\", \"hostId\": \"\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"adminPass\": \"LdnwmPT37ZjfHdpT\", \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100!
 \", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:53 GMT
+      content-length: 
+      - "979"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:53Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687156!
 9847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml b/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
deleted file mode 100644
index 46aef83..0000000
--- a/server/tests/drivers/openstack/fixtures/post-44cdf0849148e3968a70488f10f4914cf6a075fe.yml
+++ /dev/null
@@ -1,88 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :post
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers
-    body: "{\"server\":{\"imageId\":4,\"personality\":null,\"flavorId\":1,\"name\":\"Mon Oct 24 17:42:40 +0200 2011\"}}"
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-      content-type:
-      - application/json
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 202
-      message: Accepted
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:18 GMT
-      content-length:
-      - "311"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"adminPass\": \"ysxPqCMMJLNckS7Y\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:18 GMT
-      content-length:
-      - "278"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml b/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
new file mode 100644
index 0000000..530f579
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-4dd0a1218e6e56068bf06166824cdccfc92ff94f.yml
@@ -0,0 +1,376 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:52:25 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:52:25.174Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:52:26 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:50:36Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:52:28 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:52:28.444Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:52:29 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:50:36Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :delete
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 204
+      message: No Content
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:52:30 GMT
+      content-length: 
+      - "0"
+      content-type: 
+      - application/json
+    body: 
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml b/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
deleted file mode 100644
index 148d075..0000000
--- a/server/tests/drivers/openstack/fixtures/post-5e4576f1ae82702e893b34895a64afe1cf61d6ce.yml
+++ /dev/null
@@ -1,146 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:30 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :post
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18/action
-    body: "{\"reboot\":{\"type\":\"HARD\"}}"
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-      content-type:
-      - application/json
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 202
-      message: Accepted
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - text/html; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:31 GMT
-      content-length:
-      - "0"
-    body:
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml b/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
new file mode 100644
index 0000000..7ddb060
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-5f3a837fc10786f0348dd186885b6fafab3505e3.yml
@@ -0,0 +1,378 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:49:13 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:49:13.317Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:14 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:49:16 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:49:16.667Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:18 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:48:31Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940/action
+    body: "{\"reboot\":{\"type\":\"HARD\"}}"
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 202
+      message: Accepted
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:49:19 GMT
+      content-length: 
+      - "0"
+      content-type: 
+      - text/html; charset=UTF-8
+    body: 
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml b/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
deleted file mode 100644
index 3f5fad4..0000000
--- a/server/tests/drivers/openstack/fixtures/post-7927ddd2e1073e7ebfd53e31fc66a0c371240c90.yml
+++ /dev/null
@@ -1,144 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:36 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:36 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:36 GMT
-      content-length:
-      - "0"
-      x-cdn-management-url:
-      - ""
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:36 GMT
-      content-length:
-      - "362"
-    body: "{\"server\": {\"status\": \"ACTIVE\", \"hostId\": \"4b3b655c67d8d60d6959b506830e4257bc23bc9946f98f1f63eceeb9\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:40 +0200 2011\", \"addresses\": {\"public\": [], \"private\": [\"10.0.0.2\", \"192.168.122.2\"]}, \"tenant_id\": \"admin\", \"uuid\": \"0326cb45-5a45-4fcd-8cba-fa569e182af0\", \"imageId\": 4, \"flavorId\": 1, \"id\": 18, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :delete
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/18
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 202
-      message: Accepted
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - text/html; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:33:36 GMT
-      content-length:
-      - "0"
-    body:
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml b/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
deleted file mode 100644
index 0c80c57..0000000
--- a/server/tests/drivers/openstack/fixtures/post-9c0f9765cb7f4aba0c854f71328fa7d1b9dc6afb.yml
+++ /dev/null
@@ -1,88 +0,0 @@
----
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0
-    body:
-    headers:
-      x-auth-user:
-      - mfojtik
-      x-auth-key:
-      - test
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 204
-      message: No Content
-    headers:
-      x-auth-token:
-      - mfojtik:admin
-      content-type:
-      - text/plain; charset=UTF-8
-      date:
-      - Mon, 24 Oct 2011 15:32:48 GMT
-      x-server-management-url:
-      - http://mfojtik-2.brq.redhat.com:8774/v1.0
-      x-cdn-management-url:
-      - ""
-      content-length:
-      - "0"
-      x-storage-url:
-      - ""
-    body:
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :post
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers
-    body: "{\"server\":{\"imageId\":4,\"personality\":null,\"flavorId\":2,\"name\":\"Mon Oct 24 17:42:41 +0200 2011\"}}"
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-      content-type:
-      - application/json
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 202
-      message: Accepted
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:19 GMT
-      content-length:
-      - "311"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"adminPass\": \"K7wKc6YSfJJdtMzB\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
-- !ruby/struct:VCR::HTTPInteraction
-  request: !ruby/struct:VCR::Request
-    method: :get
-    uri: http://mfojtik-2.brq.redhat.com:8774/v1.0/servers/19
-    body:
-    headers:
-      accept:
-      - application/json
-      x-auth-token:
-      - mfojtik:admin
-      user-agent:
-      - CloudServers Ruby API 0.4.1
-  response: !ruby/struct:VCR::Response
-    status: !ruby/struct:VCR::ResponseStatus
-      code: 200
-      message: OK
-    headers:
-      connection:
-      - keep-alive
-      content-type:
-      - application/json
-      date:
-      - Mon, 24 Oct 2011 15:33:20 GMT
-      content-length:
-      - "278"
-    body: "{\"server\": {\"status\": \"BUILD\", \"hostId\": \"\", \"user_id\": \"mfojtik\", \"name\": \"Mon Oct 24 17:42:41 +0200 2011\", \"addresses\": {\"public\": [], \"private\": []}, \"tenant_id\": \"admin\", \"uuid\": \"ca4fa9ac-785f-4cc5-9116-6bb0a0cd635e\", \"imageId\": 4, \"flavorId\": 2, \"id\": 19, \"metadata\": {}}}"
-    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml b/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
new file mode 100644
index 0000000..a31353b
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-ad0fae929173373dbda247f2d3580e61d08d86cf.yml
@@ -0,0 +1,376 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:27 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:27.272Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:47:28 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:47:28.893Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/flavors/detail
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:38 GMT
+      content-length: 
+      - "2130"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"flavors\": [{\"rxtx_quota\": 0, \"name\": \"standard.xsmall\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/100\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}], \"ram\": 1024, \"vcpus\": 1, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 30, \"id\": 100}, {\"rxtx_quota\": 0, \"name\": \"standard.small\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/101\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/101\", \"rel\": \"bookmark\"}], \"ram\": 2048, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 60, \"id\": 101}, {\"rxtx_quota\": 0, \"name\": \"standard.2xlarge\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/105\", \"rel\": \"self\"}, {\"h!
 ref\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/105\", \"rel\": \"bookmark\"}], \"ram\": 32768, \"vcpus\": 8, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 960, \"id\": 105}, {\"rxtx_quota\": 0, \"name\": \"standard.large\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/103\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/103\", \"rel\": \"bookmark\"}], \"ram\": 8192, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 240, \"id\": 103}, {\"rxtx_quota\": 0, \"name\": \"standard.medium\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/102\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/102\", \"rel\": \"bookmark\"}], \"ram\": 4096, \"vcpus\": 2, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 120, \"id\": 102}, {\"rxtx!
 _quota\": 0, \"name\": \"standard.xlarge\", \"links\": [{\"href\": \"h
ttps://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/flavors/104\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/104\", \"rel\": \"bookmark\"}], \"ram\": 16384, \"vcpus\": 4, \"rxtx_cap\": 0, \"swap\": 0, \"disk\": 480, \"id\": 104}]}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers
+    body: "{\"server\":{\"personality\":null,\"imageRef\":\"417\",\"flavorRef\":\"100\",\"name\":\"Tue Apr 03 14:47:27 +0300 2012\"}}"
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 202
+      message: Accepted
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:44 GMT
+      content-length: 
+      - "956"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:44Z\", \"hostId\": \"\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"adminPass\": \"UoZE5eDfaEE3fcke\", \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100!
 \", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:47:44 GMT
+      content-length: 
+      - "979"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"BUILD(scheduling)\", \"updated\": \"2012-04-03T11:47:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"flavor\": {\"id\": \"100\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/4687156!
 9847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml b/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
new file mode 100644
index 0000000..7bba2b1
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-ad1c9a6a30ebabd8e54c99d70c5ae55e0bce07a0.yml
@@ -0,0 +1,378 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:49:59 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:49:59.199Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:50:00 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:50:02 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:50:02.905Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:50:04 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:01Z\", \"hostId\": \"bc7ddd1393483e03bb9cd30d461df9d0bd1b5616a823223ba2443cef\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:48 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71941\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71941\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.205\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:53Z\", \"uuid\": \"a9028b37-1392-4207-a346-458e3dd5c24f\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71941, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71941/action
+    body: "{\"reboot\":{\"type\":\"HARD\"}}"
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 202
+      message: Accepted
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:50:05 GMT
+      content-length: 
+      - "0"
+      content-type: 
+      - text/html; charset=UTF-8
+    body: 
+    http_version: "1.1"
diff --git a/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml b/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml
new file mode 100644
index 0000000..b62ad8e
--- /dev/null
+++ b/server/tests/drivers/openstack/fixtures/post-e76eb822e9d5ef959a99ab9c276973f63c2158ae.yml
@@ -0,0 +1,376 @@
+--- 
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:51:09 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:51:09.311Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:51:10 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :post
+    uri: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
+    body: "{\"auth\":{\"passwordCredentials\":{\"password\":\"Not_a_real_password!1\",\"username\":\"foo@bar.com\"},\"tenantName\":\"foo@bar.com-default-tenant\"}}"
+    headers: 
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      expires: 
+      - "-1"
+      pragma: 
+      - no-cache
+      cache-control: 
+      - no-cache
+      server: 
+      - Apache-Coyote/1.1
+      date: 
+      - Tue, 03 Apr 2012 11:51:11 GMT
+      content-length: 
+      - "3683"
+      content-type: 
+      - application/json
+    body: |-
+      {"access": {
+        "token": {
+          "expires": "2012-04-03T23:51:12.348Z",
+          "id": "HPAuth_4f7ab57ce4b0dfd6b763ca55",
+          "tenant": {
+            "id": "46871569847393",
+            "name": "foo@bar.com-default-tenant"
+          }
+        },
+        "user": {
+          "id": "90338821550656",
+          "name": "foo@bar.com",
+          "roles": [
+            {
+              "id": "00000000004024",
+              "serviceId": "140",
+              "name": "user",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004022",
+              "serviceId": "110",
+              "name": "Admin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004025",
+              "serviceId": "120",
+              "name": "sysadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004003",
+              "serviceId": "100",
+              "name": "domainadmin"
+            },
+            {
+              "id": "00000000004016",
+              "serviceId": "120",
+              "name": "netadmin",
+              "tenantId": "46871569847393"
+            },
+            {
+              "id": "00000000004004",
+              "serviceId": "100",
+              "name": "domainuser"
+            },
+            {
+              "id": "00000000004013",
+              "serviceId": "130",
+              "name": "block-admin",
+              "tenantId": "46871569847393"
+            }
+          ]
+        },
+        "serviceCatalog": [
+          {
+            "name": "Object Storage",
+            "type": "object-store",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "adminURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "publicURL": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/46871569847393",
+              "region": "region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com\/v1.0\/",
+              "versionList": "https:\/\/region-a.geo-1.objects.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Identity",
+            "type": "identity",
+            "endpoints": [{
+              "publicURL": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "region": "region-a.geo-1",
+              "versionId": "2.0",
+              "versionInfo": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357\/v2.0\/",
+              "versionList": "https:\/\/region-a.geo-1.identity.hpcloudsvc.com:35357"
+            }]
+          },
+          {
+            "name": "Image Management",
+            "type": "image",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.0",
+              "versionInfo": "https:\/\/glance2.uswest.hpcloud.net:9292\/v1.0\/",
+              "versionList": "https:\/\/glance2.uswest.hpcloud.net:9292"
+            }]
+          },
+          {
+            "name": "Block Storage",
+            "type": "hpext:blockstore",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          },
+          {
+            "name": "Compute",
+            "type": "compute",
+            "endpoints": [{
+              "tenantId": "46871569847393",
+              "publicURL": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/46871569847393",
+              "publicURL2": "https:\/\/az-2.region-a.geo-1.ec2-compute.hpcloudsvc.com\/services\/Cloud",
+              "region": "az-2.region-a.geo-1",
+              "versionId": "1.1",
+              "versionInfo": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com\/v1.1\/",
+              "versionList": "https:\/\/az-2.region-a.geo-1.compute.hpcloudsvc.com"
+            }]
+          }
+        ]
+      }}
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :get
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+      content-type: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 200
+      message: OK
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:51:13 GMT
+      content-length: 
+      - "1035"
+      content-type: 
+      - application/json; charset=UTF-8
+    body: "{\"server\": {\"status\": \"ACTIVE\", \"updated\": \"2012-04-03T11:49:44Z\", \"hostId\": \"89c1c18fee8b55b5e5c0c547e8181744c6fb144a8217ba2473804f5f\", \"user_id\": \"90338821550656\", \"name\": \"Tue Apr 03 14:47:27 +0300 2012\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/v1.1/46871569847393/servers/71940\", \"rel\": \"self\"}, {\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/servers/71940\", \"rel\": \"bookmark\"}], \"addresses\": {\"private\": [{\"version\": 4, \"addr\": \"10.6.45.200\"}]}, \"tenant_id\": \"46871569847393\", \"image\": {\"id\": \"417\", \"links\": [{\"href\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/images/417\", \"rel\": \"bookmark\"}]}, \"created\": \"2012-04-03T11:47:43Z\", \"uuid\": \"2c84201d-1aaf-4f10-a9a7-e4a755de1068\", \"accessIPv4\": \"\", \"accessIPv6\": \"\", \"key_name\": null, \"progress\": 100, \"flavor\": {\"id\": \"100\", \"links\": [{\"hr!
 ef\": \"https://az-2.region-a.geo-1.compute.hpcloudsvc.com/46871569847393/flavors/100\", \"rel\": \"bookmark\"}]}, \"config_drive\": \"\", \"id\": 71940, \"metadata\": {}}}"
+    http_version: "1.1"
+- !ruby/struct:VCR::HTTPInteraction 
+  request: !ruby/struct:VCR::Request 
+    method: :delete
+    uri: https://az-2.region-a.geo-1.compute.hpcloudsvc.com:443/v1.1/46871569847393/servers/71940
+    body: 
+    headers: 
+      x-auth-token: 
+      - HPAuth_4f7ab57ce4b0dfd6b763ca55
+      user-agent: 
+      - OpenStack::Compute Ruby API 1.1.7
+      accept: 
+      - application/json
+  response: !ruby/struct:VCR::Response 
+    status: !ruby/struct:VCR::ResponseStatus 
+      code: 204
+      message: No Content
+    headers: 
+      date: 
+      - Tue, 03 Apr 2012 11:51:14 GMT
+      content-length: 
+      - "0"
+      content-type: 
+      - application/json
+    body: 
+    http_version: "1.1"
-- 
1.7.6.5


Re: [PATCH 2/3] Updates Openstack unit tests for new driver

Posted by Michal Fojtik <mi...@mifo.sk>.
ACK.


On Apr 3, 2012, at 2:28 PM, marios@redhat.com wrote:

> From: marios <ma...@redhat.com>
> 
> 
> Signed-off-by: marios <ma...@redhat.com>
> ---
> server/tests/drivers/openstack/api_test.rb         |    4 +-
> .../drivers/openstack/hardware_profiles_test.rb    |   20 ++++--
> server/tests/drivers/openstack/images_test.rb      |    5 +-
> server/tests/drivers/openstack/instances_test.rb   |   64 ++++++++++++++++----
> server/tests/drivers/openstack/realms_test.rb      |    9 +--
> server/tests/drivers/openstack/setup.rb            |    6 +-
> 6 files changed, 77 insertions(+), 31 deletions(-)
> 
> diff --git a/server/tests/drivers/openstack/api_test.rb b/server/tests/drivers/openstack/api_test.rb
> index 4ec0ac6..14861b0 100644
> --- a/server/tests/drivers/openstack/api_test.rb
> +++ b/server/tests/drivers/openstack/api_test.rb
> @@ -31,10 +31,10 @@ module OpenstackTest
>       collections.include?('instance_states').should == true
>       collections.include?('instances').should == true
>       collections.include?('images').should == true
> -      collections.include?('buckets').should == true
> +#      collections.include?('buckets').should == true # NOT YET IMPLEMENTED FOR V2 driver
>       collections.include?('realms').should == true
>       collections.include?('hardware_profiles').should == true
> -      collections.length.should == 7
> +      collections.length.should == 6 #7
>     end
> 
>   end
> diff --git a/server/tests/drivers/openstack/hardware_profiles_test.rb b/server/tests/drivers/openstack/hardware_profiles_test.rb
> index ed0cd16..0744011 100644
> --- a/server/tests/drivers/openstack/hardware_profiles_test.rb
> +++ b/server/tests/drivers/openstack/hardware_profiles_test.rb
> @@ -12,7 +12,7 @@ module OpenstackTest
> 
>     def test_01_it_returns_hardware_profiles
>       get_auth_url '/api;driver=openstack/hardware_profiles'
> -      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
> +      (last_xml_response/'hardware_profiles/hardware_profile').length.should > 0
>     end
> 
>     def test_02_each_hardware_profile_has_a_name
> @@ -32,21 +32,27 @@ module OpenstackTest
>         (profile/'property[@name="storage"]').first[:unit].should == 'GB'
>         (profile/'property[@name="storage"]').first[:kind].should == 'fixed'
>       end
> +      hwp = ((last_xml_response/'hardware_profiles/hardware_profile').first)
> +      @@hwp = { :id => hwp[:id],
> +                :arch => (hwp/'property[@name="architecture"]').first[:value],
> +                :mem => (hwp/'property[@name="memory"]').first[:value],
> +                :disk => (hwp/'property[@name="storage"]').first[:value] }
> +      @@no_of_profiles = (last_xml_response/'hardware_profiles/hardware_profile').length
>     end
> 
>     def test_04_it_returns_single_hardware_profile
> -      get_auth_url '/api;driver=openstack/hardware_profiles/1'
> -      (last_xml_response/'hardware_profile/name').first.text.should == '1'
> -      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should == 'x86_64'
> -      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should == '512'
> -      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should == '0'
> +      get_auth_url "/api;driver=openstack/hardware_profiles/#{@@hwp[:id]}"
> +      (last_xml_response/'hardware_profile/name').first.text.should == @@hwp[:id]
> +      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should == @@hwp[:arch]
> +      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should == @@hwp[:mem]
> +      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should == @@hwp[:disk]
>     end
> 
>     def test_05_it_filter_hardware_profiles
>       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=i386'
>       (last_xml_response/'hardware_profiles/hardware_profile').length.should == 0
>       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=x86_64'
> -      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
> +      (last_xml_response/'hardware_profiles/hardware_profile').length.should == @@no_of_profiles
>     end
> 
>   end
> diff --git a/server/tests/drivers/openstack/images_test.rb b/server/tests/drivers/openstack/images_test.rb
> index 8b16f93..9b71653 100644
> --- a/server/tests/drivers/openstack/images_test.rb
> +++ b/server/tests/drivers/openstack/images_test.rb
> @@ -25,14 +25,15 @@ module OpenstackTest
>         (image/'architecture').should_not == nil
>         (image/'architecture').should_not == ''
>         (image/'state').text.should == 'ACTIVE'
> -        (image/'owner_id').text.should == ENV['API_USER']
> +        ENV['API_USER'].include?((image/'owner_id').text).should == true
>         (image/'actions/link').length.should == 1
>         (image/'actions/link').first[:rel].should == 'create_instance'
>       end
> +      @@image_id = ((last_xml_response/'images/image').first)[:id]
>     end
> 
>     def test_03_it_returns_single_image
> -      get_auth_url '/api;driver=openstack/images/1'
> +      get_auth_url "/api;driver=openstack/images/#{@@image_id}"
>       (last_xml_response/'image').length.should == 1
>     end
> 
> diff --git a/server/tests/drivers/openstack/instances_test.rb b/server/tests/drivers/openstack/instances_test.rb
> index 8020092..c2e2b76 100644
> --- a/server/tests/drivers/openstack/instances_test.rb
> +++ b/server/tests/drivers/openstack/instances_test.rb
> @@ -11,35 +11,43 @@ module OpenstackTest
>     end
> 
>     def test_01_01_it_can_create_instance_without_hardware_profile
> +      get_auth_url '/api;driver=openstack/images'
> +      @@image_id = ((last_xml_response/'images/image').first)[:id]
>       params = {
> -        :image_id => '4',
> +        :image_id => @@image_id,
>         :'api[driver]' => 'openstack',
>       }
> -      post_url '/api/instances', params
> +      uri = '/api/instances'
> +      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
> +      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
>       last_response.status.should == 201 # Created
>       @@instance = last_xml_response
>       (@@instance/'instance').length.should > 0
>       (@@instance/'instance/name').first.text.should_not == nil
>       (@@instance/'instance/name').first.text.should_not == nil
>       (@@instance/'instance/owner_id').first.text.should_not == ''
> -      (@@instance/'instance/owner_id').first.text.should == ENV['API_USER']
> +      ENV['API_USER'].include?((@@instance/'instance/owner_id').first.text).should == true
>       (@@instance/'instance/state').first.text.should == 'PENDING'
>     end
> 
>     def test_01_02_it_can_create_instance_with_hardware_profile
> +      get_auth_url '/api;driver=openstack/hardware_profiles'
> +      @@hwp_id = ((last_xml_response/'hardware_profiles/hardware_profile').first)[:id]
>       params = {
> -        :image_id => '4',
> -        :hwp_id => '2',
> +        :image_id => @@image_id,
> +        :hwp_id => @@hwp_id,
>         :'api[driver]' => 'openstack',
>       }
> -      post_url '/api/instances', params
> +      uri = '/api/instances'
> +      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
> +      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
>       last_response.status.should == 201 # Created
>       @@instance2 = last_xml_response
>       (@@instance2/'instance').length.should > 0
>       (@@instance2/'instance/name').first.text.should_not == nil
>       (@@instance2/'instance/name').first.text.should_not == nil
>       (@@instance2/'instance/owner_id').first.text.should_not == ''
> -      (@@instance2/'instance/owner_id').first.text.should == ENV['API_USER']
> +      ENV['API_USER'].include?((@@instance2/'instance/owner_id').first.text).should == true
>       (@@instance2/'instance/state').first.text.should == 'PENDING'
>     end
> 
> @@ -58,6 +66,7 @@ module OpenstackTest
>       (@@instance2/'instance/authentication/login/password').first.text.should_not == nil
>       (@@instance2/'instance/authentication/login/password').first.text.should_not == ''
>     end
> +
> =begin
>     TODO: Disabled since our testing setup doesn't return IP addresses yet ;-)
>     def test_03_01_created_instance_has_correct_addresses
> @@ -75,7 +84,7 @@ module OpenstackTest
> 
>     def test_03_02_created_instance_has_correct_hardware_profile
>       (@@instance2/'instance/hardware_profile').length.should == 1
> -      (@@instance2/'instance/hardware_profile').first[:id].should == "2"
> +      (@@instance2/'instance/hardware_profile').first[:id].should == @@hwp_id
>       (@@instance2/'instance/hardware_profile').first[:href].should_not == nil
>     end
> 
> @@ -94,7 +103,6 @@ module OpenstackTest
>       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
>       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
>       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not == nil
> -      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
>     end
> 
>     def test_04_02_created_instance_goes_to_running_state
> @@ -112,7 +120,6 @@ module OpenstackTest
>       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
>       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
>       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not == nil
> -      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
>     end
> 
>     def test_05_01_created_instance_can_be_rebooted
> @@ -120,7 +127,7 @@ module OpenstackTest
>         :'api[driver]' => 'openstack',
>       }
>       post_url "/api/instances/#{(@@instance/'instance').first[:id]}/reboot", params
> -      last_response.status.should == 200
> +      last_response.status.should == 202
>       20.times do |tick|
>         get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}", { :tick => tick}
>         last_response.status.should_not == 500
> @@ -130,7 +137,31 @@ module OpenstackTest
>       end
>     end
> 
> +    def test_05_02_created_instance_can_be_rebooted
> +      params = {
> +        :'api[driver]' => 'openstack',
> +      }
> +      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/reboot", params
> +      last_response.status.should == 202
> +      20.times do |tick|
> +        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
> +        last_response.status.should_not == 500
> +        state = (last_xml_response/'instance/state').first.text
> +        break if state=='RUNNING'
> +        sleep(5)
> +      end
> +    end
> +
>     def test_06_01_created_instance_can_be_destroyed
> +      #first make sure we recovered from the reboot
> +      20.times do |tick|
> +        get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}", { :tick => tick}
> +        last_response.status.should_not == 500
> +        state = (last_xml_response/'instance/state').first.text
> +        break if state=='RUNNING'
> +        sleep(5)
> +      end
> +      #now destroy
>       params = {
>         :'api[driver]' => 'openstack',
>       }
> @@ -146,10 +177,19 @@ module OpenstackTest
>     end
> 
>     def test_06_02_created_instance_can_be_destroyed
> +      #first make sure we recovered from the reboot
> +      20.times do |tick|
> +        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
> +        last_response.status.should_not == 500
> +        state = (last_xml_response/'instance/state').first.text
> +        break if state=='RUNNING'
> +        sleep(5)
> +      end
> +      #now destroy
>       params = {
>         :'api[driver]' => 'openstack',
>       }
> -      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params, authenticate
> +      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params
>       last_response.status.should == 200
>       20.times do |tick|
>         get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
> diff --git a/server/tests/drivers/openstack/realms_test.rb b/server/tests/drivers/openstack/realms_test.rb
> index 7929099..f62a6f9 100644
> --- a/server/tests/drivers/openstack/realms_test.rb
> +++ b/server/tests/drivers/openstack/realms_test.rb
> @@ -12,7 +12,7 @@ module OpenstackTest
> 
>     def test_01_it_returns_realms
>       get_auth_url '/api;driver=openstack/realms'
> -      (last_xml_response/'realms/realm').length.should == 1
> +      (last_xml_response/'realms/realm').length.should > 0
>     end
> 
>     def test_02_each_realm_has_a_name
> @@ -20,16 +20,15 @@ module OpenstackTest
>       (last_xml_response/'realms/realm').each do |profile|
>         (profile/'name').text.should_not == nil
>         (profile/'name').text.should_not == ''
> -        (profile/'name').text.should == 'United States'
> +        (profile/'name').text.should == 'default'
>       end
>     end
> 
>     def test_03_it_returns_single_realm
>       get_auth_url '/api;driver=openstack/realms/us'
> -      (last_xml_response/'realm').first[:id].should == 'us'
> -      (last_xml_response/'realm/name').first.text.should == 'United States'
> +      (last_xml_response/'realm').first[:id].should == 'default'
> +      (last_xml_response/'realm/name').first.text.should == 'default'
>       (last_xml_response/'realm/state').first.text.should == 'AVAILABLE'
> -      (last_xml_response/'realm/limit').first.text.should == ''
>     end
> 
>   end
> diff --git a/server/tests/drivers/openstack/setup.rb b/server/tests/drivers/openstack/setup.rb
> index 3e3645a..b9e1ca0 100644
> --- a/server/tests/drivers/openstack/setup.rb
> +++ b/server/tests/drivers/openstack/setup.rb
> @@ -1,8 +1,8 @@
> ENV.delete 'API_VERBOSE'
> ENV['API_DRIVER']   = "openstack"
> -ENV['API_USER']     = 'mfojtik'
> -ENV['API_PASSWORD'] = 'test'
> -ENV['API_PROVIDER'] = 'http://mfojtik-2.brq.redhat.com:8774/auth/1.1'
> +ENV['API_USER']     = 'foo@bar.com+foo@bar.com-default-tenant'
> +ENV['API_PASSWORD'] = 'Not_a_real_password!1'
> +ENV['API_PROVIDER'] = 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
> 
> require 'vcr'
> DeltacloudTestCommon::record!
> -- 
> 1.7.6.5
> 


[PATCH 2/3] Updates Openstack unit tests for new driver

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


Signed-off-by: marios <ma...@redhat.com>
---
 server/tests/drivers/openstack/api_test.rb         |    4 +-
 .../drivers/openstack/hardware_profiles_test.rb    |   20 ++++--
 server/tests/drivers/openstack/images_test.rb      |    5 +-
 server/tests/drivers/openstack/instances_test.rb   |   64 ++++++++++++++++----
 server/tests/drivers/openstack/realms_test.rb      |    9 +--
 server/tests/drivers/openstack/setup.rb            |    6 +-
 6 files changed, 77 insertions(+), 31 deletions(-)

diff --git a/server/tests/drivers/openstack/api_test.rb b/server/tests/drivers/openstack/api_test.rb
index 4ec0ac6..14861b0 100644
--- a/server/tests/drivers/openstack/api_test.rb
+++ b/server/tests/drivers/openstack/api_test.rb
@@ -31,10 +31,10 @@ module OpenstackTest
       collections.include?('instance_states').should == true
       collections.include?('instances').should == true
       collections.include?('images').should == true
-      collections.include?('buckets').should == true
+#      collections.include?('buckets').should == true # NOT YET IMPLEMENTED FOR V2 driver
       collections.include?('realms').should == true
       collections.include?('hardware_profiles').should == true
-      collections.length.should == 7
+      collections.length.should == 6 #7
     end
 
   end
diff --git a/server/tests/drivers/openstack/hardware_profiles_test.rb b/server/tests/drivers/openstack/hardware_profiles_test.rb
index ed0cd16..0744011 100644
--- a/server/tests/drivers/openstack/hardware_profiles_test.rb
+++ b/server/tests/drivers/openstack/hardware_profiles_test.rb
@@ -12,7 +12,7 @@ module OpenstackTest
 
     def test_01_it_returns_hardware_profiles
       get_auth_url '/api;driver=openstack/hardware_profiles'
-      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
+      (last_xml_response/'hardware_profiles/hardware_profile').length.should > 0
     end
 
     def test_02_each_hardware_profile_has_a_name
@@ -32,21 +32,27 @@ module OpenstackTest
         (profile/'property[@name="storage"]').first[:unit].should == 'GB'
         (profile/'property[@name="storage"]').first[:kind].should == 'fixed'
       end
+      hwp = ((last_xml_response/'hardware_profiles/hardware_profile').first)
+      @@hwp = { :id => hwp[:id],
+                :arch => (hwp/'property[@name="architecture"]').first[:value],
+                :mem => (hwp/'property[@name="memory"]').first[:value],
+                :disk => (hwp/'property[@name="storage"]').first[:value] }
+      @@no_of_profiles = (last_xml_response/'hardware_profiles/hardware_profile').length
     end
 
     def test_04_it_returns_single_hardware_profile
-      get_auth_url '/api;driver=openstack/hardware_profiles/1'
-      (last_xml_response/'hardware_profile/name').first.text.should == '1'
-      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should == 'x86_64'
-      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should == '512'
-      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should == '0'
+      get_auth_url "/api;driver=openstack/hardware_profiles/#{@@hwp[:id]}"
+      (last_xml_response/'hardware_profile/name').first.text.should == @@hwp[:id]
+      (last_xml_response/'hardware_profile/property[@name="architecture"]').first[:value].should == @@hwp[:arch]
+      (last_xml_response/'hardware_profile/property[@name="memory"]').first[:value].should == @@hwp[:mem]
+      (last_xml_response/'hardware_profile/property[@name="storage"]').first[:value].should == @@hwp[:disk]
     end
 
     def test_05_it_filter_hardware_profiles
       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=i386'
       (last_xml_response/'hardware_profiles/hardware_profile').length.should == 0
       get_auth_url '/api;driver=openstack/hardware_profiles?architecture=x86_64'
-      (last_xml_response/'hardware_profiles/hardware_profile').length.should == 5
+      (last_xml_response/'hardware_profiles/hardware_profile').length.should == @@no_of_profiles
     end
 
   end
diff --git a/server/tests/drivers/openstack/images_test.rb b/server/tests/drivers/openstack/images_test.rb
index 8b16f93..9b71653 100644
--- a/server/tests/drivers/openstack/images_test.rb
+++ b/server/tests/drivers/openstack/images_test.rb
@@ -25,14 +25,15 @@ module OpenstackTest
         (image/'architecture').should_not == nil
         (image/'architecture').should_not == ''
         (image/'state').text.should == 'ACTIVE'
-        (image/'owner_id').text.should == ENV['API_USER']
+        ENV['API_USER'].include?((image/'owner_id').text).should == true
         (image/'actions/link').length.should == 1
         (image/'actions/link').first[:rel].should == 'create_instance'
       end
+      @@image_id = ((last_xml_response/'images/image').first)[:id]
     end
 
     def test_03_it_returns_single_image
-      get_auth_url '/api;driver=openstack/images/1'
+      get_auth_url "/api;driver=openstack/images/#{@@image_id}"
       (last_xml_response/'image').length.should == 1
     end
 
diff --git a/server/tests/drivers/openstack/instances_test.rb b/server/tests/drivers/openstack/instances_test.rb
index 8020092..c2e2b76 100644
--- a/server/tests/drivers/openstack/instances_test.rb
+++ b/server/tests/drivers/openstack/instances_test.rb
@@ -11,35 +11,43 @@ module OpenstackTest
     end
 
     def test_01_01_it_can_create_instance_without_hardware_profile
+      get_auth_url '/api;driver=openstack/images'
+      @@image_id = ((last_xml_response/'images/image').first)[:id]
       params = {
-        :image_id => '4',
+        :image_id => @@image_id,
         :'api[driver]' => 'openstack',
       }
-      post_url '/api/instances', params
+      uri = '/api/instances'
+      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
+      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
       last_response.status.should == 201 # Created
       @@instance = last_xml_response
       (@@instance/'instance').length.should > 0
       (@@instance/'instance/name').first.text.should_not == nil
       (@@instance/'instance/name').first.text.should_not == nil
       (@@instance/'instance/owner_id').first.text.should_not == ''
-      (@@instance/'instance/owner_id').first.text.should == ENV['API_USER']
+      ENV['API_USER'].include?((@@instance/'instance/owner_id').first.text).should == true
       (@@instance/'instance/state').first.text.should == 'PENDING'
     end
 
     def test_01_02_it_can_create_instance_with_hardware_profile
+      get_auth_url '/api;driver=openstack/hardware_profiles'
+      @@hwp_id = ((last_xml_response/'hardware_profiles/hardware_profile').first)[:id]
       params = {
-        :image_id => '4',
-        :hwp_id => '2',
+        :image_id => @@image_id,
+        :hwp_id => @@hwp_id,
         :'api[driver]' => 'openstack',
       }
-      post_url '/api/instances', params
+      uri = '/api/instances'
+      vcr_cassette = stable_vcr_cassette_name('post', uri, params)
+      post_url uri, params, {'vcr_cassette'=>vcr_cassette}
       last_response.status.should == 201 # Created
       @@instance2 = last_xml_response
       (@@instance2/'instance').length.should > 0
       (@@instance2/'instance/name').first.text.should_not == nil
       (@@instance2/'instance/name').first.text.should_not == nil
       (@@instance2/'instance/owner_id').first.text.should_not == ''
-      (@@instance2/'instance/owner_id').first.text.should == ENV['API_USER']
+      ENV['API_USER'].include?((@@instance2/'instance/owner_id').first.text).should == true
       (@@instance2/'instance/state').first.text.should == 'PENDING'
     end
 
@@ -58,6 +66,7 @@ module OpenstackTest
       (@@instance2/'instance/authentication/login/password').first.text.should_not == nil
       (@@instance2/'instance/authentication/login/password').first.text.should_not == ''
     end
+
 =begin
     TODO: Disabled since our testing setup doesn't return IP addresses yet ;-)
     def test_03_01_created_instance_has_correct_addresses
@@ -75,7 +84,7 @@ module OpenstackTest
 
     def test_03_02_created_instance_has_correct_hardware_profile
       (@@instance2/'instance/hardware_profile').length.should == 1
-      (@@instance2/'instance/hardware_profile').first[:id].should == "2"
+      (@@instance2/'instance/hardware_profile').first[:id].should == @@hwp_id
       (@@instance2/'instance/hardware_profile').first[:href].should_not == nil
     end
 
@@ -94,7 +103,6 @@ module OpenstackTest
       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not == nil
-      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
     end
 
     def test_04_02_created_instance_goes_to_running_state
@@ -112,7 +120,6 @@ module OpenstackTest
       (last_xml_response/'instance/actions/link[@rel="reboot"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="stop"]').first.should_not == nil
       (last_xml_response/'instance/actions/link[@rel="create_image"]').first.should_not == nil
-      (last_xml_response/'instance/actions/link[@rel="run"]').first.should_not == nil
     end
 
     def test_05_01_created_instance_can_be_rebooted
@@ -120,7 +127,7 @@ module OpenstackTest
         :'api[driver]' => 'openstack',
       }
       post_url "/api/instances/#{(@@instance/'instance').first[:id]}/reboot", params
-      last_response.status.should == 200
+      last_response.status.should == 202
       20.times do |tick|
         get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}", { :tick => tick}
         last_response.status.should_not == 500
@@ -130,7 +137,31 @@ module OpenstackTest
       end
     end
 
+    def test_05_02_created_instance_can_be_rebooted
+      params = {
+        :'api[driver]' => 'openstack',
+      }
+      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/reboot", params
+      last_response.status.should == 202
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+    end
+
     def test_06_01_created_instance_can_be_destroyed
+      #first make sure we recovered from the reboot
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance/'instance').first[:id]}", { :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+      #now destroy
       params = {
         :'api[driver]' => 'openstack',
       }
@@ -146,10 +177,19 @@ module OpenstackTest
     end
 
     def test_06_02_created_instance_can_be_destroyed
+      #first make sure we recovered from the reboot
+      20.times do |tick|
+        get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
+        last_response.status.should_not == 500
+        state = (last_xml_response/'instance/state').first.text
+        break if state=='RUNNING'
+        sleep(5)
+      end
+      #now destroy
       params = {
         :'api[driver]' => 'openstack',
       }
-      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params, authenticate
+      post_url "/api/instances/#{(@@instance2/'instance').first[:id]}/stop", params
       last_response.status.should == 200
       20.times do |tick|
         get_auth_url "/api;driver=openstack/instances/#{(@@instance2/'instance').first[:id]}", { :tick => tick}
diff --git a/server/tests/drivers/openstack/realms_test.rb b/server/tests/drivers/openstack/realms_test.rb
index 7929099..f62a6f9 100644
--- a/server/tests/drivers/openstack/realms_test.rb
+++ b/server/tests/drivers/openstack/realms_test.rb
@@ -12,7 +12,7 @@ module OpenstackTest
 
     def test_01_it_returns_realms
       get_auth_url '/api;driver=openstack/realms'
-      (last_xml_response/'realms/realm').length.should == 1
+      (last_xml_response/'realms/realm').length.should > 0
     end
 
     def test_02_each_realm_has_a_name
@@ -20,16 +20,15 @@ module OpenstackTest
       (last_xml_response/'realms/realm').each do |profile|
         (profile/'name').text.should_not == nil
         (profile/'name').text.should_not == ''
-        (profile/'name').text.should == 'United States'
+        (profile/'name').text.should == 'default'
       end
     end
 
     def test_03_it_returns_single_realm
       get_auth_url '/api;driver=openstack/realms/us'
-      (last_xml_response/'realm').first[:id].should == 'us'
-      (last_xml_response/'realm/name').first.text.should == 'United States'
+      (last_xml_response/'realm').first[:id].should == 'default'
+      (last_xml_response/'realm/name').first.text.should == 'default'
       (last_xml_response/'realm/state').first.text.should == 'AVAILABLE'
-      (last_xml_response/'realm/limit').first.text.should == ''
     end
 
   end
diff --git a/server/tests/drivers/openstack/setup.rb b/server/tests/drivers/openstack/setup.rb
index 3e3645a..b9e1ca0 100644
--- a/server/tests/drivers/openstack/setup.rb
+++ b/server/tests/drivers/openstack/setup.rb
@@ -1,8 +1,8 @@
 ENV.delete 'API_VERBOSE'
 ENV['API_DRIVER']   = "openstack"
-ENV['API_USER']     = 'mfojtik'
-ENV['API_PASSWORD'] = 'test'
-ENV['API_PROVIDER'] = 'http://mfojtik-2.brq.redhat.com:8774/auth/1.1'
+ENV['API_USER']     = 'foo@bar.com+foo@bar.com-default-tenant'
+ENV['API_PASSWORD'] = 'Not_a_real_password!1'
+ENV['API_PROVIDER'] = 'https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/'
 
 require 'vcr'
 DeltacloudTestCommon::record!
-- 
1.7.6.5