With pbr 2.0 and Sphinx 1.5, the setting for treat sphinx warnings as
errors is setting warning-is-error in build_sphinx section. Migrate
the setting from the old warnerrors one.
The history document is removed because some of the commit messages used
in ChangeLog were being identified as invalid markup and there doesn't
appear to be anyway to edit there retroactively nor disable warnings on
a specific file.
Change-Id: I79e7ac56d5af1151865686761f3d40a11efbf472
The 'list-modules' directive used in some docs does not appear to be
Python 3 compatible, yielding the following error:
TypeError: unorderable types: NoneType() < str()
Simply use Python 2.7 until such a time as someone wants to investigate
why this happens.
Change-Id: I0be19b056e1c2272df3666626fbd17ec78017bce
debtcollector's decorator updated_kwarg_default_value is used to indicate
default value will be changed in future version. We introduced parameter
access_policy and add itfor constructor method of RPCDispatcher in
d3a8f280ebd6fd12865fd20c4d772774e39aefa2. Other services usually call
get_rpc_server method instead of calling constructor method of
RPCDispatcher. get_rpc_server method constructs RPCDispatcher instance
in [1], then FutureWarning will be generated even we set parameter
access_policy explicitly. Need move the decorator updated_kwarg_default_value
to method get_rec_server to avoid the case.
Closes-Bug: #1661572
[1] f1efaf1b6e/oslo_messaging/rpc/server.py (L200).
Change-Id: I3214045856d0bbd05a0000eeafb769e4697cd34c
15cd99050c6d2714b90059e0faad9f9e3409eaaa added this alias
to workaround an issue with neutron using the internal
path in liberty. That was fixed in neutron in mitaka:
225663888e71d44e9732951f515da925b8799b74
The alias was left for liberty, but liberty is end of life
now so we can remove this.
Change-Id: I145921b98d48e03df38ebcbaebc1a4375911f9ff
Since pbr already landed and the old version of hacking seems not
work very well with pbr>=2, we should update it to match global
requirement.
Partial-Bug: #1668848
Change-Id: I29b64d2f8d6e3305d052562f160050fdd05c2a55
Generating the payload of a notificatiton might be expensive due
to database access. This expensive step is unnecessary if the
notification driver is set to noop because it means that the
generated payload will not be sent.
This patch makes it possible for the user of the notifier to check
if the notifier will emit any notification before the payload
is generated.
Cinder already implemented similar behavior in
I77f655d3ef90088ce71304da5d4ea7b543991e90 and nova also plans
to do it in I3e6741d59df49e1e58409314008c2ed609fdedc1
Change-Id: Ib992f5c20fef85224fb00823e1d8d9c6cff19bec
This makes the SSL-related parameters to be similar to the ones used by
the AMQP and pika drivers. This will enable easier configuration of
these parameters if the transport URL is used. And easier migration from
one driver to the other when needed.
Change-Id: Ic32b2cb253fa0dc43aad7226b24919b7e588faa9
When driver load we allow to override option unrelated to the driver and
to set option useless for the driver.
This change validates the query string when the driver load to report as
soon as possible invalid options. And allow to override only option
of the driver option group (ie: [oslo_messaging_<driver_name>].
Related-bug: #1666903
Change-Id: Iaf23f773279c10bf37d545883ada7c2f6a9ffbbf
ConfigOptsProxy have been implemented only pika driver while
the oslo.messaging allow to pass the query string for all drivers.
This change fixes that.
Closes-Bug: #1666903
Closes-Bug: #1607889
Next step is to validate the query with ConfigOptsProxy, to
raise appropriate exception in case of mis-configuration.
Change-Id: I573334e774ccf33ecd27a85067045f3c6489ee89
kafka doesn't play well with //, each times a new partition/topic is
created, kafka rebalances things across brokers and messages are not
delivered at the expected time.
So this change disable the parallelizism for functional tests for kafka
only.
Change-Id: Ia497334efcd4685850ac1529a7fc38073dae7cd1
ack/requeue messages are currently done in the
MessageHandlingServer._process_incoming().
But _process_incoming() in run by a futurist Executor.
That can be a threading or an eventlet executor.
With eventlet, we don't really share the socket between threads.
But with threading executor and expecialy ssl, this can't work, if you
write data with two different threads to the socket.
This change moves back the message ack/requeue to the polling threads
that handle the connection, instead of the threads we spawn for the
application.
Oslo Messaging now always use a connection in the same thread.
Change-Id: I5c0e6def6b34f4d195fb1f8dbb26eda0f21ff34e
In this change new configurations appeared in Ocata release
like dynamic connections and other types of proxied deployments
being described.
Change-Id: Id6e9b062101d8916323edc143ea5379585192581
For dynamic connections it is crucial to close connection
and not to have hanging sockets either we have sent message
successfully or not.
eventlet.green.zmq by default blocks the calling thread on sending message
when connection was not established yet (which is correct DEALER
socket behavior though), but socket cannot be closed when we hang on
sending forever (if we never get the valid host to connect).
eventlet also shields EAGAIN exception in default (blocking) sending mode
so we need to use async zmq.NOBLOCK flag to receive this exception
and hanlde it in our own way to not block forever.
Change-Id: Ib561e061c4b20644213c059a8e8d0efd225edea1
Closes-Bug: #1658913
Closes-Bug: #1663459
- kombu4 wraps recoverable errors as OperationalErrors rather than
raising amqp errors
- also, raise a recoverable error and redeclare if for some reason a
message is double acknowledged... previously, this was hidden.
- ensure socket is not none
- use connect method to ensure connection
Depends-On: I9f980b51901ac31599b9651633956ad2eea6a1ac
Change-Id: I73958c8057353a2eefe1baaa7a41148193d507f7
The mock module has been added to Python 3.3 as unittest.mock.
The third party mock module doesn't seem to be maintained anymore.
This is follow up of 72c501454ea33b603918de35565a66dda8abd66a and
add hacking rule to avoid regression issue.
oslotest prepares mock for six in oslotest/__init__.py as follow:
six.add_move(six.MovedModule('mock', 'mock', 'unittest.mock')) and
oslo_messaging/tests/__init__.py imports oslotest before importing
test submodules to setup six.moves for mock, then "from six.moves
import mock" works well.
Note: unittest.mock also detects wrong usage of method
assert_called_once_with.
Change-Id: I3d09733789cfa2550cf47c24f2553357d36bcc0d
We need to pass into VersionInfo what one would expect from running:
setup.py --name
Right now we pass in say oslo_context and pbr fails if there is no .git in
the python source tree
Closes-Bug: #1662266
Change-Id: I45d2edddfd516f65e1589e9b7816f1256e3f0d24
Option use_dynamic_connections has to be counted when direct
publisher is being created along with proxy publisher (ZmqClientMixDirectPubSub).
Change-Id: If0d5674d7015b164095a437464d3c780db892e19
Closes-Bug: #1662134
Dummy does not have value aging mechanisms and value
filtering mechanisms. Like redis, we should use these
two mechanisms
Change-Id: I58d73e6b15a601e9e95274d47e822ae54ef5f5ba
Closes-Bug: #1658940