This test removes a check of the number of times kombu's
Connection.connect() method is being called for each mocked retry.
The number of calls kombu makes internally is irrelevant to proving
the API is correct. The rest of the tests do ensure that the target
method is retried as expected, which is relevant to the API.
This change is necessary due to the kombu v4.1.0 release actually
calling Connection.connect() twice for each call to the target method
when compaired to earlier releases.
Change-Id: I3326b8e92efe3bef00b1f389d81944af9cc080f8
Closes-Bug: #1707263
We recently move ack/requeue of messages in main/polling thread
of rabbitmq drivers. And break the blocking executor.
This one is not tested by any tests and now deprecated.
This change workaround the issue until we completely remove the
blocking executor.
Change-Id: Id479100f6ff364cf67a199e9b70f9f0c7bf7e1a9
Closes-bug: #1694728
The serializer tests occasionally fail since the order of a dict() is
not guaranteed. Explicitly compute the serializer instead of
pre-computing it.
Change-Id: I74f8fa227e6508491b5982fe7e2841683724540c
Using blocking executor is not recommended for application. But it looks
like some use it just because it's the default and are not aware their
should change it despite of documentation and logging message.
Choosing the application threading model is an important step
of an application.
This change deprecates it, in the future we will just make executor
mandatory. This will ensure that application make a choice.
Also this will reduce headache of oslo.messaging developers to
make the driver code working in a sync and async.
And to finish test coverage of blocking executor is 0%...
This rework some tests to remove logging.captureWarnings() that can
catch unwanted warning of other tests. Tests mocks warning instead.
Related-bug: #694728
Change-Id: Ic67164d12e7a9bed76d6e64ca2ced12e3984ff5f
Be specific regarding which characters can be used in the 'username'
and 'password' fields of the URL.
Change-Id: I9a2a801b3dd86fceffb05f4d52c715748c88d0cb
Closes-Bug: #1693967
The Pika driver was intended to be a more stable and performant
replacement for the default rabbit driver. However due to lack of
both maintainers and compelling evidence that pika is superior to the
existing rabbit driver in either performance or stability it has been
deprecated for removal.
See:
http://lists.openstack.org/pipermail/openstack-dev/2017-May/116679.html
Change-Id: I98e0123edd3248be665325833283689fc3a897f7
In https://review.openstack.org/#/c/436958, we fix a thread safety
issue. But we make the ack/requeue of message asynchronous. In nominal
case, it works, but if network/rabbit connection issue occurs this
can result to rpc call handle twice. By chance we double check already
processed message ids, and drop duplicates, but that if the message
goes to another node, the mitigation won't work.
This restore the previous behavior, to ensure we run application
callback of rpc.call/rpc.cast only when the message have been
successfully ack.
Change-Id: I62b9e09513e3ebfebc64a941d4b21b6c053b511d
The get_rpc_transport wraps get_transport to unify the API in
anticipation of comprehensive separation of RPC and Notification
messaging backends.
Related-Bug: 1680192
Change-Id: Ic6af07b98ff43806c2af38a3ba129991f1e0ec86
Something broke in the way SSL certs are generated. Disable these
tests for now to unblock the gate.
Change-Id: I9764da7995c198597661ecbea27efba9f76e53e3
Right now two tests mock logging module globally which leads to
another test failure (TestRoutingNotifier.test_notify_filtered)
on my env.
Change-Id: Ifa47ee96dae79ea44dbe17a2d125401589ff13dd
OpenStack projects should be using mock rather than mox.
oslo.messaging was using mox's stubs via oslotest rather than
mock.patch.object. The code is converted to use mock.patch.object
via fixtures.MockPatchObject.
Change-Id: I19490b4e8211c35b237ebfd38bf2f8b8b44cbf61
We log deprecation message even if application doesn't use it.
And we missing the parse method.
This change fixes that.
Change-Id: I476816cb14ac8218feb74e8459cfa5f18fdb6c61
Last oslo.config was magically converting MultiStrOpt "messaging" to ["messaging"],
that was not expected, oslo.messaging have a test that use "messaging"
instead of a list.
This change fixes that.
Change-Id: I65b8cc551dde6f80d979640ba3db097572f3fe9b
When the underlying RPC is configured with rabbit along
with oslo_messaging_notifications, currently the retry is
not supported. There are retry support specific to drivers,
it's better to have the support uniform across the drivers,
by adding configuration retry on the oslo_messaging_notifier.
Closes-bug: 1666364
Change-Id: I8d547ef2a9e8b086f94a1efca17735f3f3cdaac1
We deprecate and change parameter enforce_type's default value
to True[1], so don't need usage enforce_type.
[1] https://review.openstack.org/328692
Change-Id: Ib89cb9bc8afa13e13350e80ec9210ab9e878201f
The pre-settled configuration option was being ignored in the case of
RPC call transfers.
Change-Id: I35989c8a653bac0d9a7c3e33a8af2027574f4bd9
Closes-Bug: 1680905
When running the tests with concurrency=1, 2 tests fail with:
AttributeError: Mock object has no attribute 'debug'
and
AssertionError: Expected 'notify' to be called once. Called 0 times
Mocking the LOG object solves the problem.
Change-Id: Ie7f4448a103fae448123a05bc92e961aac00d6ec
Closes-Bug: #1660393
This uses the underlying x-ssl option that will attempt an SSL
connection to the server using the system's CA bundle.
Change-Id: I73f3b43b4ebc0c4ce4c0ba43b5a84361fb308686
* add application scenario to help of config option
'executor_thread_pool_size'
* Move eventlet patched checking to constructor
Change-Id: I9dc7c993c8947b51952365cc5e7b6f2daae6bb70