999 Commits

Author SHA1 Message Date
Jenkins
3e46c151a7 Merge "Add tox target to find missing requirements" 2015-06-30 19:27:59 +00:00
Jenkins
2ec7ed602f Merge "Correct RPCVersionCapError message" 2015-06-27 03:23:42 +00:00
Davanum Srinivas
f1c2b8ff91 Add tox target to find missing requirements
Change-Id: I49465a614540c6cc1a0e3f1b448f13db940c784c
2015-06-26 07:26:24 -04:00
Jenkins
9d08842715 Merge "Imported Translations from Transifex" 2015-06-26 10:57:31 +00:00
Flavio Percoco
079c04f0d0 Fix qpid's functional gate
The loggin verbosity changed in 0.32 which our gate is pulling from the
updates repository. This patch updates the script to make it work again.

Closes-bug: #1468917
Change-Id: I88a1bc794246beb156d4301bd503fa51a7cd2cce
2015-06-26 06:35:00 +00:00
OpenStack Proposal Bot
254dfb4584 Imported Translations from Transifex
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I7b7d8cf9ce634d5fd00b215681ccc3ea09a997c1
2015-06-26 06:16:01 +00:00
Corey Wright
8422e975b3 Correct RPCVersionCapError message
This change adjusts the exception message to be more in line with the
version compatibility algorithm so as to accurately portray the
problem to the log recipient.

The RPCVersionCapError message can be grossly incorrect when the
requested message's major version is lower than the specified version
cap's major version, declaring the requested message version as too
high, when the real error is that the major versions differ (as major
versions are assumed to be incompatible).

Example:

    RPCVersionCapError: Requested message version, 3.23 is too
    high. It needs to be lower than the specified version cap 4.0.

Change-Id: Iceef999ed385f2ba77449c568127f50f83d47196
Closes-Bug: 1468525
2015-06-24 17:18:46 -05:00
Doug Hellmann
3b6ca5b6de Drop use of 'oslo' namespace package
The Oslo libraries have moved all of their code out of the 'oslo'
namespace package into per-library packages. The namespace package was
retained during kilo for backwards compatibility, but will be removed by
the liberty-2 milestone. This change removes the use of the namespace
package, replacing it with the new package names.

The patches in the libraries will be put on hold until application
patches have landed, or L2, whichever comes first. At that point, new
versions of the libraries without namespace packages will be released as
a major version update.

Please merge this patch, or an equivalent, before L2 to avoid problems
with those library releases.

Blueprint: remove-namespace-packages
https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages

Change-Id: I05a408b76d4f31b803769a27759e91df770511bb
2015-06-19 18:06:50 +00:00
Jenkins
a3a3c3faa8 Merge "Use inferred=True by default" 2015-06-16 09:49:22 +00:00
Jenkins
f3d70a923d Merge "Enable amqp's protocol unit tests everywhere" 2015-06-16 09:42:28 +00:00
Flavio Percoco
c8845b4bef Use inferred=True by default
Rabbitmq's amqp1.0 plugin doesn't have support for vbin8, which is the
default encoding used by qpid-proton. In order to workaround this issue
we should use inferred=True.

Closes-bug: #1465409
Change-Id: Id265917244d7e152c5e13a10df367a3e59de8e50
2015-06-15 23:16:57 +02:00
Flavio Percoco
f06b19628f Enable amqp's protocol unit tests everywhere
Now that python-qpid-proton has taken an approach similar to zmq's, it's
possible to install it in boxes where the C libraries are not present in
the system. This patch takes advantage of that to enable amqp protocol's
tests everywhere.

Change-Id: Ibce4c791aafadf45fa876d6a4f5373fde94769ff
2015-06-15 20:52:24 +02:00
Jenkins
4062c1caa6 Merge "Switch badges from 'pypip.in' to 'shields.io'" 2015-06-15 17:22:13 +00:00
Jenkins
ffcb3a34b4 Merge "Switch to warnings module instead of versionutils" 2015-06-14 01:45:12 +00:00
Jenkins
3800dd61c5 Merge "Don't use devstack to setup our functional env" 2015-06-13 00:47:18 +00:00
Jenkins
38558db420 Merge "Add drivers to the documentation" 2015-06-12 21:10:53 +00:00
Jenkins
985b1597b4 Merge "Provide better detection of failures during message send" 2015-06-12 11:09:11 +00:00
Joshua Harlow
a3b56af37f Switch badges from 'pypip.in' to 'shields.io'
The badge hosting at 'pypip.in' has been broken for a while
now, it was supposed to be fixed in the following PR(s):

- https://github.com/badges/pypipins/issues/39
- https://github.com/badges/pypipins/issues/38
- https://github.com/badges/pypipins/issues/37

