We joyfully announce the release of: zaqar 6.0.0: OpenStack Queuing and Notification Service This release is part of the queens release series. Download the package from: https://tarballs.openstack.org/zaqar/ For more details, please see below. 6.0.0 ^^^^^ New Features * Support non-URL encoded message body checksum function, the default algorithm is MD5. Back-end support for MongoDB, Redis and Swift. With this feature, when a user sends a message to the queue, Zaqar calculates a "checksum" value for the body of the non-URL encoded message, which the user can then get after the message is got or claimed. Finally, the user can use it to verify that the body of the newly obtained message is correct. Changes in zaqar 5.0.0..6.0.0 ----------------------------- f605dd9 The doc of bp support-md5-of-body a8215f7 Support md5 of message body 43c97ae Add heat job to zaqar check pipeline 58ead77 Add some missing releasenotes for Queens ea4a0ce Revert "Support md5 of message body" c6bf033 Support md5 of message body 81c822c Support redis as mgmt storage backend 3d99504 Replace curly quotes with straight quotes 88f341b Updated from global requirements 3a6dd41 Remove use of unsupported TEMPEST_SERVICES variable 5250d94 Remove pool group from zaqar 36a2016 Update .zuul.yaml 11e19ec Imported Translations from Zanata df9e5ac Updated from global requirements 50e4961 msgpack-python has been renamed to msgpack 6801ce8 Update the install guide about policy json file 31a08e3 Modify delay queue api-doc description 8568846 Redis connection support password configure in zaqar 764bbb9 Updated from global requirements 350205e Test delay queues 19f3263 Convert zaqar-tox-integration to native Zuul v3 4fe01ea Support delayed queues for mongo 43ca8dd Replace pymongo deprecated api c543187 Skip period test for message 949d496 Doc of delayed queues c7cd3ef Updated from global requirements bde1f5c Support delayed queues for swift 8b071a4 Support delayed queues for redis d77b763 update devstack README.rst with more info dfdd829 tox -e docs: Line too long b7093a3 Update the documentation link ddb2b45 Zuul: add file extension to playbook path 6ccb5af Updated from global requirements 66537dd Missing claim_count in mongodb MessageController _basic_message 9c23b0e Remove setting of version/release from releasenotes 0540bbd Fix gate job failure 3aedd65 zuul: run TripleO jobs with new zuulv3 layout 62de6ff Updated from global requirements 74245e1 Policy in code: Update the related doc 618e689 Updated from global requirements bf6d42b Add input type check 5a01560 Clean up useless code 1630b11 Updated from global requirements d170c6f Do not use “-y” for package install f908a80 Use generic user for both zuul v2 and v3 9d15d94 Remove the remaining flavor tuple in test_put_auto_get_capabilities test 2caa94d Register default subscription policies in code 4e5f6fd Reduce swiftclient logging 8fdd021 Use dict.keys() for key iteratation d1bf73a Register default pools and health policies in code 2b83f87 Create subscription return error id 54057f1 Cleanup test-requirements b135653 Metadata zero value will skip valid check 1f9d6aa Migrate to Zuul v3 d87f1dd Add dbid parameter to pools's uri based on redis bceb83d Remove bundled intree tempest plugin from Zaqar 3f8ecba Register default claim and flavors policies in code 8bd1ccf Register default message policies in code ef86318 Add more backoff functions b10066d Imported Translations from Zanata ffd58ef Move to Zuulv3 link to check status 5b70af8 Register default queue policies in code 3ce4410 flavor.update's parameter capabilities error in flavor.create eb86aaf Correct descriptions of install doc fb80244 delete some no use code 210976f Update message api-ref 06f7814 Escape IPv6 address in square brackets eb6f5f2 Updated from global requirements 798580f fix a typo for retry policy. 3f7cc0a Implement basic policy module in code 618c2d6 Updated from global requirements 31a6325 Correcting typo on doc. 04a9837 Adding folder path d3188d2 Delete some duplicate code of mongodb/claims.py. 21069b5 Correct some typos acfae1d Port Rally Task to format v2 b010ba1 Retry container creation in swift 6f79c5e Remove deprecated context usage 5c80a20 Updated from global requirements 8cf44f2 Fix gate-grenade jenkins failure afb5fd2 Remove iso8601_from_timestamp 02c49fe Remove "enabled" in CORS guide 990210f Reduce duplication in swift post messages b2d9b90 Replace http with https for doc links a986ef0 [api-ref]Change 'queues' to required in response body 2f97e2f Fix mongodb scoped_query's param note 5463758 Fix Py27/35 jenkins failure 45d59d6 Remove usage of parameter enforce_type eec827b Correct typo of zaqar index doc page b0c572a Imported Translations from Zanata df855ac Update reno for stable/pike 613da30 Fix unconfirm for swift backend Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 111 ++++ api-ref/source/messages.inc | 27 +- api-ref/source/parameters.yaml | 22 +- api-ref/source/queues.inc | 12 +- .../source/samples/claim_messages_response.json | 3 +- api-ref/source/samples/messages-get-response.json | 3 +- api-ref/source/samples/messages-list-response.json | 6 +- api-ref/source/samples/messages-post-request.json | 1 + api-ref/source/samples/queue-create-request.json | 1 + bindep.txt | 15 + devstack/README.rst | 34 +- devstack/gate/gate_hook.sh | 2 +- devstack/gate/post_test_hook.sh | 2 +- devstack/plugin.sh | 9 +- devstack/settings | 5 +- devstack/upgrade/upgrade.sh | 5 +- etc/README-policy.json.sample | 8 + .../zaqar-policy-generator.conf | 3 + etc/policy.json.sample | 48 -- .../legacy/grenade-devstack-zaqar-base/post.yaml | 15 + .../legacy/grenade-devstack-zaqar-base/run.yaml | 83 +++ .../legacy/tempest-devstack-zaqar-base/post.yaml | 80 +++ .../legacy/tempest-devstack-zaqar-base/run.yaml | 63 ++ rally-jobs/zaqar-zaqar.yaml | 19 +- .../notes/remove-pool-group-00f2e69682c48131.yaml | 5 + ...rt-more-backoff-functions-41e02a5977341576.yaml | 7 + ...anagement-storage-backend-a205e3c4c4d01584.yaml | 5 + .../support_delayed_queues-1babcaa3f056a39d.yaml | 7 + .../support_md5_of_body-84c1cdc6809b6417.yaml | 9 + ...gure_for_redis_connection-6f169db73ca80416.yaml | 7 + releasenotes/source/conf.py | 11 +- releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 348 +++++++++++ .../source/locale/fr/LC_MESSAGES/releasenotes.po | 48 ++ releasenotes/source/pike.rst | 6 + requirements.txt | 34 +- setup.cfg | 4 +- test-requirements.txt | 29 +- tox.ini | 8 +- zaqar/api/v1_1/response.py | 16 +- zaqar/api/v2/endpoints.py | 3 - zaqar/api/v2/response.py | 17 +- zaqar/common/api/schemas/flavors.py | 17 +- zaqar/common/api/schemas/pools.py | 12 + zaqar/common/api/utils.py | 4 + zaqar/common/configs.py | 3 + zaqar/common/consts.py | 2 +- zaqar/common/policies/__init__.py | 35 ++ zaqar/common/policies/base.py | 32 + zaqar/common/policies/claims.py | 69 +++ zaqar/common/policies/flavors.py | 80 +++ zaqar/common/policies/health.py | 48 ++ zaqar/common/policies/messages.py | 80 +++ zaqar/common/policies/pools.py | 80 +++ zaqar/common/policies/queues.py | 112 ++++ zaqar/common/policies/subscription.py | 95 +++ zaqar/common/transport/wsgi/helpers.py | 19 +- zaqar/context.py | 18 +- zaqar/locale/en_GB/LC_MESSAGES/zaqar.po | 649 +++++++++++++++++++++ zaqar/locale/es/LC_MESSAGES/zaqar.po | 44 +- zaqar/locale/fr/LC_MESSAGES/zaqar-log-error.po | 43 -- zaqar/notification/tasks/webhook.py | 40 +- zaqar/storage/base.py | 59 +- zaqar/storage/configuration.py | 5 +- zaqar/storage/errors.py | 5 + zaqar/storage/mongodb/claims.py | 17 +- zaqar/storage/mongodb/flavors.py | 14 +- zaqar/storage/mongodb/messages.py | 89 ++- zaqar/storage/mongodb/pools.py | 63 +- zaqar/storage/mongodb/subscriptions.py | 17 +- zaqar/storage/mongodb/utils.py | 12 +- zaqar/storage/pooling.py | 55 +- zaqar/storage/redis/__init__.py | 27 +- zaqar/storage/redis/catalogue.py | 247 ++++++++ zaqar/storage/redis/controllers.py | 11 +- zaqar/storage/redis/driver.py | 43 +- zaqar/storage/redis/flavors.py | 181 ++++++ zaqar/storage/redis/messages.py | 20 +- zaqar/storage/redis/models.py | 32 +- zaqar/storage/redis/options.py | 24 +- zaqar/storage/redis/pools.py | 265 +++++++++ zaqar/storage/redis/scripts/claim_messages.lua | 7 +- zaqar/storage/redis/subscriptions.py | 4 +- zaqar/storage/redis/utils.py | 150 +++++ zaqar/storage/sqlalchemy/flavors.py | 27 +- .../alembic_migrations/versions/006_queens.py | 41 ++ zaqar/storage/sqlalchemy/pools.py | 33 +- zaqar/storage/sqlalchemy/tables.py | 14 +- zaqar/storage/swift/claims.py | 6 +- zaqar/storage/swift/driver.py | 8 +- zaqar/storage/swift/messages.py | 70 ++- zaqar/storage/swift/subscriptions.py | 2 +- zaqar/storage/swift/utils.py | 18 +- zaqar/storage/utils.py | 29 + .../tempest_plugin/api_schema/response/__init__.py | 0 .../api_schema/response/v1/__init__.py | 0 .../api_schema/response/v1/queues.py | 238 -------- .../api_schema/response/v1_1/__init__.py | 0 .../api_schema/response/v1_1/queues.py | 250 -------- .../api_schema/response/v2/__init__.py | 0 .../api_schema/response/v2/queues.py | 297 ---------- .../tempest_plugin/services/messaging/__init__.py | 0 .../services/messaging/json/__init__.py | 0 .../services/messaging/json/messaging_client.py | 510 ---------------- .../unit/transport/websocket/test_protocol.py | 13 + .../unit/transport/wsgi/v2_0/test_flavors_new.py | 354 +++++++++++ .../unit/transport/wsgi/v2_0/test_messages.py | 6 +- .../unit/transport/wsgi/v2_0/test_pools_new.py | 383 ++++++++++++ .../transport/wsgi/v2_0/test_queue_lifecycle.py | 13 +- .../unit/transport/wsgi/v2_0/test_validation.py | 24 + zaqar/transport/acl.py | 7 + zaqar/transport/base.py | 3 + zaqar/transport/middleware/profile.py | 3 +- zaqar/transport/utils.py | 5 +- zaqar/transport/validation.py | 60 +- zaqar/transport/websocket/driver.py | 12 +- zaqar/transport/wsgi/utils.py | 7 +- zaqar/transport/wsgi/v2_0/flavors.py | 279 +++++++-- zaqar/transport/wsgi/v2_0/messages.py | 30 +- zaqar/transport/wsgi/v2_0/pools.py | 17 +- zaqar/transport/wsgi/v2_0/queues.py | 3 +- 167 files changed, 5779 insertions(+), 5262 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 6055e16..06d7ff9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9 +9 @@ falcon>=1.0.0 # Apache-2.0 -jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT +jsonschema<3.0.0,>=2.6.0 # MIT @@ -11,2 +11,2 @@ iso8601>=0.1.11 # MIT -keystonemiddleware>=4.12.0 # Apache-2.0 -msgpack-python>=0.4.0 # Apache-2.0 +keystonemiddleware>=4.17.0 # Apache-2.0 +msgpack>=0.4.0 # Apache-2.0 @@ -16,12 +16,12 @@ stevedore>=1.20.0 # Apache-2.0 -six>=1.9.0 # MIT -oslo.cache>=1.5.0 # Apache-2.0 -oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 -oslo.context>=2.14.0 # Apache-2.0 -oslo.db>=4.24.0 # Apache-2.0 -oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 -oslo.log>=3.22.0 # Apache-2.0 -oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 -oslo.reports>=0.6.0 # Apache-2.0 -oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 -oslo.utils>=3.20.0 # Apache-2.0 -oslo.policy>=1.23.0 # Apache-2.0 +six>=1.10.0 # MIT +oslo.cache>=1.26.0 # Apache-2.0 +oslo.config>=5.1.0 # Apache-2.0 +oslo.context>=2.19.2 # Apache-2.0 +oslo.db>=4.27.0 # Apache-2.0 +oslo.i18n>=3.15.3 # Apache-2.0 +oslo.log>=3.36.0 # Apache-2.0 +oslo.messaging>=5.29.0 # Apache-2.0 +oslo.reports>=1.18.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 +oslo.utils>=3.33.0 # Apache-2.0 +oslo.policy>=1.30.0 # Apache-2.0 @@ -30 +30 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT -enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD +enum34>=1.0.4;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD @@ -34 +34 @@ requests>=2.14.2 # Apache-2.0 -futurist!=0.15.0,>=0.11.0 # Apache-2.0 +futurist>=1.2.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 55cc8b6..4b6255b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8 +8 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 -mock>=2.0 # BSD +mock>=2.0.0 # BSD @@ -14 +14 @@ python-swiftclient>=3.2.0 # Apache-2.0 -websocket-client>=0.32.0 # LGPLv2+ +websocket-client<=0.40.0,>=0.33.0 # LGPLv2+ @@ -20 +20 @@ ddt>=1.0.1 # MIT -doc8 # Apache-2.0 +doc8>=0.6.0 # Apache-2.0 @@ -22 +22 @@ fixtures>=3.0.0 # Apache-2.0/BSD -python-subunit>=0.0.18 # Apache-2.0/BSD + @@ -25,4 +25,4 @@ testrepository>=0.0.18 # Apache-2.0/BSD -testtools>=1.4.0 # MIT -oslo.db>=4.24.0 # Apache-2.0 -testresources>=0.2.4 # Apache-2.0/BSD -os-testr>=0.8.0 # Apache-2.0 +testtools>=2.2.0 # MIT +oslo.db>=4.27.0 # Apache-2.0 +testresources>=2.0.0 # Apache-2.0/BSD +os-testr>=1.0.0 # Apache-2.0 @@ -31,8 +31,5 @@ os-testr>=0.8.0 # Apache-2.0 -sphinx>=1.6.2 # BSD -openstackdocstheme>=1.16.0 # Apache-2.0 -oslotest>=1.10.0 # Apache-2.0 -reno!=2.3.1,>=1.8.0 # Apache-2.0 -os-api-ref>=1.0.0 # Apache-2.0 - -# Tempest -tempest>=16.1.0 # Apache-2.0 +sphinx!=1.6.6,>=1.6.2 # BSD +openstackdocstheme>=1.17.0 # Apache-2.0 +oslotest>=3.2.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 +os-api-ref>=1.4.0 # Apache-2.0