Mark the keystoneclient s3_token middleware deprecated

The s3_token middleware in python-keystoneclient is deprecated in
favor of keystonemiddleware.s3_token.

Change-Id: I30930f16425f1825373184371f3cba995833bc22
Add oslo.utils requirement

With the release of oslo.utils, keystoneclient can make use of it
rather than using the functions in oslo-utils.

Change-Id: I1b5392f10f8b67c9c3ac3bc3d2dd06ea08417aa6
Use oslo.utils

keystoneclient was using utility function from oslo-incubator
rather than oslo.utils.

Change-Id: I2909a2150b9556e54ef88e72358fda1cf8b7cc1c
expose the revoke token for V3

Implement the v3 revoke token method for CLI.

Change-Id: Ib01f6341e087866ca05862c200e6c783fb1a8ff5
Closes-Bug: #1331972
Fixes import grouping

Left over from https://review.openstack.org/107393

Change-Id: Ic495e0f929b07f285240305d98f7d0fa73ecffce
Isolate get_discovery function

When we get to having version independent identity plugins they need to
be able to share the discovery cache with the session. This function
should therefore be reusable rather than making the cache on the session
public.

DocImpact: Adds a new get_discovery function to identity plugins. This
function is expected to be used by subclasses doing custom URL discovery
rather than users.

Blueprint: version-independant-plugins
Change-Id: I769b4e2cd59a4dd167c4dcd8f14641081f867a71
Handle invalidate in identity plugins correctly

Returning a True from the invalidate() call means that something has
changed within the plugin and the session should reissue the request and
expect the plugin to authenticate itself.

This means we should only return True if something actually changed,
because re-issuing the request if there was no auth_ref will not change
the outcome.

Change-Id: I012dacc93b1fcaee31d31a49e95db5a38044f211
move attributes of v3.client.Client into alphabetical order

Just make self.users be consistent with the other assignments.

Change-Id: Ib3053774e9dd905eb4ef50668d6638ce19750177
Mark auth plugin options as secret

By marking the options as secret they don't get printed out in things
like the debug log when loading the application.

Change-Id: Iadab479a896bc4b1682ee8d207cc50a01dca8255
Remove intersphinx mappings

None of our documentation references any external sphinx documents so we
don't need the intersphinx mappings.

This started as a rename from the old glance.openstack.org site to the
newer docs.openstack.org/developer/glance however they may as well be
removed if not used.

Closes-Bug: #1353817
Change-Id: I638c4eeab7d01ec2f26a0d9d532f0006f4f75e72
Individual plugin CLI registering

Split the functions that load the auth plugins from CLI so that they can
be used on a specific plugin. The intention here is to be able to turn
the existing authentication options in shells into a new auth plugin and
have that be loadable rather than maintain separate paths through the
shells.

Change-Id: I3dd5a8ed183d843246b1add3dfbf591ba4e2f94c
Merge "expose the revoke token for V3"
Merge "Isolate get_discovery function"
Merge "Mark the keystoneclient s3_token middleware deprecated"
Merge "move attributes of v3.client.Client into alphabetical order"
Merge "Mark auth plugin options as secret"
Merge "Fixes import grouping"
Change unscoped token fallback to be session aware

The existing way of sending requests to the auth_url was to override the
management_url for the duration of a single call. Aside from being ugly,
this won't work with session objects where the management_url is
ignored.

The tests for this behaviour have been previously merged to ensure that
the before and after behaviour remains unchanged.

Change-Id: I879adcb25dd373ab4a7b77b6539974e22220aad4
Convert shell tests to requests-mock

This finally gets us rid of the test fakes and will remove the
dependency on _cs_request.

Change-Id: Ibd09db9a09c49bfbcf0ffe1f150d7fe730dd51b7
Standardize AccessInfo token setting

When settings tokens via the factory v2 and v3 work completely
differently. This is somewhat expected due to tokens working differently
but it makes it hard to work with.

For example, if i have a v3 token but not the requests.Response that
created it there is no way for me to set the token data on the
AccessInfo object via factory.

Also in the case of V2 CMS tokens the value at ['token']['id'] is a fake
so that the signing process will work.

Allow overriding the token value from the factory and force setting the
token id on the AccessInfo in a standard way.

Change-Id: I856096dc5fae2ab0d1bedbac3294dc4976c3f3ad