From d3d11ce4fe37f1d6169acae5afe81517f489e237 Mon Sep 17 00:00:00 2001 From: Mark Maglana Date: Mon, 9 Sep 2013 17:01:33 -0700 Subject: [PATCH] Implements #11: rebuild_server --- .../compute/v2/public/rebuild_server.rb | 63 +++++ .../compute/v2/public/rebuild_server_test.rb | 183 +++++++++++++++ ...onse_when_invalid_image_id_is_provided.yml | 133 +++++++++++ ...nse_when_invalid_server_id_is_provided.yml | 167 ++++++++++++++ ...esponse_when_valid_params_are_provided.yml | 216 ++++++++++++++++++ .../returns_the_correct_value_for_body_.yml | 63 +++++ ...returns_the_correct_value_for_headers_.yml | 63 +++++ ...rns_the_correct_value_for_http_method_.yml | 63 +++++ .../returns_the_correct_value_for_url_.yml | 63 +++++ 9 files changed, 1014 insertions(+) create mode 100644 lib/aviator/openstack/compute/v2/public/rebuild_server.rb create mode 100644 test/aviator/openstack/compute/v2/public/rebuild_server_test.rb create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_valid_params_are_provided.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_body_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_headers_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_http_method_.yml create mode 100644 test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_url_.yml diff --git a/lib/aviator/openstack/compute/v2/public/rebuild_server.rb b/lib/aviator/openstack/compute/v2/public/rebuild_server.rb new file mode 100644 index 0000000..86fc9a9 --- /dev/null +++ b/lib/aviator/openstack/compute/v2/public/rebuild_server.rb @@ -0,0 +1,63 @@ +module Aviator + + define_request :rebuild_server do + + meta :provider, :openstack + meta :service, :compute + meta :api_version, :v2 + meta :endpoint_type, :public + + link 'documentation', + 'http://docs.openstack.org/api/openstack-compute/2/content/Rebuild_Server-d1e3538.html' + + param :accessIPv4, required: false + param :accessIPv6, required: false + param :adminPass, required: true + param :id, required: true + param :imageRef, required: true + param :metadata, required: false + param :name, required: true + param :personality, required: false + + + def body + p = { + rebuild: { + adminPass: params[:adminPass], + imageRef: params[:imageRef], + name: params[:name] + } + } + + [:accessIPv4, :accessIPv6, :metadata, :personality].each do |key| + p[:rebuild][key] = params[key] if params[key] + end + + p + end + + + def headers + h = {} + + unless self.anonymous? + h['X-Auth-Token'] = session_data[:access][:token][:id] + end + + h + end + + + def http_method + :post + end + + + def url + service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s } + "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ params[:id] }/action" + end + + end + +end diff --git a/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb b/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb new file mode 100644 index 0000000..e1fac64 --- /dev/null +++ b/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb @@ -0,0 +1,183 @@ +require 'test_helper' + +class Aviator::Test + + describe 'aviator/openstack/compute/v2/public/rebuild_server' do + + def create_request(session_data = get_session_data, &block) + block ||= lambda do |params| + params[:adminPass] = 'newadminpassword' + params[:id] = 0 + params[:imageRef] = 'bogusimageref' + params[:name] = 'newservername' + end + + klass.new(session_data, &block) + end + + + def get_session_data + session.send :auth_info + end + + + def helper + Aviator::Test::RequestHelper + end + + + def klass + @klass ||= helper.load_request('openstack', 'compute', 'v2', 'public', 'rebuild_server.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 + request = create_request + + klass.body?.must_equal true + request.body?.must_equal true + request.body.wont_be_nil + end + + + validate_attr :endpoint_type do + klass.endpoint_type.must_equal :public + end + + + validate_attr :headers do + headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] } + + request = create_request + + request.headers.must_equal headers + end + + + validate_attr :http_method do + create_request.http_method.must_equal :post + end + + + validate_attr :optional_params do + klass.optional_params.must_equal [ + :accessIPv4, + :accessIPv6, + :metadata, + :personality + ] + end + + + validate_attr :required_params do + klass.required_params.must_equal [ + :adminPass, + :id, + :imageRef, + :name + ] + end + + + validate_attr :url do + service_spec = get_session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' } + server_id = '105b09f0b6500d36168480ad84' + url = "#{ service_spec[:endpoints][0][:publicURL] }/servers/#{ server_id }/action" + + request = create_request do |params| + params[:adminPass] = 'thisdoesnotmatterforthistest' + params[:id] = server_id + params[:imageRef] = 'thisdoesnotmatterforthistest' + params[:name] = 'thisdoesnotmatterforthistest' + end + + request.url.must_equal url + end + + + validate_response 'valid params are provided' do + server = session.compute_service.request(:list_servers).body[:servers].first + server_id = server[:id] + image = session.compute_service.request(:list_images).body[:images].first + image_id = image[:id] + + + response = session.compute_service.request :rebuild_server do |params| + params[:adminPass] = 'settheadminpasswordtothis' + params[:id] = server_id + params[:imageRef] = image_id + params[:name] = 'setthenewnametothis' + end + + + response.status.must_equal 202 + response.headers.wont_be_nil + end + + + validate_response 'invalid server id is provided' do + server_id = 'abogusserveridthatdoesnotexist' + image = session.compute_service.request(:list_images).body[:images].first + image_id = image[:id] + + + response = session.compute_service.request :rebuild_server do |params| + params[:adminPass] = 'settheadminpasswordtothis' + params[:id] = server_id + params[:imageRef] = image_id + params[:name] = 'setthenewnametothis' + end + + + response.status.must_equal 404 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + validate_response 'invalid image id is provided' do + server = session.compute_service.request(:list_servers).body[:servers].first + server_id = server[:id] + image_id = 'abogusimageidthatdoesnotexist' + + + response = session.compute_service.request :rebuild_server do |params| + params[:adminPass] = 'settheadminpasswordtothis' + params[:id] = server_id + params[:imageRef] = image_id + params[:name] = 'setthenewnametothis' + end + + + response.status.must_equal 400 + response.body.wont_be_nil + response.headers.wont_be_nil + end + + + end + +end \ No newline at end of file diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml new file mode 100644 index 0000000..1b4d273 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml @@ -0,0 +1,133 @@ +--- +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: + - '2701' + date: + - Tue, 10 Sep 2013 00:00:00 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-10T00:00:00.530134", + "expires": "2013-09-10T06:00:00Z", "id": "f043cc2422af4715937b709349b53f8a", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Tue, 10 Sep 2013 00:00:00 GMT +- request: + method: get + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - f043cc2422af4715937b709349b53f8a + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-1320baed-9376-4c91-b586-278896d80f57 + content-type: + - application/json + content-length: + - '394' + date: + - Tue, 10 Sep 2013 00:00:00 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"servers": [{"id": "7ff01c2a-325d-4c05-ac77-5f76df18962a", "links": + [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "bookmark"}], "name": "setthenewnametothis"}]}' + http_version: + recorded_at: Tue, 10 Sep 2013 00:00:00 GMT +- request: + method: post + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a/action + body: + encoding: UTF-8 + string: ! '{"rebuild":{"adminPass":"settheadminpasswordtothis","imageRef":"abogusimageidthatdoesnotexist","name":"setthenewnametothis"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - f043cc2422af4715937b709349b53f8a + response: + status: + code: 400 + message: + headers: + content-length: + - '70' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-4a6fe31b-86e1-4e1b-81ce-07131272448f + date: + - Tue, 10 Sep 2013 00:00:00 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"badRequest": {"message": "Invalid imageRef provided.", "code": + 400}}' + http_version: + recorded_at: Tue, 10 Sep 2013 00:00:00 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml new file mode 100644 index 0000000..39de370 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml @@ -0,0 +1,167 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:59:15 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:59:15.903103", + "expires": "2013-09-10T05:59:15Z", "id": "60f9c43faf1d49c683c93752f43c19f9", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:59:15 GMT +- request: + method: get + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 60f9c43faf1d49c683c93752f43c19f9 + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-249b8b0e-e080-491d-8d8b-d380fc041daa + content-type: + - application/json + content-length: + - '4463' + date: + - Mon, 09 Sep 2013 23:59:18 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"images": [{"id": "dd1fb82a-e290-4a91-97f6-1b9343d9f489", "links": + [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62"}, + {"id": "3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62 + Ramdisk Image"}, {"id": "269b1680-ecdf-4d7d-8167-3860980868de", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62 + Kernel Image"}, {"id": "b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_snapwithapp"}, + {"id": "21a7ea4d-909b-4734-8111-39b4cae80a4a", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin)"}, + {"id": "f1e96d3c-268c-4824-a2d3-69a009be6993", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin) + Kernel Image"}, {"id": "bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin) + Ramdisk Image"}, {"id": "ded9797a-d88a-412d-8812-8dc46b515387", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "64Bit + Ubuntu 12.04"}]}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:59:18 GMT +- request: + method: post + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/abogusserveridthatdoesnotexist/action + body: + encoding: UTF-8 + string: ! '{"rebuild":{"adminPass":"settheadminpasswordtothis","imageRef":"dd1fb82a-e290-4a91-97f6-1b9343d9f489","name":"setthenewnametothis"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 60f9c43faf1d49c683c93752f43c19f9 + response: + status: + code: 404 + message: + headers: + content-length: + - '73' + content-type: + - application/json; charset=UTF-8 + x-compute-request-id: + - req-80ca953f-b531-443f-b176-817bbb46dbfd + date: + - Mon, 09 Sep 2013 23:59:20 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"itemNotFound": {"message": "Instance could not be found", "code": + 404}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:59:20 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_valid_params_are_provided.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_valid_params_are_provided.yml new file mode 100644 index 0000000..59ca3e2 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/leads_to_a_valid_response_when_valid_params_are_provided.yml @@ -0,0 +1,216 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:58:21 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:58:21.381521", + "expires": "2013-09-10T05:58:21Z", "id": "98d356315a1f4288bbe9870d9dc41b3c", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:58:21 GMT +- request: + method: get + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 98d356315a1f4288bbe9870d9dc41b3c + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-07066abb-89a9-4d11-9dc6-add31eed04a2 + content-type: + - application/json + content-length: + - '390' + date: + - Mon, 09 Sep 2013 23:58:22 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"servers": [{"id": "7ff01c2a-325d-4c05-ac77-5f76df18962a", "links": + [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "bookmark"}], "name": "Aviator Testing"}]}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:58:22 GMT +- request: + method: get + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 98d356315a1f4288bbe9870d9dc41b3c + response: + status: + code: 200 + message: + headers: + x-compute-request-id: + - req-433fb776-8d26-4a2d-9e66-34bcc4bf3b75 + content-type: + - application/json + content-length: + - '4463' + date: + - Mon, 09 Sep 2013 23:58:23 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"images": [{"id": "dd1fb82a-e290-4a91-97f6-1b9343d9f489", "links": + [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62"}, + {"id": "3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/3f02eeb4-c812-4ab1-9d20-f15fa1cfc5a6", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62 + Ramdisk Image"}, {"id": "269b1680-ecdf-4d7d-8167-3860980868de", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/269b1680-ecdf-4d7d-8167-3860980868de", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_cent62 + Kernel Image"}, {"id": "b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/b69a1d86-c544-4927-a9c7-efcb7b3dd6ff", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "503_snapwithapp"}, + {"id": "21a7ea4d-909b-4734-8111-39b4cae80a4a", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/21a7ea4d-909b-4734-8111-39b4cae80a4a", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin)"}, + {"id": "f1e96d3c-268c-4824-a2d3-69a009be6993", "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/f1e96d3c-268c-4824-a2d3-69a009be6993", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin) + Kernel Image"}, {"id": "bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/bc83c721-b1a7-44e0-90bc-5b1bbc9d14cb", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "centos5.8(byadmin) + Ramdisk Image"}, {"id": "ded9797a-d88a-412d-8812-8dc46b515387", "links": [{"href": + ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "rel": "bookmark"}, {"href": "http://10.50.3.1:9292/eb87dfa8fdec48678b0f0b0f80b44677/images/ded9797a-d88a-412d-8812-8dc46b515387", + "type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "64Bit + Ubuntu 12.04"}]}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:58:23 GMT +- request: + method: post + uri: :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a/action + body: + encoding: UTF-8 + string: ! '{"rebuild":{"adminPass":"settheadminpasswordtothis","imageRef":"dd1fb82a-e290-4a91-97f6-1b9343d9f489","name":"setthenewnametothis"}}' + headers: + Content-Type: + - application/json + User-Agent: + - Faraday v0.8.8 + X-Auth-Token: + - 98d356315a1f4288bbe9870d9dc41b3c + response: + status: + code: 202 + message: + headers: + x-compute-request-id: + - req-6d16c527-8b87-43cc-a8b8-8ac1b2debd25 + location: + - :8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a + content-type: + - application/json + content-length: + - '1254' + date: + - Mon, 09 Sep 2013 23:58:26 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"server": {"status": "REBUILD", "updated": "2013-09-09T23:58:26Z", + "hostId": "4d0e0980b1e73d508b7f364295c96121d1c41d2bc18a187820d1f0d3", "addresses": + {"novanetwork_5": [{"version": 4, "addr": "10.3.5.3"}, {"version": 4, "addr": + "10.50.3.43"}]}, "links": [{"href": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "self"}, {"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/servers/7ff01c2a-325d-4c05-ac77-5f76df18962a", + "rel": "bookmark"}], "image": {"id": "dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "links": [{"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/images/dd1fb82a-e290-4a91-97f6-1b9343d9f489", + "rel": "bookmark"}]}, "flavor": {"id": "2", "links": [{"href": ":8774/eb87dfa8fdec48678b0f0b0f80b44677/flavors/2", + "rel": "bookmark"}]}, "id": "7ff01c2a-325d-4c05-ac77-5f76df18962a", "user_id": + "afa5a9392bf24cff9b27f7a80c5bb3f2", "name": "setthenewnametothis", "created": + "2013-09-06T21:00:13Z", "tenant_id": "eb87dfa8fdec48678b0f0b0f80b44677", "adminPass": + "settheadminpasswordtothis", "OS-DCF:diskConfig": "MANUAL", "accessIPv4": + "", "accessIPv6": "", "progress": 0, "metadata": {}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:58:26 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_body_.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_body_.yml new file mode 100644 index 0000000..21af565 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_body_.yml @@ -0,0 +1,63 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:41:21 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:41:21.879303", + "expires": "2013-09-10T05:41:21Z", "id": "1175d254dd2b496490c52f93dd1cebe2", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:41:21 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_headers_.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_headers_.yml new file mode 100644 index 0000000..cbd0f5c --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_headers_.yml @@ -0,0 +1,63 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:41:21 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:41:21.326466", + "expires": "2013-09-10T05:41:21Z", "id": "0162ab641cc64b53a4d5dfa44c08d441", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:41:21 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_http_method_.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_http_method_.yml new file mode 100644 index 0000000..72e1188 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_http_method_.yml @@ -0,0 +1,63 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:41:25 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:41:25.530525", + "expires": "2013-09-10T05:41:25Z", "id": "9b7c665bdb374b78875eccc599d063ef", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:41:25 GMT +recorded_with: VCR 2.5.0 diff --git a/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_url_.yml b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_url_.yml new file mode 100644 index 0000000..5015010 --- /dev/null +++ b/test/cassettes/openstack/compute/v2/public/rebuild_server/returns_the_correct_value_for_url_.yml @@ -0,0 +1,63 @@ +--- +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: + - '2701' + date: + - Mon, 09 Sep 2013 23:41:22 GMT + connection: + - close + body: + encoding: US-ASCII + string: ! '{"access": {"token": {"issued_at": "2013-09-09T23:41:22.864105", + "expires": "2013-09-10T05:41:22Z", "id": "1da3a3205a46495e80827caf7d436f63", + "tenant": {"description": "", "enabled": true, + "id": "eb87dfa8fdec48678b0f0b0f80b44677", "name": ""}}, + "serviceCatalog": [{"endpoints": [{"adminURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "430279a1221947c3ae56339b069f1b34", "publicURL": ":8774/v2/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": + ":9292", "region": "RegionOne", "internalURL": ":9292", + "id": "0704bbb682c349cd8bad917183e7a7dd", "publicURL": ":9292"}], + "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": + ":8777", "region": "RegionOne", "internalURL": ":8777", + "id": "94a8dead81c34afbaa8ae5e163b8b0c5", "publicURL": ":8777"}], + "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": + [{"adminURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "region": "RegionOne", "internalURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677", + "id": "2aedb2fe28114b86a13c48e8bef42b77", "publicURL": ":8776/v1/eb87dfa8fdec48678b0f0b0f80b44677"}], + "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints": + [{"adminURL": ":8773/services/Admin", "region": + "RegionOne", "internalURL": ":8773/services/Cloud", + "id": "308574230d4a427a996d1f9c6e602e14", "publicURL": ":8773/services/Cloud"}], + "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL": + ":35357/v2.0", "region": "RegionOne", "internalURL": + ":5000/v2.0", "id": "04e2c1aa204048529cd859b111362d46", + "publicURL": ":5000/v2.0"}], "endpoints_links": + [], "type": "identity", "name": "keystone"}], "user": {"username": "", + "roles_links": [], "id": "400351b4991d40d79434539b4cee9d36", "roles": [{"name": + "_member_"}, {"name": "Member"}], "name": ""}, + "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab", + "972b832749e5458cafe44d40d5b0e895"]}}}' + http_version: + recorded_at: Mon, 09 Sep 2013 23:41:22 GMT +recorded_with: VCR 2.5.0