760 Commits

Author SHA1 Message Date
Mehdi Abaakouk
f286ef1114 Fix functionnal tests
This removes the functionnal tests from the legacy
directory and run the ones in the new directory with tox.

Change-Id: Ibbfd6c946e25435ff37e459bf5e82565a1e21778
2015-01-21 17:58:18 +01:00
Ihar Hrachyshka
db7371c3c2 Fixed docstring for Notifier
Drivers still belong to oslo.messaging.notify.drivers stevedore
namespace.

Change-Id: Ibb41d49992bf7d7f3ee0af16b46ada0411973747
2015-01-21 16:12:21 +01:00
Jenkins
2a35b290b1 Merge "Updated from global requirements" 2015-01-21 11:50:18 +00:00
Jenkins
a85c24755a Merge "Add more private symbols to the old namespace package" 2015-01-21 08:55:32 +00:00
Jenkins
ae009a4ed9 Merge "Port zmq driver to Python 3" 2015-01-21 08:55:10 +00:00
Doug Hellmann
76808973c3 Add more private symbols to the old namespace package
This patch exposes some private symbols used by the tests in nova and
heat.

Change-Id: Ide40b293c9b9c76aae094950720cead4179ea883
Partial-Bug: #1412812
Partial-Bug: #1412841
2015-01-20 22:22:14 +00:00
Jenkins
9de4fa68cc Merge "Add TimerTestCase missing tests case" 2015-01-19 13:16:58 +00:00
Jenkins
fda216e2c2 Merge "Add oslo.messaging._drivers.common for heat tests" 2015-01-16 16:50:22 +00:00
Jenkins
0055d25eaf Merge "Fixes test_two_pools_three_listener" 2015-01-16 13:34:52 +00:00
OpenStack Proposal Bot
28320513a9 Updated from global requirements
Change-Id: I8c2d957af9b8ab713f7f19670494a02bf34ccaa0
2015-01-16 13:28:05 +00:00
Jenkins
a38494d48d Merge "fix qpid test issue with eventlet monkey patching" 2015-01-16 11:07:28 +00:00
Mehdi Abaakouk
b888ee3ebf Fixes test_two_pools_three_listener
The Notification Listener Tracker class is not threadsafe,
so when a test stop an already stopped listener this one
can be restarted, due to concurrency access of the threads list and
concurrency execution of the start/stop/wait method of the notification
listener.
This result of a lockup of the test or a listener can continue to
got unepxected message.

This change fixes that by never stop the tread with the tracker callback
but only manually with the test.

This test also rename some 'Listener' to 'Server', to not mismatch
the driver listener from the notification listener.

Closes-bug: #1410902

Change-Id: I4777c7dd0ba71c61850d36641e85f33f9461e9c1
2015-01-16 09:43:03 +01:00
Mehdi Abaakouk
0c49f0d0ca Add TimerTestCase missing tests case
A tests case class have been missed is the namespace removal changes.

Change-Id: Ie2984260fc6ab74c5766d73c98dd9b1d05d8ee2d
2015-01-15 15:42:42 +01:00
Mehdi Abaakouk
be9fca7f6f fix qpid test issue with eventlet monkey patching
I516c580faef04f55fcc095d22adbfabcfa001da7 have been
merged just after the namespace change patch, but change only
the old test directory.

So reapply I516c580faef04f55fcc095d22adbfabcfa001da7 to the
new test directory.

Change-Id: I5cd7d7b6c507967e7fb4744012b2ad215c4f1ad3
Closes-Bug: #1409899
2015-01-15 15:00:41 +01:00
Dan Prince
0ca1b1e6a1 Make setup.cfg packages include oslo.messaging
This properly deploys the oslo.messaging package may resolve
sphinx build errors for projects which have not yet
upgraded to oslo_messaging.

Change-Id: I4db750fb2356ebf44a8fccf7c422b474fefec0ee
2015-01-15 08:47:02 -05:00
Mehdi Abaakouk
408d0da9be Upgrade to hacking 0.10
Change-Id: I7930988fd9ed9da27c6c333f865f54edfb5ff812
2015-01-14 09:04:22 +01:00
Doug Hellmann
a6d068a984 Add oslo.messaging._drivers.common for heat tests
Some of the heat unit tests import code from a private part of
oslo.messaging. With the namespace package change, that private part was
no longer being exposed. This change introduces the needed module so we
can release oslo.messaging with the namespace changes without breaking
heat, to give the heat team time to update their tests.

