Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)
This also removes the requirement for internet access during docs build.
This causes docs jobs to fail because we error out on warnings.
Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
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
Follow oslo.config conventions for consistency of help strings:
* Use sentence style capitalization.
* End entry with a "."
Fix capitalization of AMQP.
Change-Id: I0a6b170a2a7cfa539e06781f4495c4353d22e4d0
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
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
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
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
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
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
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
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
Instead of the lambda method _ the method should be imported
from oslo.messaging.openstack.common.gettextutils.
Change-Id: I373337cc1227b0d7b7bf93603b53a64de83721a9