578 Commits

Author SHA1 Message Date
Mehdi Abaakouk
d753b030c6 Ensure the amqp options are present in config file
This change ensures that the amqp1 will be present into the
configfile even the required python module are not present and
also put them into the correct section, [oslo_messaging_amqp1].

Change-Id: I1005405d7ed51090495688eadbe400dbff7c3cc9
2014-09-09 11:57:12 +02:00
Jenkins
37ed443727 Merge "Add square brackets for ipv6 based hosts" 2014-09-09 05:31:35 +00:00
Jenkins
fbaa46e276 Merge "warn against sorting requirements" 2014-09-08 16:23:08 +00:00
Jenkins
ac74be3c80 Merge "Improve help strings" 2014-09-08 15:24:39 +00:00
OpenStack Proposal Bot
6ea3b12492 Imported Translations from Transifex
Change-Id: I0b52daf264131025c3a6c0c92a481a39f4b96fea
2014-09-07 06:09:33 +00:00
Davanum Srinivas
ff6c5e95da Add square brackets for ipv6 based hosts
Closes-Bug: #1364837
Change-Id: I8f9702377cc049b74622c2db847ffac3ba946b3a
2014-09-05 14:50:18 +00:00
Gordon Sim
fbee94170f An initial implementation of an AMQP 1.0 based messaging driver
The key driver interfaces are implemented in the ProtonDriver class in
driver.py.  The logic for interfacing with Pyngus in order to
send/receive messages, manage AMQP connections and links, and handle
protocol events is in controller.py.  eventloop.py is a fairly generic
socket connection and I/O processor which runs in its own thread.
controller.py uses the eventloop.py thread to schedule subscription
and message send requests from the driver, as well as handle all
protocol event callbacks coming from Pyngus.

Included in this patch are a set of functional tests that can be run
under tox (tox -eamqp1).  These tests fully exercise the new driver,
from the driver API down to the 'wire' - nothing in the driver is
mocked out.  The functional tests implement a simple loopback test
broker, which allows the driver to send and receive messages via the
local network.  All RPC call patterns, RPC timeouts, and even broker
failover are verified by the included functional tests.

This driver uses the Pyngus module, which is a pure-python client API
built on the Proton AMQP 1.0 protocol engine library from the Apache
Qpid project.  Pyngus is available via pypi.python.org.

This driver introduces a dependency on the Proton AMQP 1.0 protocol
library, which is a platform-dependent library that must be installed
in order to use this driver and run the functional tests.

Change-Id: I871703e4cdc04cee3e6c214e911c9df464ede2ed
Implements: blueprint amqp10-driver-implementation
2014-09-04 15:12:43 -04:00
Doug Hellmann
b9a917c2e2 warn against sorting requirements
Change-Id: I64ae9191863564e278a35d42ec9cd743a233028e
Addresses-Bug: #1365061
2014-09-03 14:23:10 -04:00
Andreas Jaeger
7c2853a92c Improve help strings
Follow oslo.config conventions for consistency of help strings:
* Use sentence style capitalization.
* End entry with a "."
Fix capitalization of AMQP.

Change-Id: I0a6b170a2a7cfa539e06781f4495c4353d22e4d0
2014-08-28 06:59:33 +02:00
Julien Danjou
a9ec73f38d Switch to oslo.utils
Change-Id: I262e98d8d03acbe2ff8fee5d607279a669a89e34
2014-08-27 14:14:00 +02:00
Jenkins
4f929c3470 Merge "Import oslo-incubator context module" 2014-08-27 11:36:04 +00:00
Jenkins
b6175ea9fe Merge "Import oslo-incubator/middleware/base" 2014-08-27 11:36:02 +00:00
Jenkins
6f7d68465d Merge "Should not send replies for cast messages" 2014-08-26 23:01:05 +00:00
Jenkins
a9ce3529de Merge "Replace lambda method _" 2014-08-26 22:58:41 +00:00
Jenkins
ecddb22cc5 Merge "Add parameter to customize Qpid receiver capacity" 2014-08-26 20:24:58 +00:00
Julien Danjou
48a9ba4e27 Fix Python 3 testing
Raising SkipTest at import time fails in recent version of the test
suite. We change that by being more picky at one should or should not be
tested based on what we managed to import; the upside is that we test a
few more things under Python 3 now.

