13 Commits

Author SHA1 Message Date
Dmitriy Ukhlov
f025639d8c Adapt functional tests to pika-driver
In this patch conf object passing through the fixtures to
objects is added

Also conf.prog and conf.project attributes are initialized
for tests

Change-Id: I4094043c3ea61cfd37cc998f140d506d4136e681
Partial-Implements: bp rabbit-pika
2015-10-07 19:06:07 +03:00
Davanum Srinivas
97892e656a Merge remote-tracking branch 'origin/feature/zmq' into merge-branch
Change-Id: If189d03131efc02045955508cef06fdd2ed590ee
2015-09-15 11:07:44 -04:00
Mehdi Abaakouk
0dafde9407 Ensures that some assumptions are true.
It's documented, the application consumer must not use wait before stop.
but this is not enforced, so enforce it

Also the code assume start/stop/wait are called from the same thread,
but this is not enforced, so enforce it.

A common broken usage is:

    server = oslo.messaging.get_rpc_server(..., executor='eventlet')
    t = threading.Thread(target=server.start)
    t.daemon = True
    t.start()
    ...foobar code...
    server.stop()
    server.wait()

With monkey patching, start() will do a context switch and then stop()
is called but start is unfinished, that can cause unexpected behavior.

This patch fixes these issues by making all of this explicit.

Closes-bug: #1465850
Closes-bug: #1466001

Change-Id: I0fc1717e3118bc1cd7b9cd0ccc072251cfb2c038
2015-07-30 07:35:06 +02:00
Victor Sergeyev
9e4831c022 ZMQ: Initial matchmaker implementation
This patch replaces the old outdated matchmakers and replace it into the
new ones.

Call/Cast test_specific_server() functional tests passes now.

Change-Id: I8635396110d30d26812f39b242fbbabd1a0feaaa
2015-07-16 09:23:46 +00:00
Flavio Percoco
168f6cc2bb Make heartbeat the default
When heartbeat was introduced, it couldn't be enabled by default because
it depended on a minimum kombu version that we couldn't bump to at the
end of the release.

Now that Liberty is open and the minimum required version has been
bumped, I'm enabling heartbeat by default. The threshold this patch uses
is `60` which is the one gotten from tests and other deployments. Lets
make sure this is a sande default before merging the patch.

Change-Id: I21c29c328ef9936e76a215ab15962b46247dadd9
2015-07-09 16:05:17 -07:00
Victor Sergeyev
bcdc0e88ec ZMQ: Allow to raise remote exception
This patch adds possibility to re-raise on client's side exception, that
was raised on server side - serialize it on server side, restore and
re-raise on client.
Allowed to pass `allowed_remote_exmods` parameter from impl_zmq to
CallRequest class

Functional test CallTestCase.test_exception() passes now, so added it to
tox.ini. Modified zmq_receiver to be able run functional tests.

Change-Id: Ic055f3574962f3e80a0528d5d99320386303634e
2015-07-09 19:57:55 +00: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
Victor Sergeyev
cc4ca1f9ef Add one more functional test for MessagingTimeout
Add a check, that MessagingTimeout raises on long-running queries,
if client sends another queries at the same time.

Added a long_running_task() to TestServerEndpoint and allowed to pass a
message executor into the RpcServerFixture.

Related bug: #1338732

Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>
Change-Id: Icafb6838e2d9fb76b6d1c202465c09c174a3bed9
2015-05-22 16:35:25 +03:00
Kenneth Giusti
3f967effe2 Create a unique transport for each server in the functional tests
Change-Id: I77a3670b3bdd3a4697b5a8b559936220cdba41ae
Closes-bug: #1421397
2015-03-19 12:47:04 -04:00
Kenneth Giusti
9f457b4f3e Properly distinguish between server index zero and no server
Closes-Bug: #1424824
Change-Id: I1a8c1fa8ad953d9437e35d9f0ec38b6c97020009
2015-02-23 16:01:38 -05:00
Mehdi Abaakouk
b6a1ea0113 Gate functionnal testing improvements
set DEVSTACK_GATE_NO_SERVICES=1 to not setup a whole openstack
when we need only a messaging broker.

Add of the zeromq gate job.

Fix the amqp1.0 password

Change-Id: If1332d97c4d4e92bf920fed4de2795461d9feb22
2015-01-30 11:04:52 +01: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