Ensure routing key is specified in the address for a direct producer

This then matches the address used a direct consumer.

Change-Id: If71f78e50f8a9b3acfd1e9d02c8271f17c4ebee7
Closes-Bug: #1300318
(cherry picked from commit 9e0e85ede8406ace45c7573b18b8fe86c3e58921)
Updated from global requirements

Change-Id: I678b31668136ec793f7f4dfadbf64cd4760af8d5
Explicitly name subscription queue for responses

This prevents response queues being abandoned but still bound to
the exchange with the same key as the newer queue.

Change-Id: Iee0465010a1c6d00e96fb672505688a0f763f86c
Closes-Bug: 1318742
(cherry picked from commit 25f3d9acc395baef730203dcfc3941dbfc4fb73b)
Add check credentials to log message if rabbmitmq closes socket

If one has the credentials misconfigured for rabbitmq currently the following
error message is shown: "AMQP server on 10.0.0.23:5672 is unreachable:
Socket closed. Trying again in 1 seconds. " This is confusing because the
problem is the login creditentials are wrong but the server can be reached.

Since the rabbmitmq server allowed the initial connection and closed the
socket it's likely an authenication issue. This patch now logs: "AMQP server
10.0.0.23:5672 closed the connection. Check login credentials: Socket closed"
to hint the user that it could be a credential issue.

Change-Id: Iadff35d88a9cf704c1edd2d5036a113966db3ea3
Closes-bug: 1325750
(cherry picked from commit bf281aace507dec7547e40f68d8cd7bb290dc903)
Fix the notify method of the routing notifier

The notify method of the routing notifier don't have the correct
signature and change the case of the priority.

This change fixes it.

Change-Id: I833b19d0c054c94b861a4f6cc263c3487fa0e544
Closes-bug: #1316681
(cherry picked from commit cbbb90e28c608d165df94b779c04593bd17d02f1)
Ensures listener queues exist in fake driver

The fanout queues of the fake driver are created at the first executor
poll, but if we use eventlet executor and the fake driver, when the sender
delivers a fanout message before the first poll, the message goes to the
topic queue instead of the server fanout queue.

The changes fixes that by ensuring the all queues exists when the
listener is created.

Closes bug #1331453
Related-Bug: #1334798

Co-authored-by: Paul Michali <pcm@cisco.com>
Change-Id: I92e7c01dd87d634b741bbcaea92f48730fdd555e
(cherry picked from commit e582da68f4c5edd3e4a3cdb62819c210c72dcfad)
(cherry picked from commit 0cfafac2468afe6b601a985495382aae3351b217)
Fixes incorrect exchange lock in fake driver

The exchanges lock in the fake driver was being disregarded,
probably due to a typo.

Closes-Bug: #1342088
Change-Id: I45261fce501a867b9253112e1608b14ed5afea26
(cherry picked from commit 1cc3e5d866ee51b7cd542e8a00721329b2bbed3c)
Sync openstack requirements

Sync the latest stable openstack requirements to get
the fix for upper version of sphinx.

Closes bug: #1346827

Change-Id: I76138256457bbac4b6887b71911087dd93d678cf
Merge "Ensures listener queues exist in fake driver" into stable/icehouse
Merge "Fixes incorrect exchange lock in fake driver" into stable/icehouse
Merge "Explicitly name subscription queue for responses" into stable/icehouse
Merge "Add check credentials to log message if rabbmitmq closes socket" into stable/icehouse
Merge "Fix the notify method of the routing notifier" into stable/icehouse