Change-Id: I8971c7291cb261faf00fec73cf53b6132bdaf948
2014-08-26 11:30:24 +02:00
Julien Danjou
265b21f953 Import oslo-incubator context module
oslo-incubator commit 569979adfd4237869bb50c7aaa02bc3fd4f0b413

Change-Id: Ibbe7725cb1ec9d722dfa08103eaebe63a0703b8b
2014-08-20 17:38:32 +02:00
Julien Danjou
f480494da1 Import oslo-incubator/middleware/base
oslo-incubator commit 569979adfd4237869bb50c7aaa02bc3fd4f0b413

Change-Id: I515c144abe11124d08339330e44957f56416ec72
2014-08-20 17:38:32 +02:00
Jenkins
1ee33509e7 Merge "Fix error in example of an RPC server" 2014-08-19 19:17:18 +00:00
Alexei Kornienko
7381ccdc2a Should not send replies for cast messages
Cast messages will not contain a msg_id  and we're currently
sending messages to the default excahgne with empty msg_id.
In order to fix it we should not send replies if there is no
msg_id in message.

Change-Id: I5b1142029d2c718c3929cf6cf1f6e958b95a5c96
Closes-bug: #1355058
2014-08-19 13:30:40 +03:00
Jenkins
84b36f06ca Merge "Port to Python 3" 2014-08-19 00:11:39 +00:00
Jenkins
092afec0d7 Merge "Sync jsonutils from oslo-incubator" 2014-08-18 23:54:14 +00:00
Julien Danjou
4cb33ecc94 Port to Python 3
This patch enables running all the unit tests (except the qpid ones that
are skipped) under Python 3.3 and Python 3.4.

Change-Id: I711663b4eedfb3cdeea7e6da7d28c6b92663e611
2014-08-18 17:08:13 +02:00
Jenkins
991cf14726 Merge "Set sample_default for rpc_zmq_host" 2014-08-16 23:46:59 +00:00
YAMAMOTO Takashi
710dd17a6e Sync jsonutils from oslo-incubator
Included commits:
commit ad248f66 Specify namedtuple_as_object=False when using simplejson
commit ef37e032 Added missing jsonutils.dump() function

My motivation of sync is the following neutron change.
https://review.openstack.org/#/c/112178/

Closes-Bug: #1356173
Change-Id: I0086e5ffa27fa5035112d4868aeb14cbdfa8f4de
2014-08-15 17:05:30 +09:00
Zhi Kun Liu
2464ca0b20 Add parameter to customize Qpid receiver capacity
In Qpid rpc backend, receiver capacity is 1 and is hardcoding.
User can not customize it. This patch adds a parameter to make
user can specify receiver capacity in conf file.

- Reference about Receiver Capacity(Prefetch) from Qpid Doc
By default, receiver requests the next message from the server
in response to each fetch call, resulting in messages being
sent to the receiver one at a time. As in the case of sending,
it is often desirable to avoid this roundtrip for each message.
This can be achieved by allowing the receiver to prefetch messages
in anticipation of fetch calls being made. The receiver needs to
be able to store these prefetched messages, the number it can hold
is controlled by the receivers capacity.

DocImpact

Change-Id: I966b512aba6bdd8e9c5cf65cae01bfd21f04f330
Closes-Bug: #1353914
2014-08-14 05:12:13 +00:00
Clark Boylan
220ccb816c Make tests pass with random python hashseed
Under python3 and latest tox a random python hashseed is used. Currently
oslo.messaging tests do not pass this because one test assumes the
resulting list conversion from a list of lists has a specific order.
Sort both lists so that the order is explicit when checking for equality
in this test. Doing so makes the test pass with a random python hash
seed.

Note I am not actually familiar enough with oslo.messaging to know if
this failure is correct and the drivers or something deeper should be
returning lists with an explicit order. This would be the case if order
in these lists is important.

Change-Id: Id54ca1f448f466304b72b1695a5c646311bbd453
2014-08-14 00:56:59 +00:00
Brant Knudson
92d56790a6 Set sample_default for rpc_zmq_host
oslo-config-generator will use the sample_default for the sample
config file rather than the hostname of the system it happens to
be running on.

