zmq: switch back to not using message envelopes

In oslo-incubator, we default to not serializing messages using a
message envelope:

  def _cast(.., envelope=False, ...)

except using the v2 notifyer which explicitly passes envelope=True.

However, in oslo.messaging, we accidentally switched to using a
message envelope:

     def _send(self, ..., envelope=True):

This was not intentional and may be disruptive to users.

This issue was identified because the envelope=True path just doesn't
work! We don't have any zmq tests in oslo.messaging, but even in
oslo-incubator the code path isn't tested and has been broken since
I73aad7697cf83ad4aabb3c2058b7cc4f53f783c2

Partial-Bug: #1301132
Change-Id: I6aa2e2ac3cebf443719d64ebcd9eaadc0a9328b8
Cleaned up references to executor specific RPCServer types

In oslo.messaging design phase, it was planned to introduce executor
specific RPCServer types though they were never implemented. References
to those types sneaked into docstrings from the original design
document. Since we're not going to implement those types now, docstrings
should be updated accordingly.

Change-Id: Ic4017bb8f89d47115bb7dc59483e81d26c76212b
Bump hacking to 0.9.x series

In order to keep this patch to just a requirements bump, ignore new and
stricter hacking rules that are being triggered. Fixing up the code and
turning these on is out of scope of this patch and is for future patches.

Change-Id: I5711e066da1076486d291bc4f45359ecb26e1b1a
Add transport reconnection retries

When a rpc client try to make a RPC call and the server is unreachable
The rpc call hang until the server come back.

In most case this is the desired behavior.

But sometimes, we can prefer that the library raise an exception after a
certain number of retries.

For example in ceilometer, when publishing a
storage.objects.incoming.bytes sample from the Swift middleware to an
AMQP topic, you might not want to block the Swift client if the AMQP broker
is unavailable - instead, you might have a queueing policy whereby
if a single reconection attempt fails we queue the sample in memory and
try again when another sample is to be published.

This patch is the oslo.messaging part that allow this.

Closes bug #1282639
Co-Authored-By: Ala Rezmerita <ala.rezmerita@cloudwatt.com>

Change-Id: I32086d0abf141c368343bf225d4b021da496c020
Add an example usage of RPCClient retry parameter

Change-Id: Ib88870b312721deff0d9b6db2ba2e3cb99da6038
rabbit/qpid: remove the args/kwargs from ensure()

Having an *args list following the retry kwargs just screams:

  SyntaxError: non-keyword arg after keyword arg

but we don't actually pass any args to methods invoked via ensure() so
these are just unused and can be removed. If we did want them in future
we could just use functools.partial().

Change-Id: Idef12bbc94d39c84ee06ddd6d743f3d2f705a8d1
Merge "Bump hacking to 0.9.x series"
Merge "Add transport reconnection retries"
Merge "rabbit/qpid: remove the args/kwargs from ensure()"
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
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
Merge "zmq: switch back to not using message envelopes"
Merge "Add check credentials to log message if rabbmitmq closes socket"
Merge "Fix the notify method of the routing notifier"
Updated from global requirements

Change-Id: I71fd4b1292d68279d75569dc022745b75da66eab
Disable connection pool in qpid interfaces tests

This change disables the connection pool in qpid interfaces tests to
ensure that each tests are isolated.

Closes bug: #1331459

Change-Id: Ib4a49be9f605dda5f2cbcbade3851345866e5797
Transport reconnection retries for notification

This patch add support of reconnection retries for the
messaging notifier.

Related bug #1282639
Change-Id: Ia30331f8306ff0f6952d83ef42ff8bee6b900427
Merge "Add an example usage of RPCClient retry parameter"
Merge "Cleaned up references to executor specific RPCServer types"
Merge "Disable connection pool in qpid interfaces tests"