This reverts commits: 66638b25d7,
3f0314dbd1, and
18ce4b7eca.
Since google-api-client was added as a dependency in afa9b025e9,
multi_json is a de facto dependency of fog, so this is a needless layer.
If #1034 is still an issue, I'd be happy to ship a version of multi_json
that requires rubygems >= 1.3.5.
Not sure why this was ever here, and I cannot find a reason to continuously bust
the Nova request caching in the wsgi request handler. It does not help
performance, and makes attempts at ANY caching of responses to a Fog request
annoying.
: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 now:
require 'fog'
conn = Fog::Image.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, internalURL
})
Defaults to adminURL to maintain backwards compatibility.
This patch updates the OpenStack auth implementation so that
it supports selecting API service by both 'name' and 'type'.
Previously the implementation was confusing because it
used a config param called :openstack_service_name to
select the service 'type' from the catalog. This patch
swaps it so that :openstack_service_name actually selects
by 'name'.
The previous logic to select service by type ('compute' for example)
has been preserved in a new :openstack_service_type parameter.
This option is used just as it was before for backwards compatability.
This change is potentially breaking for anyone previously using
:openstack_service_name (which I don't think is that common but is
possible). As such we should probably make a release note saying
that previous users of :openstack_service_name should migrate to
use :openstack_service_type instead.