That does not appear to have actually happened and/or is not
getting addressed, so switch to a more reliable badge hosting
site that provides the same badge information.

Change-Id: Ia1fd048e8f1810c4aaabc24bd01c7f0c18b79fd6
2015-06-11 20:38:19 -07:00
Mehdi Abaakouk
80ece65a54 Don't use devstack to setup our functional env
This adds a setup script for each tox functional target to start a
rabbitmq-server, qpidd or redis daemon dedicated for the functional
testing.

This script is responsible to spawn a preconfigured daemon needed for
the functional tests.

This also changes the gate script to just install the required packages
instead of setup a devstack.

This also fixes the zmq config options loading in tests

Closes-bug: #1442612

Change-Id: I27eb2c1d3d0ca67aa361c83e41372138e03d9bdd
2015-06-11 12:01:01 +02:00
Davanum Srinivas
2bf8d2f917 Switch to warnings module instead of versionutils
versionutils.py is no longer in oslo-incubator. So we can
either use versionutils from oslo_log or debtcollector instead.
However, oslo.messaging does not use oslo.log currently and we
should not be adding yet another library as a dependency here,
so we should just use the base python warnings library for
our limited use of deprecated() method.

Change-Id: Ib8a487051c894fa4828da65d4890b7a4f57f1d12
2015-06-10 22:23:16 -04:00
OpenStack Proposal Bot
2f14ca162f Updated from global requirements
Change-Id: I95c7c2b87735dae3e98ad401d05cf382022c1199
2015-06-11 00:47:50 +00:00
Jenkins
62e7280e0f Merge "rabbit: Add logging on blocked connection" 2015-06-10 17:11:50 +00:00
Victor Sergeyev
2e5ba4538e Get mox from mox3, not from six.moves
oslotest 1.7.0 breakes oslo.messaging unittests, because it doesn't add
mox to six.moves anymore - see change Ic59c73abb9b09cb594bf7df4173d7f99f81d526c

This patch fixes imports on test run.

Change-Id: Ia40b7733bd2e74b1a1703f2e1a5245f01debbd36
2015-06-10 14:44:59 +03:00
Mehdi Abaakouk
1f8ccd3ac5 rabbit: Add logging on blocked connection
When the broker will block the connection for a server-side issue
like disk full, it notifies the client.

This change adds the callback methods when this occurs to inform
the deployer about the reason of this blocking.

Change-Id: I5164b9e1b720f022b45a5718258df036ba8808ed
Closes-bug: #1454449
2015-06-09 10:35:24 +02: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
Jenkins
85c069e154 Merge "Set places to 0 in self.assertAlmostEqual()" 2015-06-08 16:41:39 +00:00
Jenkins
02ab25ecc6 Merge "Reduce magic conf attribute usage" 2015-06-08 16:40:22 +00:00
Jenkins
63bbdfc7c9 Merge "rabbit: test for new reply behavior" 2015-06-05 11:20:37 +00:00
Jenkins
2d133bee84 Merge "Enable fanout_target scenarios in test_impl_rabbit" 2015-06-05 11:20:11 +00:00
Victor Sergeyev
3044abbaf4 Reduce magic conf attribute usage
Connection class contains `magic` attribute conf, which contains (or at
least should contain) all config options. Set these config options as
class attributes to make the code more clear

Change-Id: Ib67f148e2ecf3def37e57d6e3359bced932fbc90
2015-06-05 11:12:58 +03:00
Jenkins
f51a4ef6c6 Merge "Imported Translations from Transifex" 2015-06-04 18:11:35 +00:00
Jenkins
d685e6f80a Merge "replace rpc_response_timeout use in rabbit driver" 2015-06-04 17:50:16 +00:00
OpenStack Proposal Bot
9f146bc299 Imported Translations from Transifex
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I55f2a8f6f81f12735f0cf5c0ad20401283bb4e08
2015-06-04 06:08:05 +00:00
Ben Nemec
94bb8adfd0 Remove leftover oslo.config reference
There was still a reference to the oslo.config namespace package
in _drivers/base.py.  This converts it to the new package name.

Change-Id: I9c3878094bcf8015c30d87f693f51e0d48b31a33
2015-06-04 00:06:40 +00:00
Doug Hellmann
a0b33a4659 replace rpc_response_timeout use in rabbit driver
The rabbit driver was using the rpc_response_timeout configuration
option as a reconnect timeout value, even though the option was defined
only in oslo_messaging.client and was not always being registered before
being accessed. An earlier patch fixed this by registering the option
here in the driver, too, but that breaks several levels of
abstraction. This changes the driver to define a new option with the
same default value, so that the driver is only using options it defines
itself. It also removes the old hacky fix.

Closes-bug: #1461182