Change-Id: I9c7bf24cfe5c66155d00d9a1b390894d1ccb6bd8
2014-08-13 16:27:51 -05:00
Jenkins
04a26eba7b Merge "Enable PEP8 check E714" 2014-08-13 14:11:29 +00:00
Jenkins
9537fa2023 Merge "Enable PEP8 check E265" 2014-08-13 14:11:28 +00:00
Jenkins
5c79ca105c Merge "Enable PEP8 check E241" 2014-08-13 03:59:01 +00:00
Jenkins
22c8bfddee Merge "Add missing docs for list_opts()" 2014-08-12 19:49:58 +00:00
Christian Berendt
dd1d6d12ed Enable PEP8 check E714
Change-Id: I1562330af99553b4322f7dc062b310cc4ef93ccf
2014-08-08 06:07:17 +00:00
Christian Berendt
ec9ffdb979 Enable PEP8 check E265
Change-Id: Idf41d967fb06a063d02c19987733ba3757aa466f
2014-08-08 06:07:09 +00:00
Christian Berendt
8151da821b Enable PEP8 check E241
* E241 multiple spaces after ':'

Change-Id: I2310ffc00b7fe58d0781705a73212eefa116c999
2014-08-08 06:06:55 +00:00
Jenkins
1401fd1da8 Merge "Enable check for E226" 2014-08-08 04:29:19 +00:00
Chris Dent
ba5b547652 Fix error in example of an RPC server
Sample code in the documentation for rpc.server has an error which
prevents the code from being run. Replacing the `self` with `None`
results in code that runs. Whether it does anything useful is
an open question.

Change-Id: I81391fa3efdc65d54ca3aa155d63584f2b6f98c2
2014-08-06 15:03:53 +01:00
Jenkins
8691b2457c Merge "Bump hacking to version 0.9.2" 2014-08-06 03:38:04 +00:00
Christian Berendt
7fdeddaa3b Replace lambda method _
Instead of the lambda method _ the method should be imported
from oslo.messaging.openstack.common.gettextutils.

Change-Id: I373337cc1227b0d7b7bf93603b53a64de83721a9
2014-08-04 14:25:33 +02:00
Christian Berendt
500f1e5dca Enable check for E226
* E226 missing whitespace around arithmetic operator

Change-Id: Iee5f6a952d9b12c6c8a4a79ef656fc7f94170776
2014-08-04 12:15:34 +00:00
OpenStack Proposal Bot
63a6d6229b Updated from global requirements
Change-Id: I0916e6c6590c799daa2e9784a9c61c47ac8180a1
2014-07-28 19:39:12 +00:00
Jenkins
ee23b54178 Merge "Add release notes for 1.4.0.0a4" 2014-07-25 16:10:19 +00:00
Jenkins
f6ef9161e4 Merge "Add release notes for stable/icehouse 1.3.1 release" 2014-07-25 16:04:32 +00:00
Mark McLoughlin
bea9723859 Add release notes for 1.4.0.0a4
Change-Id: Id2a6ae2616db33025dcbfa4fb0b76e38cba6292f
2014-07-25 15:12:37 +01:00
Mark McLoughlin
d020cb814a Add release notes for stable/icehouse 1.3.1 release
1.3.1 is a bugfix release from the stable/icehouse branch.

Change-Id: I1ec24b0aaccb67e4f3043d481cec13d82dec3c0d
2014-07-25 15:04:47 +01:00
Christian Berendt
5be1b6a6a9 Enabled hacking checks H305 and H307
* H305  imports not grouped correctly
* H307  like imports should be grouped together

Change-Id: I08dafc4fa150d2213b2bb002da7c9ee0ee517fac
2014-07-17 12:41:21 +02:00
Christian Berendt
6684565d84 Bump hacking to version 0.9.2
Change-Id: Ie0525e203bf4fd91c8dbcbcd6aab6acac191a53a
2014-07-16 16:26:24 +02:00
Nejc Saje
1cc3e5d866 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
2014-07-15 12:20:16 +00:00
OpenStack Proposal Bot
39d1917644 Imported Translations from Transifex
Change-Id: Ib4e037ef996ad574eb116970272cf410823e0cdf
2014-07-14 06:09:10 +00:00
Jenkins
3d956f5f5f Merge "Synced jsonutils and its dependencies from oslo-incubator" 2014-07-09 21:46:55 +00:00