Partial-Bug: #1410196
Change-Id: Ib3ea106646f75b17665877b08ccbd382c5698714
2015-01-13 08:56:36 -05:00
Victor Stinner
1fa0e6a8fe Port zmq driver to Python 3
With eventlet 0.16, it becomes possible to run Oslo Messaging tests on
Python 3 with eventlet.

This change ports the zmq driver to Python 3:

* encode the topic explicitly to UTF-8
* use a list comprehension instead of map() to also get a list
  on Python 3 (not a generator)

The following eventlet change is needed to run tests:
https://github.com/eventlet/eventlet/pull/187

Related eventlet issue:
https://github.com/eventlet/eventlet/issues/185

I will propose a different change to enable tests with eventlet enabled
when a release of eventlet including this fix will be available.

Change-Id: Ic8fec515cfa757e08ffb9604e3bfb2e87d08f3d8
2015-01-13 10:58:53 +00:00
Victor Stinner
bc8675afb0 fix qpid test issue with eventlet monkey patching
Tests now ensure that eventlet monkey patching is enabled before
importing the qpid module, otherwise qpid will hang.

Currently, qpid randomly hangs, depending on the order of the Python
module import, which probably depends on the local file modification
time.

Closes-Bug: #1409899
Change-Id: I516c580faef04f55fcc095d22adbfabcfa001da7
2015-01-13 10:35:02 +00: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
Jenkins
8102f25dd2 Merge "Fix some comments in a backporting review session" 2015-01-08 19:23:39 +00:00
Jenkins
c45ad9ebfe Merge "Add a info log when a reconnection occurs" 2015-01-08 19:22:13 +00:00
Mehdi Abaakouk
31a149a4df Add a info log when a reconnection occurs
This change adds a info log when a reconnection occurs
like we have before.

Change-Id: I3b7d86894efac09e27125c368fc83e83c36b630e
2015-01-07 21:30:22 +00:00
Mehdi Abaakouk
44132d4344 rabbit: fix timeout timer when duration is None
When the duration of the timeout timer used in the rabbit driver.is
None and we want that the timer return a maximum of N secs it return None
(infinite) instead of N.

This change fixes that.

Closes-bug: #1408370

Change-Id: I7f4cb3075f776c63aa7dc497173677f92b68c16d
2015-01-07 21:30:01 +00:00
Jenkins
f31f519e15 Merge "Don't log each received messages" 2015-01-07 20:21:41 +00:00
Mehdi Abaakouk
c18f9f7c61 Don't log each received messages
oslo.utils.strutils.mask_password take too much time on
big payload (nova-conductor can receive payload ~ 66k in
largeops jobs for example).

This change removes this logging until we make mask_password
more efficient or we have a smarted the oslo.messaging logging to
not log everything.

Change-Id: Ib1f1d70c5cb820e8ff2de10e6064037808ea1f3a
Closes-bug: #1408362
2015-01-07 18:27:32 +01:00
Jenkins
1949c7641d Merge "Add an optional executor callback to dispatcher" 2015-01-06 20:54:25 +00:00
Jie Li
3e2d142a87 Fix some comments in a backporting review session
* add i18n support to some exception messages
  * remove the return value of DecayingTimer.start()

Relates to review: I898a236a384b3466147026abc7a1ee21801e8ca1

Change-Id: I7adf5478732f1f46db1009b059b66ff8af6ecdc3
2014-12-27 12:01:25 +08:00
Jenkins
84f18e8167 Merge "safe_log Sanitize Passwords in List of Dicts" 2014-12-23 23:27:05 +00:00
Jenkins
c575df2fdb Merge "Enable IPv6-support in libzmq by default" 2014-12-21 03:48:36 +00:00
Jenkins
39e4a0bcc4 Merge "Add a thread + futures executor based executor" 2014-12-21 03:44:32 +00:00
Jenkins
4b1fcd3622 Merge "Fix incorrect attribute name in matchmaker_redis" 2014-12-19 09:53:43 +00:00
Frode Nordahl
c40ba040a6 Enable IPv6-support in libzmq by default
Change-Id: I53790e5492ebf026e0b331ecb3c294da89603540
Closes-Bug: 1389137
2014-12-19 09:41:46 +01:00
Joshua Harlow
372bc4947e Add a thread + futures executor based executor
The concurrent.futures module is one of the ways
that async activities can be done in the future,
so we should try to work on getting to that future
by using more futures. To enable this (as well as
to enable getting off eventlet), add a thread pool
based executor which will process incoming messages
using the pool.

