From 54dc07e7edcb9fbc0fe78c1d4263ca8f11c5b9a6 Mon Sep 17 00:00:00 2001 From: Alvin Garcia Date: Tue, 8 Oct 2013 13:30:20 +0800 Subject: [PATCH] [compute] Add delete_image_metadata_item request --- .../v2/public/delete_image_metadata_item.rb | 31 +++ .../public/delete_image_metadata_item_test.rb | 159 ++++++++++++++++ ...onse_when_invalid_image_id_is_provided.yml | 98 ++++++++++ ..._when_invalid_metadata_key_is_provided.yml | 147 ++++++++++++++ ...image_id_and_metadata_key_are_provided.yml | 180 ++++++++++++++++++ .../returns_the_correct_value_for_body_.yml | 65 +++++++ ...returns_the_correct_value_for_headers_.yml | 65 +++++++ ...rns_the_correct_value_for_http_method_.yml | 65 +++++++ .../returns_the_correct_value_for_url_.yml | 65 +++++++ 9 files changed, 875 insertions(+) create mode 100644 lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb create mode 100644 test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml diff --git a/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb b/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb new file mode 100644 index 0000000..9fded24 --- /dev/null +++ b/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb @@ -0,0 +1,31 @@ +module Aviator + + define_request :delete_image_metadata_item, inherit: [:openstack, :common, :v2, :public, :base] do + + meta :service, :compute + + link 'documentation', + 'http://docs.openstack.org/api/openstack-compute/2/content/Delete_Metadata_Item-d1e5790.html' + + + param :id, required: true + param :key, required: true + + + def headers + super + end + + + def http_method + :delete + end + + + def url + "#{ base_url }/images/#{ params[:id] }/metadata/#{ params[:key] }" + end + + end + +end diff --git a/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb b/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb new file mode 100644 index 0000000..5fb39a0 --- /dev/null +++ b/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb @@ -0,0 +1,159 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/compute/v2/public/delete_image_metadata_item' do + + def create_request(session_data = delete_session_data, &block) + block ||= lambda do |p| + p[:id] = 'doesnt matter' + p[:key] = 'doesnt matter' + end + + klass.new(session_data, &block) + end + + + def delete_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'delete_image_metadata_item.rb') + end + + + def session + unless @session + @session = Aviator::Session.new( + config_file: Environment.path, + environment: 'openstack_member' + ) + @session.authenticate + end + + @session + end + + + validate_attr :anonymous? do + klass.anonymous?.must_equal false + end + + + validate_attr :api_version do + klass.api_version.must_equal :v2 + end + + + validate_attr :body do + klass.body?.must_equal false + create_request.body?.must_equal false + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + session_data = delete_session_data + + headers = { 'X-Auth-Token' => session_data[:access][:token][:id] } + + request = create_request(session_data) + + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :delete + end + + + validate_attr :required_params do + klass.required_params.must_equal [:id, :key] + end + + + validate_attr :url do + image_id = 'doesnt matter' + metadata_key = 'doesnt matter' + service_spec = delete_session_data[:access][:serviceCatalog].find { |s| s[:type] == 'compute' } + url = "#{ service_spec[:endpoints][0][:publicURL] }/images/#{ image_id }/metadata/#{ metadata_key }" + + request = create_request do |p| + p[:id] = image_id + p[:key] = metadata_key + end + + request.url.must_equal url + end + + + validate_response 'valid image id and metadata key are provided' do + service = session.compute_service + + images = service.request :list_images + image_id = images.body[:images].first[:id] + + metadata = service.request(:list_image_metadata) { |p| p[:id] = image_id }.body[:metadata] + metadata_key = metadata.keys.first + + response = service.request :delete_image_metadata_item do |params| + params[:id] = image_id + params[:key] = metadata_key + end + + response.status.must_equal 204 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + validate_response 'invalid image id is provided' do + service = session.compute_service + image_id = 'invalidimageid' + metadata_key = 'doesntmatter' + + response = service.request :delete_image_metadata_item do |params| + params[:id] = image_id + params[:key] = metadata_key + end + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + validate_response 'invalid metadata key is provided' do + service = session.compute_service + + images = service.request :list_images + image_id = images.body[:images].first[:id] + + metadata_key = 'invalidmetadatakey' + + response = service.request :delete_image_metadata_item do |params| + params[:id] = image_id + params[:key] = metadata_key + end + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + end + +end diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml new file mode 100644 index 0000000..290e1e5 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml @@ -0,0 +1,98 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:10 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:10.255370", + "expires": "2013-10-09T05:29:10Z", "id": "66c561219a644e57b90cdec3781db977", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:10 GMT +- request: + method: delete + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/invalidimageid/metadata/doesntmatter + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 66c561219a644e57b90cdec3781db977 + response: + status: + code: 404 + message: + headers: + content-length: + - '62' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-5ddebad9-b537-41f8-8b94-0ca2899b879f + date: + - Tue, 08 Oct 2013 05:29:10 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "Image not found.", "code": 404}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:10 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml new file mode 100644 index 0000000..15f382f --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml @@ -0,0 +1,147 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:11.373955", + "expires": "2013-10-09T05:29:11Z", "id": "a9de723281864ec5a8c46279c814750c", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +- request: + method: get + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - a9de723281864ec5a8c46279c814750c + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-31eee8f0-0192-46c0-af60-a2dab951dff8 + content-type: + - application/json + content-length: + - '2135' + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"images": [{"id": "2755c6d2-2978-4053-a728-f77388e24bec", "links": + [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "my-snapshot"}, + {"id": "c5da2307-0a45-40ad-9889-aad7a3f03436", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec"}, + {"id": "a7d0c249-decb-421b-896f-135cd429cd73", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-ramdisk"}, + {"id": "27eb9b65-0e56-44c2-9d23-835e35646ba7", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-kernel"}]}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +- request: + method: delete + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec/metadata/invalidmetadatakey + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - a9de723281864ec5a8c46279c814750c + response: + status: + code: 404 + message: + headers: + content-length: + - '66' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-3236e663-7146-4c05-ae00-a5e2576473a1 + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "Invalid metadata key", "code": 404}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml new file mode 100644 index 0000000..70bc8d5 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml @@ -0,0 +1,180 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:10 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:10.675785", + "expires": "2013-10-09T05:29:10Z", "id": "49627e5fe6ca427f89792ddf4b0a3046", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:10 GMT +- request: + method: get + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 49627e5fe6ca427f89792ddf4b0a3046 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-ef67fb14-7e05-4c59-8771-e9192fffa30e + content-type: + - application/json + content-length: + - '2135' + date: + - Tue, 08 Oct 2013 05:29:10 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"images": [{"id": "2755c6d2-2978-4053-a728-f77388e24bec", "links": + [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "my-snapshot"}, + {"id": "c5da2307-0a45-40ad-9889-aad7a3f03436", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/c5da2307-0a45-40ad-9889-aad7a3f03436", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec"}, + {"id": "a7d0c249-decb-421b-896f-135cd429cd73", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/a7d0c249-decb-421b-896f-135cd429cd73", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-ramdisk"}, + {"id": "27eb9b65-0e56-44c2-9d23-835e35646ba7", "links": [{"href": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "rel": "self"}, {"href": "http://127.0.0.1:8774/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "rel": "bookmark"}, {"href": "http://127.0.0.1:9292/5eaedfd28a054b6189750bc1ccb8be5a/images/27eb9b65-0e56-44c2-9d23-835e35646ba7", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-kernel"}]}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +- request: + method: get + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec/metadata + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 49627e5fe6ca427f89792ddf4b0a3046 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-a8de5ef2-7d5f-4097-a8af-095dd2900bff + content-type: + - application/json + content-length: + - '46' + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"metadata": {"foo": "lorem", "bar": "ipsum"}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +- request: + method: delete + uri: http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a/images/2755c6d2-2978-4053-a728-f77388e24bec/metadata/foo + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 49627e5fe6ca427f89792ddf4b0a3046 + response: + status: + code: 204 + message: + headers: + content-length: + - '0' + x-compute-request-id: + - req-d66c7308-0b30-43fd-a531-0fc1a069dfb1 + content-type: + - application/json + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: '' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:11 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..16a6c4c --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:11 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:11.877737", + "expires": "2013-10-09T05:29:11Z", "id": "018e886ae9844ac18b46032a2f4c5e52", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:12 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..cd0a581 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:12 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:12.056266", + "expires": "2013-10-09T05:29:12Z", "id": "e6b04531729d4b4e972fdfdcac03dd42", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:12 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..42c2d52 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:09 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:09.891794", + "expires": "2013-10-09T05:29:09Z", "id": "68ae06dba37d48d0aa0c416246596ac0", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:10 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..dde9f8e --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml @@ -0,0 +1,65 @@ +--- +http_interactions: +- request: + method: post + uri: :5000/v2.0/tokens + body: + encoding: UTF-8 + string: ! '{"auth":{"passwordCredentials":{"username":"","password":""},"tenantName":""}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + response: + status: + code: 200 + message: + headers: + vary: + - X-Auth-Token + content-type: + - application/json + content-length: + - '2677' + date: + - Tue, 08 Oct 2013 05:29:10 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-10-08T05:29:10.081529", + "expires": "2013-10-09T05:29:10Z", "id": "68e6398cdacd4601b1cda04c734b2cb8", + "tenant": {"description": "", "enabled": true, "id": "5eaedfd28a054b6189750bc1ccb8be5a", + "name": ""}}, "serviceCatalog": [{"endpoints": + [{"adminURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "058dfe093abb4befbe686c0332a68463", "publicURL": "http://127.0.0.1:8774/v2/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:3333", "region": "RegionOne", "internalURL": "http://127.0.0.1:3333", + "id": "24fc6aff470e4feabec22cfaad00d8e8", "publicURL": "http://127.0.0.1:3333"}], + "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:9292", "region": "RegionOne", "internalURL": "http://127.0.0.1:9292", + "id": "00bcfe025b504085911dfbf6cf445348", "publicURL": "http://127.0.0.1:9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + "http://127.0.0.1:8777", "region": "RegionOne", "internalURL": "http://127.0.0.1:8777", + "id": "266f73a4319a4f659052bc4a49d395d2", "publicURL": "http://127.0.0.1:8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "region": "RegionOne", "internalURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a", + "id": "17ad473a2a5e420ca5eee8367cc6eb5d", "publicURL": "http://127.0.0.1:8776/v1/5eaedfd28a054b6189750bc1ccb8be5a"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": "http://127.0.0.1:8773/services/Admin", "region": "RegionOne", + "internalURL": "http://127.0.0.1:8773/services/Cloud", "id": "3d71ad35bb07412d9903f1a1b5637d91", + "publicURL": "http://127.0.0.1:8773/services/Cloud"}], "endpoints_links": + [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://127.0.0.1:35357/v2.0", + "region": "RegionOne", "internalURL": "http://127.0.0.1:5000/v2.0", "id": + "3f99e67e2aab474fbd8952e2684ad6c3", "publicURL": "http://127.0.0.1:5000/v2.0"}], + "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": + "", "roles_links": [], "id": "64a1ac655882436e8c5a404a69f42f10", + "roles": [{"name": "_member_"}, {"name": "project_manager"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "59153b1dfbca414bb60731d217b8bade"]}}}' + http_version: + recorded_at: Tue, 08 Oct 2013 05:29:10 GMT +recorded_with: VCR 2.5.0