Documentation anomaly in TransportURL parse classmethod

The documentation for the classmethod `parse` states that

    The last parsed username and password will be propagated to the rest
    of hosts specified::
    user:pass@host1:port1,host2:port2
    [
    {"username": "user", "password": "pass", "host": "host1:port1"},
    {"username": "user", "password": "pass", "host": "host2:port2"}
    ]

However, in practice one needs to specify the usernames and passwords
individually with every host.

DocImpact: Documentation needs to be changed due anomaly in TransportURL
parse classmethod.

Change-Id: I1a9e07e0380a0d6f7d00731df93c9ba01ae20e0e
Closes-Bug: #1355684
Enable user authentication in the AMQP 1.0 driver

The TransportHost class allows user credentials to be supplied as part
of the URL that identifies the host.  Prior to this patch, these
credentials - username and password - were ignored by the AMQP 1.0
driver.  This prevents connections to a message broker that has been
configured to use SASL PLAIN authentication.

Closes-Bug: #1385445
Change-Id: Ib9279ed40b0f4cff62e1c742069c8f49f5625659
Add basic tests for 0mq matchmakers

Basic unit tests for in-memory (localhost), ring and Redis based
matchmakers.

Redis tests are opportunitic based on a redis-server being installed
and running.

Test are currently skipped under py3 due to direct dependency on
eventlet.

Co-Authored-By: Kapil Thangavelu <kapil.thangavelu@canonical.com>
Change-Id: I59c4d095033370ab94f645af0d50e2502530f816
Partial-bug: #1302941
Updated from global requirements

Change-Id: I9d04f270038ba647a4a0ad849270aca2ea879874
Remove unuseful param of the ConnectionContext

The ConnectionContext depends on the ConnectionPool.
A ConnectionPool already known the connection classes,
the configuration object and the url needed to create a new connection.

But we pass again thoses informations when we create a ConnectionContext.
This is unuseful, we can reuse thoses in the connection pool even we
want a not pooled connection.

This change removes the unuseful ConnectionContext parameters,
this also ensures that connection created with or without the pool
are created in the same ways and only at one place (the create method
of the connection pool).

Change-Id: I4bd43d202fa2774ad5dcb0f8dd05e58ba60c6009
Create ZeroMQ Context per socket

ZeroMQ Context is a singleton and thus is created only once. This leads
to problems when there is more than one process working with it.
For example, while Neutron server starts, it firstly loads core
plugin and service plugins, which start message handling server,
and only then forks to create api-workers. As a result, all child
processes get the same copy of the context.

Creating new Context for each socket will prevent such situations
from happening and will guarantee that each process works with its
own Context.

Change-Id: I56912e39b119c20f6f23311fc2c7c4b9e9e480d0
Closes-Bug: #1364814
Allows to overriding oslotest environ var

This patch allows to override the oslotest environ variables
in the testr configuration

Change-Id: Ifec93f20446038f0af2ee9bae62b2aa6e97194a5
Merge "Allows to overriding oslotest environ var"
Merge "Create ZeroMQ Context per socket"
rabbit: uses kombu instead of builtin stuffs

The rabbit driver have a custom code to reconnect to a broker,
to change the broker in HA configuration, to retry a to send
a message, to handle the interval between reconnection.

But all of that exists in kombu, so just use it.

Using the kombu Connection object with the url make also the rabbit
driver more generic.

Futher patches can rename rabbit* oslo.config options to a more generic
name and add a new driver entry_point 'kombu' to allow to use this driver
with any borker supported by kombu.

Change-Id: Id6b89d5448126ca652b46fe6ce5a9b3ed5839795
Merge "Enable user authentication in the AMQP 1.0 driver"
Merge "Add basic tests for 0mq matchmakers"
Imported Translations from Transifex

For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: If7c3172f74f4fede4d2b900d73a396c0834b0fc9
Merge "Remove unuseful param of the ConnectionContext"
Merge "Imported Translations from Transifex"
Updated from global requirements

Change-Id: Ic229d9afdaf01abeff54d1087c21c70b25dcb0dd
Merge "rabbit: uses kombu instead of builtin stuffs"
Merge "Documentation anomaly in TransportURL parse classmethod"