Also begins adding according docs as well for the
different types of executors that are available.

Change-Id: I1482fd70abbf69f4e2994597c5e95d91fecb815e
2014-12-18 23:49:53 -08:00
Jenkins
3129701354 Merge "Don't allow call with fanout target" 2014-12-16 22:12:12 +00:00
Mehdi Abaakouk
56a9c55a3f safe_log Sanitize Passwords in List of Dicts
Sanitizes password fields found in lists of dicts for messages
before logging.

This change uses oslo.utils.strutils.mask_password to do it.

Change-Id: I7cd1e53e2ced7ebf9c5942b7a0dbbeb991acab4d
Closes-Bug: #1268459
2014-12-16 16:17:46 +00:00
Jenkins
dcf264221b Merge "Updated from global requirements" 2014-12-12 14:48:50 +00:00
Jenkins
935b5bd5fa Merge "rabbit: add some tests when rpc_backend is set" 2014-12-12 12:43:31 +00:00
Jenkins
85cd841ae7 Merge "Make the RPCVersionCapError message clearer" 2014-12-11 19:17:34 +00:00
Jenkins
fa68eaa280 Merge "Add functional and unit 0mq driver tests" 2014-12-11 09:55:31 +00:00
OpenStack Proposal Bot
709c401cb8 Updated from global requirements
Change-Id: I55eed75a9d6a8375823480220b8312eb255e417a
2014-12-11 07:19:31 +00:00
Mehdi Abaakouk
98bfdd1d34 rabbit: add some tests when rpc_backend is set
This change improves test coverage of the rabbit driver for new
value allowed in rpc_backend config option.

Change-Id: I52a8a8beb5b0d32647f52bb21abd5f7164dac2df
2014-12-11 07:15:43 +00:00
Jenkins
f6be71c503 Merge "Warns user if thread monkeypatch is not done" 2014-12-10 16:54:22 +00:00
Mehdi Abaakouk
d3e6ea1788 Warns user if thread monkeypatch is not done
This change warns the user that it does have monkeypatched the
oslo.messaging library correclty.

Change-Id: Ice80ffc6cbc39919eac4bc0809992daea51b5922
Closes-bug: #1288878
2014-12-10 15:59:59 +01:00
Jenkins
cb4c5bce0b Merge "The executor doesn't need to set the timeout" 2014-12-10 13:05:31 +00:00
Jenkins
9cc46bafb0 Merge "qpid: honor iterconsume timeout" 2014-12-10 13:04:50 +00:00
Jenkins
afed2e8579 Merge "rabbit: more precise iterconsume timeout" 2014-12-10 12:59:34 +00:00
James Page
cd71c47d32 Add functional and unit 0mq driver tests
Basic functional and unit tests for zmq driver.

Note as the zmq driver is directly dependent on eventlet, this
change also updates the notify logger tests to remove the
direct dependency on threading which was being monkey patched,
causing test failures.

As the zmq driver has a direct dependency on eventlet, tests are
skipped under py3.

Co-Authored-By: Kapil Thangavelu <kapil.thangavelu@canonical.com>
Co-Authored-By: Edward Hope-Morley <edward.hope-morley@canonical.com>

Change-Id: I93b8b2e92d0f2a353d3357a5e61f6d472ec84944
Partial-bug: #1302941
2014-12-09 15:02:31 +00:00
Jenkins
836f16f3fe Merge "Doc: 'wait' releases driver connection, not 'stop'" 2014-12-09 11:59:05 +00:00
Mehdi Abaakouk
15aa5cbda8 The executor doesn't need to set the timeout
It's up to the driver to set a suitable timeout for polling the broker,
this one can be different that the one requested by the driver
caller as long as the caller timeout is respected.

This change also adds a new driver listener API, to be able
to stop it cleanly, specially in case of timeout=None.

Closes bug: #1400268
Closes bug: #1399257
Change-Id: I674c0def1efb420c293897d49683593a0b10e291
2014-12-08 12:59:33 +01:00