Fixes trove show output

Reasons:
- trove show gives different output for id and names as input,
  as explained in bug, with name it shows less information.

Changes:
- Returns the object found by id after finding the matching object
  from the list of obtained instances, which results in getting
  same attributes for output
  irrespective whichever way the command is used.

Change-Id: Ib397d5791e9a6f10c10c2ab3160401c1c7cfa214
Closes-Bug: #1384055
Adds support for Keystone V3 API

Updated trove client to support Keystone V3 API. The
Keystoneclient session object is used for authentication, retrieving
the service catalog and HTTP connection/session management.

Added additional CLI parameters for Keystone V3.

Added tests using requests_mock instead of mocking completely the
session object like the previous failed patch:

https://review.openstack.org/#/c/102315

Change-Id: Ib804c0a45b3b4d3f8670ec642b2c2fd1be6cd656
Merge "Adds support for Keystone V3 API"
Fixes client to send 0 for min/max size

Previously, if 0 is passed as the min_size or max_size for a
configuration, the Trove client would ignore it and not put it in the
dict making up the request body. This changes that code to explicitly
check if this value is not None instead of ignoring it if its zero.

Co-Authored-By: Craig Vyvial <cp16net@gmail.com>

Fixes bug: 1398995

Change-Id: I7f1d196b00a612365576bfb82fbfd35d647588d4
Updated from global requirements

Change-Id: Ieafe119fe7df2567794c1c85c270c8236fb623b1
Workflow documentation is now in infra-manual

Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.

Change-Id: Ie62438c60d2087fa067e967a5e2b8ea8ee392e48
Merge "Workflow documentation is now in infra-manual"
Associate flavor types with datastore versions

This feature provides the ability to associate flavor
types with datastore versions.The trove-mange util enables
adding/deleting this information.The trove-client has been
changed to include a new api call:
/{tenant_id}/datastores/{datastore}/versions/{version}/flavors.
This call will return all nova flavors if no entries are found
for the said datastore-version in datastore_version_metadata,
otherwise only the entries found are returned.

Change-Id: I89fc2db0078d7884b7b3fa91f5daec68c0132dfb
Implements: blueprint associate-flavors-datastores
Merge "Associate flavor types with datastore versions"
Remove RAX-specific auth in troveclient

Author: Swapnil Kulkarni <swapnilkulkarni2608@gmail.com>
Co-Authored-By: Nikhil Manchanda <SlickNik@gmail.com>
Co-Authored-By: Craig Vyvial <cp16net@gmail.com>

Change-Id: I250777890a1f5240c5f14290cf02eb5a7b34b434
Closes-Bug: #966329
Add profiling support to Trove client

To be able to create profiling traces for Trove, client should be
able to send special HTTP header that contains trace info.
This patch is as well important to be able to make cross project
traces. (Typical case horizon calls Trove via python client, if
profiler is initialized, Trove client will add extra header, that
will be parsed by special osprofiler middleware in Trove api)
Don't worry no security issue here, trace information is signed
by HMAC key that is setted in api-paste.ini. So only person that
knows HMAC key is able to send proper header.
Main patch in Trove is: I580cce8d2b3c4ec9ce625ac09de6f14e1249f6f5

We prepared a common BP in oslo-spec due to integration change is
similar to all projects: I95dccdc9f274661767d2659c18b96da169891f30
Currently there are 2 other projects are using osprofiler: Glance &
Cinder, and some others are working in progress.

Change-Id: I5a76e11d428c63d33f6d2c2021426090ebf8340c
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Merge "Remove RAX-specific auth in troveclient"
Merge "Fixes trove show output"
Merge branch 'master' of https://github.com/openstack/python-troveclient