14 Commits

Author SHA1 Message Date
Kenneth Giusti
33f1a3bf8a Do not leak Listeners on failover
This fixes the case where two listeners subscribed to the same topic
fail to reestablish themselves after broker failover.  This was due to
a leak where one listener 'overwrote' the other in the driver.

Change-Id: I83822e28c3f15eed639c31891efae222b1ef3de8
Closes-Bug: #1553206
2016-03-04 10:47:07 -05:00
Kenneth Giusti
f868936d66 Fix a minor syntax error in a log statement
Change-Id: If6115045dbaf2229b1229d259787ecd207348603
2016-02-24 16:02:32 -05:00
ChangBo Guo(gcb)
2d2f6ca5d2 Python 3 deprecated the logger.warn method in favor of warning
Python 3 deprecated the logger.warn method, please see:
https://docs.python.org/3/library/logging.html#logging.warning,
so we prefer to use warning to avoid DeprecationWarning.

Change-Id: I55148140bb2e85039356726057ae1d552e69b663
2016-01-21 13:23:29 +08:00
ChangBo Guo(gcb)
6b20fa8597 Improvement of logging acorrding to oslo.i18n guideline
1. Use translation marker functions, their argument must just be a string
2. Any message with more than one variable should use named
   interpolation instead of positional to allow translators
   to move the variables around in the string to account for
   differences in grammar and writing direction.
3. String interpolation should be delayed to be handled by the logging
   code, rather than being done at the point of the logging call.
For more details, please refert to oslo.i18n guideline [1]

Note: this commit doesn't touch test code.

[1] http://docs.openstack.org/developer/oslo.i18n/guidelines.html

Change-Id: I5f013d65b20396bbe0e5a2cceaed2a33fad1af23
2016-01-07 13:26:55 +08:00
Kenneth Giusti
1b605c1466 Use the hostname from the Transport for GSSAPI Authentication
Previously, the AMQP 1.0 driver did not pass the proper hostname to
pyngus.  This prevented GSSAPI authentication from working properly.

Change-Id: Ibc6678e7cbae6dd5108d1650dbb8ddf837aa3648
Closes-Bug: #1503258
2015-10-08 14:06:33 -04:00
Kenneth Giusti
3419c95207 Port the AMQP 1.0 driver to Python 3
Minor syntax fixes to allow the AMQP 1.0 driver to run under Python
2.7 and 3.4.

Closes-Bug: #1477124
Change-Id: I8512bb8274fad78285ab59797ba9b3f0f8b5c171
2015-10-03 18:42:33 +02:00
Kenneth Giusti
518e4e899f Add SASL configuration options for AMQP 1.0 driver.
Proton's SASL implementation provides several different configuration
options, such as the permitted mechanism set and the configuration
file.  This patch adds support for configuring these items.

Change-Id: Icf59643a6d557e3d91947664afedd420c9522fd8
Closes-Bug: #1495969
2015-09-20 15:45:11 -04:00
Kenneth Giusti
e3d99b2127 Fix a few leaks in the AMQP 1.0 driver.
Break any references that can form a cyclic reference.  Several of
proton's python classes define __del__ methods, so a cyclic reference
must be broken manually.

Change-Id: Icabc7abd01a02cb80c7eb4a0de682e90308459ef
Closes-Bug: #1496540
2015-09-16 16:47:12 -04:00
Jenkins
155e867611 Merge "Port the AMQP1 driver to new Pyngus SASL API" 2015-09-03 13:56:46 +00:00
Takashi NATSUME
4d0ab45200 Fix typos in a document and a comment
reciever => receiver
explict => explicit

Change-Id: I777ca463cefa222d8c5251ce29a898f46119b122
2015-09-01 16:46:15 +09:00
Kenneth Giusti
992c7ec5b0 Port the AMQP1 driver to new Pyngus SASL API
Pyngus 2.0 includes a new API for configuring SASL credentials.
Previous versions of Pyngus did not provide this API - the driver had
to invoke Proton APIs in order to configure user credentials.  Moving
to the Pyngus API will preserve compatibility with older versions of
Proton, since the next release of Proton wil be changing its SASL API.

Pyngus 2.0 also adds strict enforcement of callback re-entrancy
constrants.  This patch fixes some bad driver reentrancy violations.

Closes-bug: #1473515
Change-Id: Iddccefd3ee3c9092c086fc54e3810f78d5df9338
2015-08-26 11:24:25 -04:00
Kenneth Giusti
c127594de6 Provide better detection of failures during message send
This change causes the message sender to block until the messaging
infrastructure (e.g. the broker) assumes ownership of the message (or
fails to accept it).  If the message is accepted, then the sender will
either pend for a response (in the case of RPC), or simply return (in
the case of notification).  If the message is rejected by the
messaging infrastructure a MessagingException will be raised at the
sender.

Change-Id: I3f4a1ed1c17e18f6d629f16e6b5c99de45b083d6
Closes-Bug: #1377228
2015-06-08 20:42:10 -04:00
Doug Hellmann
ee31a84719 Update Oslo imports to remove namespace package
Change-Id: I4ec9b2a310471e4e07867073e9577731ac34027d
Blueprint: drop-namespace-packages
2015-01-21 21:09:33 -05:00
Doug Hellmann
e55a83e832 Move files out of the namespace package
Move the public API out of oslo.messaging to oslo_messaging. Retain
the ability to import from the old namespace package for backwards
compatibility for this release cycle.

bp/drop-namespace-packages

Co-authored-by: Mehdi Abaakouk <mehdi.abaakouk@enovance.com>
Change-Id: Ia562010c152a214f1c0fed767c82022c7c2c52e7
2015-01-12 12:50:41 -05:00