1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[openstack|volume] Configurable :openstack_endpoint_type

:openstack_endpoint_type is missing as a recognized parameter. This
patch fixes that, and allows the :openstack_endpoint_type to be
configurable instead of hardcoding the value to 'adminURL'

That is, you can create the connection to the service as follows:

require 'fog'

conn = Fog::Volume.new({
  :provider => 'OpenStack',
  :openstack_api_key => ENV['OS_PASSWORD'],
  :openstack_username => ENV["OS_USERNAME"],
  :openstack_auth_url => ENV["OS_AUTH_URL"]
  :openstack_tenant => ENV["OS_TENANT_NAME"],
  :openstack_endpoint_type => 'publicURL', # publicURL, adminURL, etc
})

Defaults to adminURL to maintain backwards compatibility.
This commit is contained in:
Sergio Rubio 2013-01-24 11:23:33 +01:00
parent 35ae326523
commit 940b54e456

View file

@ -8,7 +8,8 @@ module Fog
recognizes :openstack_auth_token, :openstack_management_url, :persistent,
:openstack_service_type, :openstack_service_name, :openstack_tenant,
:openstack_api_key, :openstack_username,
:current_user, :current_tenant
:current_user, :current_tenant,
:openstack_endpoint_type
model_path 'fog/openstack/models/volume'
@ -114,6 +115,7 @@ module Fog
@openstack_service_type = options[:openstack_service_type] || ['volume']
@openstack_service_name = options[:openstack_service_name]
@openstack_endpoint_type = options[:openstack_endpoint_type] || 'adminURL'
@connection_options = options[:connection_options] || {}
@current_user = options[:current_user]
@ -185,7 +187,7 @@ module Fog
:openstack_auth_token => @openstack_auth_token,
:openstack_service_type => @openstack_service_type,
:openstack_service_name => @openstack_service_name,
:openstack_endpoint_type => 'adminURL'
:openstack_endpoint_type => @openstack_endpoint_type,
}
credentials = Fog::OpenStack.authenticate_v2(options, @connection_options)