Move docs to doc.

To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc/source and build results go in project/doc/build.

Change-Id: I205e8bb1ddf6dae1d7392b32975319c6a6d98673
Change CLI options to use dashes

Change documented options to use dashes instead of underscores
in option names.  Continue to support old underscore names for
backward compatibility for a release or two (TBD).

Blueprint: command-options

Change-Id: Ied0d325a9fdd32f80bf8c993887e1975aa6adf16
Support 2-way SSL with Keystone server if it is configured to enforce
2-way SSL.  See also https://review.openstack.org/#/c/7706/ for the
corresponding review for the 2-way SSL addition to Keystone.

Change-Id: If0cb46a43d663687396d93604a7139d85a4e7114
Change underscores in new cert options to dashes

* --os_cacert -> --os-cacert
* --os_cert   -> --os-cert
* --os_key    -> --os-key

* OS_CA_CERT didn't match --os-cacert, change to OS_CACERT

Fixes bug 1040162

Change-Id: Ib03ff492b6ab2b76e54974e5436a444725615ea6
Fix PEP8 issues.

Fix some pep8 issues in doc/source/conf.py make the code looks pretty.

Change-Id: Ib1e2f8214ad7f4bc49c8c3dfa016843f8df15fe6
updating keystoneclient doc theme

adding in openstack theming
enabling last update from git
removing old manual references to API, converted entirely to autodoc
updated .gitignore
fixed docstring warnings and errors

Change-Id: Id22ddc446331d52cbf56c3462d8b532fc37f64ac
updating base keystoneclient documentation

* updated changelog
* described CLI authentication for admin and user
* tweaked API usage docs a bit with formatting and typos

Change-Id: I61c3aab99bb0ecbad1de6d32a767558ca1a2ab5b
Merge "updating base keystoneclient documentation"
Replace refs to 'Keystone API' with 'Identity API'

Formally, OpenStack Keystone implements the OpenStack Identity API, and
this is a client to the API, not to Keystone itself.

Change-Id: If568866221a29ba041f0f2cd56dc81deeb9ebc00
Blueprint memcache-protection: enable memcache value encryption/integrity check

DocImpact

Change-Id: I8b733256a3c2cdcf7c2ec5edac491ac4739aa847
Allow configure auth_token http connect timeout.

- Fixes bug 939613.

Change-Id: Ic8cfc36e02212eeb987e509893369c0a47d9209a
Cache tokens using memorycache from oslo.

Verifying tokens accounts for a significant portion of the time taken
by the various api servers. This uses the simple memory cache from
oslo so that there is a simple default cache even if memcached is not
deployed. Also cleans up the tests and removes unnecessary fakes.

DocImpact

Change-Id: I501c14f2f51da058cb574c32d49dd769e6f6ad86
adding notes about dealing with exceptions in the client

Change-Id: I661b10414e0281bc695236bb32f985b0ef5b7600
Provide keystone CLI man page.

Resolves: bug 1185142
Implements blueprint: clients-man-pages

Provide basic but hopefully useful man page.

shell.rst was merged into and replaced by the man page in HTML docs.

Change-Id: I0a90e4638cc7e4ed9c02c5abd7d84a4079e5f50d
Fix memcache encryption middleware

This fixes lp1175367 and lp1175368 by redesigning the memcache crypt
middleware to not do dangerous things. It is forward compatible, but
will invalidate any existing ephemeral encrypted or signed memcache
entries.

Change-Id: Ice8724949a48bfad3b8b7c41b5f50a18a9ad9f42
Signed-off-by: Bryan D. Payne <bdpayne@acm.org>
Change memcache config entry name in Keystone to be consistent with Oslo

Currently, Keystone-Client is using 'memcache_servers' config option to store
the memcache server info, while in OSLO project, it is using 'memcached_servers'
to config the same option. It is better to change keystone-client's
'memcache_servers' to 'memcached_servers' to keep consistent between these two
projects.

Change-Id: I93ca0aa368f95a3ccf6de6984262057e61f75ffe
Fixes: Bug 1172793
python3: Use from future import unicode_literals

use  "from future import unicode_literals" instead of u""

To the road to Python3, a possible next step would be to use the from __future__ import unicode_literals
and remove the u'' prefixes, as it is not supported in Python3.

Change-Id: Ic7afb3cf2d8dfad47b8a1626ab264f6d4f50d00e
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Replace HttpConnection in auth_token with Requests

Requests is becoming the standard way of doing http communication, it
also vastly simplifies adding other authentication mechanisms. Use it in
the auth_token middleware.

This adds the ability to specify a CA file that will be used to verify a
HTTPS connections or insecure to specifically ignore HTTPS validation.

SecurityImpact
DocImpact
Partial-Bug: #1188189
Change-Id: Iae94329e7abd105bf95224d28f39f4b746b9eb70
Replace OpenStack LLC with OpenStack Foundation

Some files still use trademark OpenStack LLC in header, which
should be changed to OpenStack Foundation.

NOTE: tools/install_venv.py is not touched, should sync with oslo

Change-Id: I01d4f6b64cf1a152c4e190407799ce7d53de845f
Fixes-Bug: #1214176
Opt-out of service catalog

Introducing a config option 'include_service_catalog' to indicate whether
service catalog is needed. If the 'include_service_catalog' option is set to
False, middleware will not ask for service catalog on token validation and will
not set the X-Service-Catalog header.

This option is backward compatible as it is default to True.

DocImpact
Fixed bug 1228317

Change-Id: Id8c410a7ae0443ac425d20cb9c6a24ee5bb2cb8d