Add Middleware for correlation_id

The middleware generates the 'correlation_id' if it is not already present
in the request header. This 'correlation_id' can be used to enable more
effective debugging of requests that span multiple services.

Implements: blueprint create-a-unified-correlation-id

Change-Id: Ibc06a5b05b628e0b640e9299c79127ecbf9c684e
Extract matchmaker_ring to own module

The base matchmaker module should not have
all the matchmakers implemented within. Instead,
we desire to break them out.

For purposes of deprecation, logs a warning when
importing from the ZeroMQ driver.

Change-Id: I76936edd97309621a9c28363dccd792293a1c0d3
Add hacking extension to flake8

Include hacking in test-requires and disable any failing tests.
Once failing tests are fixed they can be enabled to gate on them.

Change-Id: Id6a228441ec94d5d0bee1dba05118bb35ecaa001
Break out common functionality for filters and weights

In the context of openstack.common.scheduler:

base_filter.BaseFilterManager and base_weight.BaseWeightManager had
duplicated code.

This patch breaks that code out into a shared base class:
base_handler.BaseHandler

Change-Id: Ie5232c6dd9876a75170beda71adde90fc6bb4153
Merge "Extract matchmaker_ring to own module"
Merge "Break out common functionality for filters and weights"
Migrate to pbr.

Also, remove the files associated with this that should not be pulled
from oslo-incubator any longer.

Closes bug 1179007

Change-Id: Id2e882837bdde51a60562e8cdd207c7ff0c88a6a
Merge "Add hacking extension to flake8"
Merge "Add Middleware for correlation_id"
Allow RPC_API_NAMESPACE on RpcProxy objects

This allows one to subclass RpcProxy for use with a particular
namespace without having to repeatedly pass the namespace into the
make_namespaced_msg() method.  This new RPC_API_NAMESPACE attribute will
be used for the make_msg() call.  It is defaulted to None to match previous
behavior.

Change-Id: Ied62df839cda0be6f9f9b060bbfc22e086f61be8
Enable hacking H703: Multiple positional placeholders

Fix and enable test for multiple positional placeholders in
localizations

Change-Id: Ie3b5e3113cd0f3340b7b0f5774001893b1e6857c
Enable hacking H702 localization test

Fix and enable test for 'formatting operation should be outside of
localization method call'

Change-Id: I0e707f9d4aacf75f9a9239b323a57d7d39f30c84
Add generic serialization support

This adds a generic serialization model that the RpcProxy and
RpcDispatcher will use to serialize and deserialize arguments
and return values. The base definition is provided, as well
as a default NoOpSerializer which performs no special
action (retaining the existing behavior).

Related to blueprint rpc-object-serialization

Change-Id: I0a33baddee3e28dfc47100eb3216b679558b0bdd
Merge "Enable hacking H703: Multiple positional placeholders"
Merge "Enable hacking H702 localization test"
Implement apiclient library

This library can be used in novaclient, keystoneclient,
glanceclient, and other client projects. The library
contains common code and uses python-requests for
HTTP communication.

Features:
* reissue authentication request for expired tokens;
* pluggable authentication;
* store authentication information in a keyring;
* rich exceptions hierarchy;
* utils for building CLI tools.

Implements: blueprint common-client-library, blueprint common-http-client

Change-Id: Ic8b466a57554018092c31c6d6b3ea62f181d7cef