gemのfog(1.27)内でworningが出ていたので調べました。
エラーが出ていた部分は『lib/fog/openstack/volume.rb』の188行目のauthenticateメソッドの中にあるoptionsに代入しているところで『:openstack_region => @openstack_region,』が2回書かれていたからでした。 なので、依存などでバージョンが上げられない場合でもそのままでも問題はなさそうです。
ちなみにプルリクを漁ったら既に解決済みでした。 Remove duplicate openstack_region key by kyletolle · Pull Request #3392 · fog/fog · GitHub
対象部分のコード
def authenticate
if !@openstack_management_url || @openstack_must_reauthenticate
options = {
:openstack_region => @openstack_region,
:openstack_tenant => @openstack_tenant,
:openstack_api_key => @openstack_api_key,
:openstack_username => @openstack_username,
:openstack_auth_uri => @openstack_auth_uri,
:openstack_region => @openstack_region,
:openstack_auth_token => @openstack_must_reauthenticate ? nil : @openstack_auth_token,
:openstack_service_type => @openstack_service_type,
:openstack_service_name => @openstack_service_name,
:openstack_endpoint_type => @openstack_endpoint_type
}
credentials = Fog::OpenStack.authenticate_v2(options, @connection_options)
@current_user = credentials[:user]
@current_tenant = credentials[:tenant]
@openstack_must_reauthenticate = false
@auth_token = credentials[:token]
@openstack_management_url = credentials[:server_management_url]
uri = URI.parse(@openstack_management_url)
else
@auth_token = @openstack_auth_token
uri = URI.parse(@openstack_management_url)
end
@host = uri.host
@path = uri.path
@path.sub!(/\/$/, '')
@port = uri.port
@scheme = uri.scheme
true
end