Change-Id: Ia96c815d157219e12a10d94b87b0156503369a6b
2015-06-03 19:56:50 +00:00
Victor Sergeyev
91dd104e13 Enable fanout_target scenarios in test_impl_rabbit
Tests with `fanout_target` scenarios were skipped because of issue [1].
This issue already fixed, so we can enable these tests.

[1] https://github.com/celery/kombu/issues/195

Change-Id: I6600c6b9089e6093cbad2b0b96f2682ac9d25c69
2015-06-03 14:50:40 +03:00
Doug Hellmann
0a8c5145d4 Add drivers to the documentation
Use stevedore.sphinxext to populate a new page listing all available
drivers.

Add docstrings to the driver classes, including references to more
extensive documentation if it is available.

Depends-on: I1a24f9326b4e54174d9dc0ae366315fe29c3ac1b
Depends-on: Ie715f98fe0d3cba8b2f4f6235e7c2b6f79be7ea0

Change-Id: Ief0aa05e6deba0126d63faf13497d0fe0539e08d
2015-06-03 11:40:57 +00:00
Jenkins
5b4038ce37 Merge "Ensure rpc_response_timeout is registered before using it" 2015-06-02 22:49:13 +00:00
Doug Hellmann
887e5a0423 Ensure rpc_response_timeout is registered before using it
The response code in the rabbit driver doesn't use a Client object, so
the option is not being registered in servers that don't instantiate
Client instances (ironic-conductor, for example).

Change-Id: I7def5e6d4960938a17344db024585a0492d6969d
Partial-bug: #1461182
2015-06-02 18:48:33 +00:00
Mehdi Abaakouk
bc6e2a8c15 rabbit: test for new reply behavior
Blueprint: remove-double-reply

Change-Id: I17f3b2511e976de275dfcb50e6ed6a9a2d328941
2015-05-30 12:57:20 +03:00
Jenkins
27efb36b87 Merge "Allow to remove second _send_reply() call" 2015-05-30 00:11:05 +00:00
Jenkins
ec5a789f22 Merge "Fix condition in _publish_and_retry_on_missing_exchange()" 2015-05-29 22:55:32 +00:00
Victor Sergeyev
5181361f7c Fix condition in _publish_and_retry_on_missing_exchange()
The current condition logic in _publish_and_retry_on_missing_exchange()
replaces passed `timeout` value with `rpc_response_timeout` config value.

This patch fix it.

Change-Id: I451cd2b5da78a3d7011466dfb14669aa1dcf1d5c
2015-05-29 17:28:28 +03:00
Victor Sergeyev
fa2a501c52 Set places to 0 in self.assertAlmostEqual()
We are checking time of thread run in test_impl_rabbit.py and sometimes
it can be a bit longer, because of server load.

Set places=0 instead of 1 to make tests less restrictive.

Change-Id: I2ef6f1474047e1da64402e93696cb73b4d3318e8
2015-05-29 15:00:48 +03:00
Victor Sergeyev
e93f62303c Allow to remove second _send_reply() call
Added a new configuration option `send_single_reply` which allows to
send a single AMQP reply instead of two. This will reduce amount of RPC
calls and increase transport productivity.

The new behaviour is not compatible with the old logic, so isn't
backward compatible and disabled by default.

DocImpact
A new configuration option added.

Blueprint: remove-double-reply

Change-Id: Idab118b22163e734aca010f325cddfaec26bfa0f
2015-05-28 16:22:38 +03:00
Victor Sergeyev
c1c0af2069 Don't create a new channel in RabbitMQ Connection.reset()
Current implementation of RabbitMQ driver in in Connection.reset() change
the channel to use and create a new channel for it. This happens after the
each message send.

There no big need to create a new channel each time, so we can cancel all
consumer queues, instead of creating a channel in reset().

Test test_connection_reset_always_succeed() removed, because we are not
create channel on reset() anymore.

Co-Authored-By: Mehdi Abaakouk <sileht@redhat.com>
Change-Id: Ie164840e6c055b01525b13aabdb8b9c7f5d1b98b
2015-05-28 15:32:37 +03:00
Jenkins
baddce34a2 Merge "Adding Publisher Acknowledgements/confirms" 2015-05-28 11:13:11 +00:00
Jenkins
ed432e59c4 Merge "Fix deprecated_group of rpc_conn_pool_size" 2015-05-28 11:00:04 +00:00
OpenStack Proposal Bot
29c3cfaa3c Imported Translations from Transifex
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: I8490386a5664b74c2c8d76a7afa632412a9466d9
2015-05-28 06:08:50 +00:00
Jenkins
dda4e698b3 Merge "consumer connections not closed properly" 2015-05-27 16:20:33 +00:00