From 940b54e45602db2bf6e3666b3d3a14220d2193b6 Mon Sep 17 00:00:00 2001 From: Sergio Rubio Date: Thu, 24 Jan 2013 11:23:33 +0100 Subject: [PATCH] [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. --- lib/fog/openstack/volume.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/fog/openstack/volume.rb b/lib/fog/openstack/volume.rb index 5542aa972..7a70a11a4 100644 --- a/lib/fog/openstack/volume.rb +++ b/lib/fog/openstack/volume.rb @@ -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)