We are overjoyed to announce the release of: oslo.messaging 2.6.0: Oslo Messaging API This release is part of the mitaka release series. With source available at: http://git.openstack.org/cgit/openstack/oslo.messaging With package available at: https://pypi.python.org/pypi/oslo.messaging For more details, please see the git log history below and: http://launchpad.net/oslo.messaging/+milestone/2.6.0 Please report issues through launchpad: http://bugs.launchpad.net/oslo.messaging Changes in oslo.messaging 2.5.0..2.6.0 -------------------------------------- a0b760d Fix a typo in server.py 1b605c1 Use the hostname from the Transport for GSSAPI Authentication f025639 Adapt functional tests to pika-driver d9bb2f4 ConfFixture should work even when zmq/redis is not present 5e4cddf Added matchmaker timeouts and retries 4efd89f AMQP 1.0: Properly initialize AMQP 1.0 configuration options 3b5d300 Updated from global requirements 1cb51c8 Skip Redis specific tests when it is not installed 3419c95 Port the AMQP 1.0 driver to Python 3 f2beb5e rabbit: shuffle hosts before building kombu URL 7f0d2c7 Updated from global requirements 74871e0 Remove unnecessary rpc_zmq_port option 3067dbd Non-blocking outgoing queue was implemented 1893c49 Allow custom notification drivers 0a4c321 Fix the home-page value with Oslo wikipage 56cc57e Include changelog/history in docs 9138ba2 Fix spelling typo in output 6f95227 Change ignore-errors to ignore_errors 0607cfd Unsubscribe target listener when leaving 518e4e8 Add SASL configuration options for AMQP 1.0 driver. 1243b36 Updated from global requirements e3d99b2 Fix a few leaks in the AMQP 1.0 driver. 8cbf3c1 Disable ACL if authentication cannot be performed. a5e9cf2 Imported Translations from Zanata 5a98303 Enhance start/stop concurrency race condition fix 497fa1c Updated from global requirements a672218 Extend logging in amqpdriver 894db18 Remove useless additional requirement file 4dbcfa6 Fix AMQP 1.0 functional and unit test failures fed1f73 Use pickle instead of jsonutils for serialization eb7552b Acknowledgements implementation 1adf880 Fix fork-related issues c5a6bfd FIx CPU time consuming in green_poller poll() da4ee63 Documenting main driver classes 141f59b Notifier implementation 64831f2 ZMQ: Minor matchmaker improvement dec09ae Add unit tests for zmq_async ed2d60f ZMQ: `Lazify` driver code c90525b Remove oslo namespace package 99b24b3 Register matchmaker_redis_opts in RedisMatchMaker 5920e7b ZMQ: Removed unused code and tests de629d8 ZMQ: Run more functional tests 315e56a Get rid of proxy process in zmq e2c3e36 Close sockets properly 75660ce Target direct usage 9c06fa8 Move zmq tests into a subdirectory 9e4831c ZMQ: Initial matchmaker implementation ebcadf3 Fix threading zmq poller and proxy 12aff74 Add unit tests for zmq_serializer 48f2a87 Fix work with timeout in CallRequest.receive_reply() bcdc0e8 ZMQ: Allow to raise remote exception 7df65f2 Local Fanout implementation 76f4487 Drop use of 'oslo' namespace package 4073851 Fix qpid's functional gate 73cd491 Initial commit for new zmq driver implementation 76ec03c fix typo 8587774 Update .gitreview for feature/zmq Diffstat (except docs and test files) ------------------------------------- .coveragerc | 2 +- amqp1-requirements.txt | 3 - etc/routing_notifier.yaml.sample | 2 +- .../en_GB/LC_MESSAGES/oslo.messaging-log-error.po | 10 +- .../en_GB/LC_MESSAGES/oslo.messaging-log-info.po | 10 +- .../LC_MESSAGES/oslo.messaging-log-warning.po | 10 +- oslo.messaging/locale/oslo.messaging.pot | 8 +- oslo_messaging/_cmd/zmq_broker.py | 42 + oslo_messaging/_cmd/zmq_receiver.py | 40 - oslo_messaging/_drivers/amqpdriver.py | 45 +- oslo_messaging/_drivers/base.py | 3 +- oslo_messaging/_drivers/impl_rabbit.py | 25 +- oslo_messaging/_drivers/impl_zmq.py | 1180 +++----------------- oslo_messaging/_drivers/matchmaker.py | 322 ------ oslo_messaging/_drivers/matchmaker_redis.py | 145 --- oslo_messaging/_drivers/matchmaker_ring.py | 105 -- .../_drivers/protocols/amqp/controller.py | 69 +- .../_drivers/protocols/amqp/eventloop.py | 2 +- oslo_messaging/_drivers/protocols/amqp/opts.py | 27 +- oslo_messaging/_drivers/zmq_driver/__init__.py | 0 .../_drivers/zmq_driver/broker/__init__.py | 0 .../_drivers/zmq_driver/broker/zmq_base_proxy.py | 53 + .../_drivers/zmq_driver/broker/zmq_broker.py | 82 ++ .../_drivers/zmq_driver/broker/zmq_queue_proxy.py | 78 ++ .../_drivers/zmq_driver/client/__init__.py | 0 .../zmq_driver/client/publishers/__init__.py | 0 .../client/publishers/zmq_dealer_publisher.py | 115 ++ .../client/publishers/zmq_pub_publisher.py | 47 + .../client/publishers/zmq_publisher_base.py | 148 +++ .../client/publishers/zmq_push_publisher.py | 57 + .../client/publishers/zmq_req_publisher.py | 89 ++ .../_drivers/zmq_driver/client/zmq_client.py | 79 ++ .../_drivers/zmq_driver/client/zmq_request.py | 120 ++ .../_drivers/zmq_driver/matchmaker/__init__.py | 0 .../_drivers/zmq_driver/matchmaker/base.py | 151 +++ .../zmq_driver/matchmaker/matchmaker_redis.py | 81 ++ .../_drivers/zmq_driver/poller/__init__.py | 0 .../_drivers/zmq_driver/poller/green_poller.py | 114 ++ .../_drivers/zmq_driver/poller/threading_poller.py | 88 ++ .../_drivers/zmq_driver/server/__init__.py | 0 .../zmq_driver/server/consumers/__init__.py | 0 .../server/consumers/zmq_consumer_base.py | 86 ++ .../server/consumers/zmq_pull_consumer.py | 69 ++ .../server/consumers/zmq_router_consumer.py | 102 ++ .../zmq_driver/server/zmq_incoming_message.py | 55 + .../_drivers/zmq_driver/server/zmq_server.py | 67 ++ oslo_messaging/_drivers/zmq_driver/zmq_address.py | 29 + oslo_messaging/_drivers/zmq_driver/zmq_async.py | 82 ++ oslo_messaging/_drivers/zmq_driver/zmq_names.py | 54 + oslo_messaging/_drivers/zmq_driver/zmq_poller.py | 106 ++ oslo_messaging/_drivers/zmq_driver/zmq_socket.py | 82 ++ oslo_messaging/_utils.py | 16 +- oslo_messaging/conffixture.py | 6 +- oslo_messaging/notify/_impl_log.py | 2 +- oslo_messaging/notify/_impl_messaging.py | 60 - oslo_messaging/notify/_impl_noop.py | 2 +- oslo_messaging/notify/_impl_routing.py | 2 +- oslo_messaging/notify/_impl_test.py | 2 +- oslo_messaging/notify/messaging.py | 60 + oslo_messaging/notify/notifier.py | 22 +- oslo_messaging/opts.py | 7 +- oslo_messaging/server.py | 75 +- .../drivers/zmq/matchmaker/test_impl_matchmaker.py | 108 ++ requirements.txt | 4 +- setup-test-env-qpid.sh | 31 +- setup-test-env-zmq.sh | 5 +- setup.cfg | 13 +- setup.py | 2 +- test-requirements.txt | 4 + tools/simulator.py | 5 +- tox.ini | 2 +- 92 files changed, 3261 insertions(+), 2636 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index b835c7f..8dc4842 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ -pbr<2.0,>=1.6 +pbr>=1.6 @@ -13 +13 @@ oslo.serialization>=1.4.0 # Apache-2.0 -oslo.service>=0.7.0 # Apache-2.0 +oslo.service>=0.9.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index ca11358..693f069 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -34,0 +35,4 @@ oslosphinx>=2.5.0 # Apache-2.0 + +# AMQP 1.0 support depends on the Qpid Proton AMQP 1.0 +# development libraries. +pyngus>=2.0.0 # Apache-2.0