Merge branch 'feature/volume_all_tenants'
This implements the all_tenants feature for querying the volume service to get all volumes from all tenants.
This commit is contained in:
		@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
 | 
				
			|||||||
  spec.add_dependency 'terminal-table', '>= 1.4.5'
 | 
					  spec.add_dependency 'terminal-table', '>= 1.4.5'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  spec.add_development_dependency "bundler", "~> 1.3"
 | 
					  spec.add_development_dependency "bundler", "~> 1.3"
 | 
				
			||||||
  spec.add_development_dependency "rake"
 | 
					 | 
				
			||||||
  spec.add_development_dependency 'rb-fsevent', '~> 0.9.0'
 | 
					  spec.add_development_dependency 'rb-fsevent', '~> 0.9.0'
 | 
				
			||||||
  spec.add_development_dependency 'guard', '~> 1.8.0'
 | 
					  spec.add_development_dependency 'guard', '~> 1.8.0'
 | 
				
			||||||
  spec.add_development_dependency 'guard-rake', '~> 0.0.0'
 | 
					  spec.add_development_dependency 'guard-rake', '~> 0.0.0'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								lib/aviator/openstack/image/v1/public/list_public_images.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								lib/aviator/openstack/image/v1/public/list_public_images.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					module Aviator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  define_request :list_public_images, inherit: [:openstack, :common, :v2, :public, :base] do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    meta :service,        :image
 | 
				
			||||||
 | 
					    meta :api_version,    :v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    link 'documentation', 'http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    param :name,             required: false
 | 
				
			||||||
 | 
					    param :container_format, required: false
 | 
				
			||||||
 | 
					    param :disk_format,      required: false
 | 
				
			||||||
 | 
					    param :status,           required: false
 | 
				
			||||||
 | 
					    param :size_min,         required: false
 | 
				
			||||||
 | 
					    param :size_max,         required: false
 | 
				
			||||||
 | 
					    param :sort_key,         required: false
 | 
				
			||||||
 | 
					    param :sort_dir,         required: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def headers
 | 
				
			||||||
 | 
					      super
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def http_method
 | 
				
			||||||
 | 
					      :get
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def url
 | 
				
			||||||
 | 
					      uri = URI(base_url)
 | 
				
			||||||
 | 
					      url = "#{ uri.scheme }://#{ uri.host }:#{ uri.port.to_s }/v1/images"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      filters = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      optional_params.each do |param_name|
 | 
				
			||||||
 | 
					        filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      url += "?#{ filters.join('&') }" unless filters.empty?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      url
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
@@ -24,7 +24,7 @@ module Aviator
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      [:availability_zone, :metadata].each do |key|
 | 
					      optional_params.each do |key|
 | 
				
			||||||
          p[:volume][key] = params[key] if params[key]
 | 
					          p[:volume][key] = params[key] if params[key]
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@ module Aviator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html'
 | 
					    link 'documentation', 'http://docs.rackspace.com/cbs/api/v1.0/cbs-devguide/content/GET_getVolumesSimple_v1__tenant_id__volumes_v1__tenant_id__volumes.html'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    param :all_tenants,         required: false
 | 
				
			||||||
    param :details,             required: false
 | 
					    param :details,             required: false
 | 
				
			||||||
    param :status,              required: false
 | 
					    param :status,              required: false
 | 
				
			||||||
    param :availability_zone,   required: false
 | 
					    param :availability_zone,   required: false
 | 
				
			||||||
@@ -29,7 +30,17 @@ module Aviator
 | 
				
			|||||||
    def url
 | 
					    def url
 | 
				
			||||||
      str  = "#{ base_url }/volumes"
 | 
					      str  = "#{ base_url }/volumes"
 | 
				
			||||||
      str += "/detail" if params[:details]
 | 
					      str += "/detail" if params[:details]
 | 
				
			||||||
      str += params_to_querystring(optional_params + required_params - [:details])
 | 
					
 | 
				
			||||||
 | 
					      filters = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      (optional_params + required_params - [:details]).each do |param_name|
 | 
				
			||||||
 | 
					        value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name]
 | 
				
			||||||
 | 
					        filters << "#{ param_name }=#{ value }" if value
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      str += "?#{ filters.join('&') }" unless filters.empty?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      str
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,145 @@
 | 
				
			|||||||
 | 
					require 'test_helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Aviator::Test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  describe 'aviator/openstack/image/v1/public/list_public_images' do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def create_request(session_data = get_session_data, &block)
 | 
				
			||||||
 | 
					      klass.new(session_data, &block)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def session
 | 
				
			||||||
 | 
					      unless @session
 | 
				
			||||||
 | 
					        @session = Aviator::Session.new(
 | 
				
			||||||
 | 
					                     config_file: Environment.path,
 | 
				
			||||||
 | 
					                     environment: 'openstack_member'
 | 
				
			||||||
 | 
					                   )
 | 
				
			||||||
 | 
					        @session.authenticate
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      @session
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def get_session_data
 | 
				
			||||||
 | 
					      session.send :auth_info
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def helper
 | 
				
			||||||
 | 
					      Aviator::Test::RequestHelper
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def session
 | 
				
			||||||
 | 
					      unless @session
 | 
				
			||||||
 | 
					        @session = Aviator::Session.new(
 | 
				
			||||||
 | 
					                     config_file: Environment.path,
 | 
				
			||||||
 | 
					                     environment: 'openstack_member'
 | 
				
			||||||
 | 
					                   )
 | 
				
			||||||
 | 
					        @session.authenticate
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      @session
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def helper
 | 
				
			||||||
 | 
					      Aviator::Test::RequestHelper
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def klass
 | 
				
			||||||
 | 
					      @klass ||= helper.load_request('openstack', 'image', 'v1', 'public', 'list_public_images.rb')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_attr :anonymous? do
 | 
				
			||||||
 | 
					      klass.anonymous?.must_equal false
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_attr :api_version do
 | 
				
			||||||
 | 
					      klass.api_version.must_equal :v1
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
 | 
					      headers = { 'X-Auth-Token' => get_session_data[:access][:token][:id] }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      request = create_request
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      request.headers.must_equal headers
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_attr :optional_params do
 | 
				
			||||||
 | 
					      klass.optional_params.must_equal [
 | 
				
			||||||
 | 
					        :name,
 | 
				
			||||||
 | 
					        :container_format,
 | 
				
			||||||
 | 
					        :disk_format,
 | 
				
			||||||
 | 
					        :status,
 | 
				
			||||||
 | 
					        :size_min,
 | 
				
			||||||
 | 
					        :size_max,
 | 
				
			||||||
 | 
					        :sort_key,
 | 
				
			||||||
 | 
					        :sort_dir
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_attr :required_params do
 | 
				
			||||||
 | 
					      klass.required_params.must_equal []
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_attr :http_method do
 | 
				
			||||||
 | 
					      create_request.http_method.must_equal :get
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_response 'no parameters are provided' do
 | 
				
			||||||
 | 
					      response = session.image_service.request :list_public_images
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      response.status.must_equal 200
 | 
				
			||||||
 | 
					      response.body.wont_be_nil
 | 
				
			||||||
 | 
					      response.body[:images].length.wont_equal 0
 | 
				
			||||||
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_response 'filtering with matches' do
 | 
				
			||||||
 | 
					      response = session.image_service.request :list_public_images do |p|
 | 
				
			||||||
 | 
					        p[:name] = '64Bit Ubuntu 12.04'
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      response.status.must_equal 200
 | 
				
			||||||
 | 
					      response.body.wont_be_nil
 | 
				
			||||||
 | 
					      response.body[:images].length.must_equal 1
 | 
				
			||||||
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_response 'filtering with no matches' do
 | 
				
			||||||
 | 
					      response = session.image_service.request :list_public_images do |p|
 | 
				
			||||||
 | 
					        p[:name] = 'does-not-match-any-image'
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      response.status.must_equal 200
 | 
				
			||||||
 | 
					      response.body.wont_be_nil
 | 
				
			||||||
 | 
					      response.body[:images].length.must_equal 0
 | 
				
			||||||
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
@@ -4,26 +4,40 @@ class Aviator::Test
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  describe 'aviator/openstack/volume/v1/public/list_volumes' do
 | 
					  describe 'aviator/openstack/volume/v1/public/list_volumes' do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def admin_session
 | 
				
			||||||
 | 
					      unless @admin_session
 | 
				
			||||||
 | 
					        @admin_session = Aviator::Session.new(
 | 
				
			||||||
 | 
					                     config_file: Environment.path,
 | 
				
			||||||
 | 
					                     environment: 'openstack_admin'
 | 
				
			||||||
 | 
					                   )
 | 
				
			||||||
 | 
					        @admin_session.authenticate
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      @admin_session
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def create_request(session_data = get_session_data, &block)
 | 
					    def create_request(session_data = get_session_data, &block)
 | 
				
			||||||
      klass.new(session_data, &block)
 | 
					      klass.new(session_data, &block)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def session
 | 
					    def member_session
 | 
				
			||||||
      unless @session
 | 
					      unless @member_session
 | 
				
			||||||
        @session = Aviator::Session.new(
 | 
					        @member_session = Aviator::Session.new(
 | 
				
			||||||
                     config_file: Environment.path,
 | 
					                     config_file: Environment.path,
 | 
				
			||||||
                     environment: 'openstack_member'
 | 
					                     environment: 'openstack_member'
 | 
				
			||||||
                   )
 | 
					                   )
 | 
				
			||||||
        @session.authenticate
 | 
					        @member_session.authenticate
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @session
 | 
					      @member_session
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_session_data
 | 
					    def get_session_data
 | 
				
			||||||
      session.send :auth_info
 | 
					      member_session.send :auth_info
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -31,18 +45,6 @@ class Aviator::Test
 | 
				
			|||||||
      Aviator::Test::RequestHelper
 | 
					      Aviator::Test::RequestHelper
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def session
 | 
					 | 
				
			||||||
      unless @session
 | 
					 | 
				
			||||||
        @session = Aviator::Session.new(
 | 
					 | 
				
			||||||
                     config_file: Environment.path,
 | 
					 | 
				
			||||||
                     environment: 'openstack_member'
 | 
					 | 
				
			||||||
                   )
 | 
					 | 
				
			||||||
        @session.authenticate
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      @session
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def helper
 | 
					    def helper
 | 
				
			||||||
      Aviator::Test::RequestHelper
 | 
					      Aviator::Test::RequestHelper
 | 
				
			||||||
@@ -53,14 +55,16 @@ class Aviator::Test
 | 
				
			|||||||
      @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'list_volumes.rb')
 | 
					      @klass ||= helper.load_request('openstack', 'volume', 'v1', 'public', 'list_volumes.rb')
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def create_volume
 | 
					    def create_volume
 | 
				
			||||||
      session.volume_service.request :create_volume do |params|
 | 
					      member_session.volume_service.request :create_volume do |params|
 | 
				
			||||||
        params[:display_name]         = 'Aviator Volume Test Name'
 | 
					        params[:display_name]         = 'Aviator Volume Test Name'
 | 
				
			||||||
        params[:display_description]  = 'Aviator Volume Test Description'
 | 
					        params[:display_description]  = 'Aviator Volume Test Description'
 | 
				
			||||||
        params[:size]                 = '1'
 | 
					        params[:size]                 = '1'
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    validate_attr :anonymous? do
 | 
					    validate_attr :anonymous? do
 | 
				
			||||||
      klass.anonymous?.must_equal false
 | 
					      klass.anonymous?.must_equal false
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
@@ -90,8 +94,10 @@ class Aviator::Test
 | 
				
			|||||||
      request.headers.must_equal headers
 | 
					      request.headers.must_equal headers
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    validate_attr :optional_params do
 | 
					    validate_attr :optional_params do
 | 
				
			||||||
      klass.optional_params.must_equal [
 | 
					      klass.optional_params.must_equal [
 | 
				
			||||||
 | 
					        :all_tenants,
 | 
				
			||||||
        :details,
 | 
					        :details,
 | 
				
			||||||
        :status,
 | 
					        :status,
 | 
				
			||||||
        :availability_zone,
 | 
					        :availability_zone,
 | 
				
			||||||
@@ -114,10 +120,24 @@ class Aviator::Test
 | 
				
			|||||||
      create_request.http_method.must_equal :get
 | 
					      create_request.http_method.must_equal :get
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    validate_response 'all_tenants param is true' do
 | 
				
			||||||
 | 
					      # Manually create the volumes in more than one tenant for now
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      control_response = admin_session.volume_service.request :list_volumes
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      all_tenants_response = admin_session.volume_service.request :list_volumes do |params|
 | 
				
			||||||
 | 
					        params[:all_tenants] = true
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      all_tenants_response.body[:volumes].length.must_be :>, control_response.body[:volumes].length
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    validate_response 'no parameters are provided' do
 | 
					    validate_response 'no parameters are provided' do
 | 
				
			||||||
      create_volume
 | 
					      create_volume
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      response = session.volume_service.request :list_volumes
 | 
					      response = member_session.volume_service.request :list_volumes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      response.status.must_equal 200
 | 
					      response.status.must_equal 200
 | 
				
			||||||
      response.body.wont_be_nil
 | 
					      response.body.wont_be_nil
 | 
				
			||||||
@@ -125,10 +145,11 @@ class Aviator::Test
 | 
				
			|||||||
      response.headers.wont_be_nil
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    validate_response 'parameters are valid' do
 | 
					    validate_response 'parameters are valid' do
 | 
				
			||||||
      create_volume
 | 
					      create_volume
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      response = session.volume_service.request :list_volumes do |params|
 | 
					      response = member_session.volume_service.request :list_volumes do |params|
 | 
				
			||||||
        params[:details]      = true
 | 
					        params[:details]      = true
 | 
				
			||||||
        params[:display_name] = 'Aviator Volume Test Name'
 | 
					        params[:display_name] = 'Aviator Volume Test Name'
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
@@ -140,8 +161,9 @@ class Aviator::Test
 | 
				
			|||||||
      response.headers.wont_be_nil
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    validate_response 'parameters are invalid' do
 | 
					    validate_response 'parameters are invalid' do
 | 
				
			||||||
      response = session.volume_service.request :list_volumes do |params|
 | 
					      response = member_session.volume_service.request :list_volumes do |params|
 | 
				
			||||||
        params[:display_name] = "derpderp"
 | 
					        params[:display_name] = "derpderp"
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -150,5 +172,8 @@ class Aviator::Test
 | 
				
			|||||||
      response.body[:volumes].length.must_equal 0
 | 
					      response.body[:volumes].length.must_equal 0
 | 
				
			||||||
      response.headers.wont_be_nil
 | 
					      response.headers.wont_be_nil
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:29:28 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:29:28.932221",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:29:28Z", "id": "0eae8a2cc0be437790c58dc6397e7cb2",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:29:38 GMT
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: get
 | 
				
			||||||
 | 
					    uri: http://mc.la-1-3.morphlabs.net:9292/v1/images?name=64Bit+Ubuntu+12.04
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ''
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      Content-Type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      User-Agent:
 | 
				
			||||||
 | 
					      - Faraday v0.8.8
 | 
				
			||||||
 | 
					      X-Auth-Token:
 | 
				
			||||||
 | 
					      - 0eae8a2cc0be437790c58dc6397e7cb2
 | 
				
			||||||
 | 
					  response:
 | 
				
			||||||
 | 
					    status:
 | 
				
			||||||
 | 
					      code: 200
 | 
				
			||||||
 | 
					      message: 
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      content-type:
 | 
				
			||||||
 | 
					      - application/json; charset=UTF-8
 | 
				
			||||||
 | 
					      content-length:
 | 
				
			||||||
 | 
					      - '208'
 | 
				
			||||||
 | 
					      x-openstack-request-id:
 | 
				
			||||||
 | 
					      - req-6ed13495-1325-42ad-9bc0-d3ce76803520
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:29:30 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"images": [{"name": "64Bit Ubuntu 12.04", "container_format": "ovf",
 | 
				
			||||||
 | 
					        "disk_format": "qcow2", "checksum": "43d3a9e8bcd6c44366ac4634b8a28648", "id":
 | 
				
			||||||
 | 
					        "3d520022-c1c8-439a-a96d-bfe8a0149846", "size": 252116992}]}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:29:39 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,97 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:28:42 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:28:42.605252",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:28:42Z", "id": "138a5fb7023c40749f00a28dd8677a2d",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:28:52 GMT
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: get
 | 
				
			||||||
 | 
					    uri: http://mc.la-1-3.morphlabs.net:9292/v1/images?name=does-not-match-any-image
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ''
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      Content-Type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      User-Agent:
 | 
				
			||||||
 | 
					      - Faraday v0.8.8
 | 
				
			||||||
 | 
					      X-Auth-Token:
 | 
				
			||||||
 | 
					      - 138a5fb7023c40749f00a28dd8677a2d
 | 
				
			||||||
 | 
					  response:
 | 
				
			||||||
 | 
					    status:
 | 
				
			||||||
 | 
					      code: 200
 | 
				
			||||||
 | 
					      message: 
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      content-type:
 | 
				
			||||||
 | 
					      - application/json; charset=UTF-8
 | 
				
			||||||
 | 
					      content-length:
 | 
				
			||||||
 | 
					      - '14'
 | 
				
			||||||
 | 
					      x-openstack-request-id:
 | 
				
			||||||
 | 
					      - req-03d772d2-2abb-464e-bab1-a7d297affb6c
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:28:44 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"images": []}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:28:53 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,99 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:26:32 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:26:32.599056",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:26:32Z", "id": "4f9e8b4dc4e04555ac33bd36e4e97a35",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:26:42 GMT
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: get
 | 
				
			||||||
 | 
					    uri: http://mc.la-1-3.morphlabs.net:9292/v1/images
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ''
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      Content-Type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      User-Agent:
 | 
				
			||||||
 | 
					      - Faraday v0.8.8
 | 
				
			||||||
 | 
					      X-Auth-Token:
 | 
				
			||||||
 | 
					      - 4f9e8b4dc4e04555ac33bd36e4e97a35
 | 
				
			||||||
 | 
					  response:
 | 
				
			||||||
 | 
					    status:
 | 
				
			||||||
 | 
					      code: 200
 | 
				
			||||||
 | 
					      message: 
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      content-type:
 | 
				
			||||||
 | 
					      - application/json; charset=UTF-8
 | 
				
			||||||
 | 
					      content-length:
 | 
				
			||||||
 | 
					      - '208'
 | 
				
			||||||
 | 
					      x-openstack-request-id:
 | 
				
			||||||
 | 
					      - req-fd5ee3b2-f0ca-4987-8ec7-439fcda8a7ee
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:26:33 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"images": [{"name": "64Bit Ubuntu 12.04", "container_format": "ovf",
 | 
				
			||||||
 | 
					        "disk_format": "qcow2", "checksum": "43d3a9e8bcd6c44366ac4634b8a28648", "id":
 | 
				
			||||||
 | 
					        "3d520022-c1c8-439a-a96d-bfe8a0149846", "size": 252116992}]}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:26:43 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:26:30 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:26:30.873386",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:26:30Z", "id": "bbd6ac6f423e4d4683b34e1acd92558d",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:26:40 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:26:31 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:26:31.790042",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:26:31Z", "id": "802436bf36ed49b8af57a58c2d16031b",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:26:41 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_MEMBER_USERNAME>","password":"<OPENSTACK_MEMBER_PASSWORD>"},"tenantName":"<OPENSTACK_MEMBER_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:
 | 
				
			||||||
 | 
					      - '2697'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Tue, 17 Dec 2013 08:26:34 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2013-12-17T08:26:34.276926",
 | 
				
			||||||
 | 
					        "expires": "2013-12-17T14:26:34Z", "id": "1d4106dbb95a47188f385546f06aa1cb",
 | 
				
			||||||
 | 
					        "tenant": {"description": "for aviator tests", "enabled": true, "id": "a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_MEMBER_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "83a5fdd3477942d08ee03ea09ac0ae90", "publicURL": "http://mc.la-1-3.morphlabs.net:8774/v2/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:9292", "id": "76042ed1db23403c985c77961a23de0b",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:9292"}], "endpoints_links": [],
 | 
				
			||||||
 | 
					        "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8777",
 | 
				
			||||||
 | 
					        "id": "6f707de4c79249bf9b421d0288fab17c", "publicURL": "http://mc.la-1-3.morphlabs.net:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e",
 | 
				
			||||||
 | 
					        "id": "0b957378d43f44b6a46e744c151bb6d5", "publicURL": "http://mc.la-1-3.morphlabs.net:8776/v1/a528b6d6af894f9babb4f1b02154ee3e"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "nova_volume"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://mc.la-1-3.morphlabs.net:8773/services/Admin", "region":
 | 
				
			||||||
 | 
					        "RegionOne", "internalURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud",
 | 
				
			||||||
 | 
					        "id": "1818d07e119f405f83ae194df42b4fca", "publicURL": "http://mc.la-1-3.morphlabs.net:8773/services/Cloud"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "ec2", "name": "nova_ec2"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:35357/v2.0", "region": "RegionOne", "internalURL":
 | 
				
			||||||
 | 
					        "http://mc.la-1-3.morphlabs.net:5000/v2.0", "id": "5546a130cbb54ba4a403f62ed5ebd1f4",
 | 
				
			||||||
 | 
					        "publicURL": "http://mc.la-1-3.morphlabs.net:5000/v2.0"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "identity", "name": "keystone"}], "user": {"username": "<OPENSTACK_MEMBER_USERNAME>",
 | 
				
			||||||
 | 
					        "roles_links": [], "id": "8a0962b47db14d7882abe7fb607e40a8", "roles": [{"name":
 | 
				
			||||||
 | 
					        "_member_"}, {"name": "Member"}], "name": "<OPENSTACK_MEMBER_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "aa85ee926c174ed2a09912aa730e1fb5"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Tue, 17 Dec 2013 08:26:44 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
@@ -0,0 +1,139 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					http_interactions:
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: post
 | 
				
			||||||
 | 
					    uri: <OPENSTACK_ADMIN_HOST_URI>:5000/v2.0/tokens
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: UTF-8
 | 
				
			||||||
 | 
					      string: ! '{"auth":{"passwordCredentials":{"username":"<OPENSTACK_ADMIN_USERNAME>","password":"<OPENSTACK_ADMIN_PASSWORD>"},"tenantName":"<OPENSTACK_ADMIN_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:
 | 
				
			||||||
 | 
					      - '2748'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Mon, 13 Jan 2014 19:50:40 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"access": {"token": {"issued_at": "2014-01-13T19:50:40.932648",
 | 
				
			||||||
 | 
					        "expires": "2014-01-14T19:50:40Z", "id": "2eba17df3d9f4b588216d7d46ab7a190",
 | 
				
			||||||
 | 
					        "tenant": {"description": "", "enabled": true, "id": "48aee3419d144bff8b52dfa9ecc77f56",
 | 
				
			||||||
 | 
					        "name": "<OPENSTACK_ADMIN_TENANTNAME>"}}, "serviceCatalog": [{"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://192.168.56.11:8774/v2/48aee3419d144bff8b52dfa9ecc77f56",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/48aee3419d144bff8b52dfa9ecc77f56",
 | 
				
			||||||
 | 
					        "id": "385eff0d00e649f5ad4681886d76f997", "publicURL": "http://192.168.56.11:8774/v2/48aee3419d144bff8b52dfa9ecc77f56"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
 | 
				
			||||||
 | 
					        "id": "0d4ab1f95c13456a9d7a3d027e76c964", "publicURL": "http://192.168.56.11:3333"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
 | 
				
			||||||
 | 
					        "id": "0bdc5ce8ec68435ab750943d540904eb", "publicURL": "http://192.168.56.11:9292"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
 | 
				
			||||||
 | 
					        "http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
 | 
				
			||||||
 | 
					        "id": "9dbbda6e77ca43218cba4d9ed73ba1c1", "publicURL": "http://192.168.56.11:8777"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://192.168.56.11:8776/v1/48aee3419d144bff8b52dfa9ecc77f56",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/48aee3419d144bff8b52dfa9ecc77f56",
 | 
				
			||||||
 | 
					        "id": "0d82a40198944f0eae9f159fa5f6a3a8", "publicURL": "http://192.168.56.11:8776/v1/48aee3419d144bff8b52dfa9ecc77f56"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
 | 
				
			||||||
 | 
					        [{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
 | 
				
			||||||
 | 
					        "internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "2e9360daaf9841128035b4e3d9a4e134",
 | 
				
			||||||
 | 
					        "publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
 | 
				
			||||||
 | 
					        [], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
 | 
				
			||||||
 | 
					        "region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
 | 
				
			||||||
 | 
					        "554549b6bfc149e69570c225ba6883f6", "publicURL": "http://192.168.56.11:5000/v2.0"}],
 | 
				
			||||||
 | 
					        "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
 | 
				
			||||||
 | 
					        "<OPENSTACK_ADMIN_USERNAME>", "roles_links": [], "id": "8672f6120b7a49ff9895ac72dc20c86f",
 | 
				
			||||||
 | 
					        "roles": [{"name": "_member_"}, {"name": "admin"}], "name": "<OPENSTACK_ADMIN_USERNAME>"},
 | 
				
			||||||
 | 
					        "metadata": {"is_admin": 0, "roles": ["9fe2ff9ee4384b1894a90878d3e92bab",
 | 
				
			||||||
 | 
					        "6be5442773c6459c917c0373bc58f6c4"]}}}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Mon, 13 Jan 2014 19:50:40 GMT
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: get
 | 
				
			||||||
 | 
					    uri: http://192.168.56.11:8776/v1/48aee3419d144bff8b52dfa9ecc77f56/volumes
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ''
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      Content-Type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      User-Agent:
 | 
				
			||||||
 | 
					      - Faraday v0.8.8
 | 
				
			||||||
 | 
					      X-Auth-Token:
 | 
				
			||||||
 | 
					      - 2eba17df3d9f4b588216d7d46ab7a190
 | 
				
			||||||
 | 
					  response:
 | 
				
			||||||
 | 
					    status:
 | 
				
			||||||
 | 
					      code: 200
 | 
				
			||||||
 | 
					      message: 
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      x-compute-request-id:
 | 
				
			||||||
 | 
					      - req-b7d2453e-25b8-4e70-b451-8d25292f98a5
 | 
				
			||||||
 | 
					      content-type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      content-length:
 | 
				
			||||||
 | 
					      - '15'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Mon, 13 Jan 2014 19:50:41 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"volumes": []}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Mon, 13 Jan 2014 19:50:40 GMT
 | 
				
			||||||
 | 
					- request:
 | 
				
			||||||
 | 
					    method: get
 | 
				
			||||||
 | 
					    uri: http://192.168.56.11:8776/v1/48aee3419d144bff8b52dfa9ecc77f56/volumes?all_tenants=1
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ''
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      Content-Type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      User-Agent:
 | 
				
			||||||
 | 
					      - Faraday v0.8.8
 | 
				
			||||||
 | 
					      X-Auth-Token:
 | 
				
			||||||
 | 
					      - 2eba17df3d9f4b588216d7d46ab7a190
 | 
				
			||||||
 | 
					  response:
 | 
				
			||||||
 | 
					    status:
 | 
				
			||||||
 | 
					      code: 200
 | 
				
			||||||
 | 
					      message: 
 | 
				
			||||||
 | 
					    headers:
 | 
				
			||||||
 | 
					      x-compute-request-id:
 | 
				
			||||||
 | 
					      - req-9a7f5708-c04f-4f22-ba28-3271b8fe4a9a
 | 
				
			||||||
 | 
					      content-type:
 | 
				
			||||||
 | 
					      - application/json
 | 
				
			||||||
 | 
					      content-length:
 | 
				
			||||||
 | 
					      - '675'
 | 
				
			||||||
 | 
					      date:
 | 
				
			||||||
 | 
					      - Mon, 13 Jan 2014 19:50:41 GMT
 | 
				
			||||||
 | 
					      connection:
 | 
				
			||||||
 | 
					      - close
 | 
				
			||||||
 | 
					    body:
 | 
				
			||||||
 | 
					      encoding: US-ASCII
 | 
				
			||||||
 | 
					      string: ! '{"volumes": [{"status": "available", "display_name": "admin_test",
 | 
				
			||||||
 | 
					        "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at":
 | 
				
			||||||
 | 
					        "2014-01-13T19:34:36.000000", "display_description": "", "volume_type": "None",
 | 
				
			||||||
 | 
					        "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "73f88b98-480c-4a47-a660-65aeeb46559d",
 | 
				
			||||||
 | 
					        "size": 1}, {"status": "available", "display_name": "Test", "attachments":
 | 
				
			||||||
 | 
					        [], "availability_zone": "nova", "bootable": "false", "created_at": "2013-12-11T19:04:52.000000",
 | 
				
			||||||
 | 
					        "display_description": "", "volume_type": "None", "snapshot_id": null, "source_volid":
 | 
				
			||||||
 | 
					        null, "metadata": {}, "id": "225c700b-3f2f-4ee1-99f3-a61d749bdcff", "size":
 | 
				
			||||||
 | 
					        1}]}'
 | 
				
			||||||
 | 
					    http_version: 
 | 
				
			||||||
 | 
					  recorded_at: Mon, 13 Jan 2014 19:50:40 GMT
 | 
				
			||||||
 | 
					recorded_with: VCR 2.5.0
 | 
				
			||||||
		Reference in New Issue
	
	Block a user