[release-announce] [zaqar] zaqar 4.0.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Wed Feb 22 13:51:48 UTC 2017


We are amped to announce the release of:

zaqar 4.0.0: OpenStack Queuing and Notification Service

This release is part of the ocata release series.

Download the package from:

    https://tarballs.openstack.org/zaqar/

For more details, please see below.

4.0.0
^^^^^

New Features

* The OSprofiler is integrated to Zaqar in Ocata. It is a library
  from oslo. It aims to analyse the performance bottleneck issue by
  making possible to generate one trace per request affecting all
  involved services and build a tree of calls.

* A new queue action is added so that users can purge a queue
  quickly. That means all the messages and subscriptions will be
  deleted automatically but the metadata of the queue will be kept.

* Add migration support for Zaqar's sqlalchemy storage driver.

* This feature is the third part of subscription confirmation
  feature. Support to send email to subscriber if confirmation is
  needed. To use this feature, user need to set the config option
  "external_confirmation_url",
  "subscription_confirmation_email_template" and
  "unsubscribe_confirmation_email_template". The confirmation page url
  that will be used in email subscription confirmation before
  notification, this page is not hosted in Zaqar server, user should
  build their own web service to provide this web page. The
  subscription_confirmation_email_template let user to customize the
  subscription confimation email content, including topic, body and
  sender. The unsubscribe_confirmation_email_template let user to
  customize the unsubscribe confimation email content, including
  topic, body and sender too.

Changes in zaqar 3.0.0.0rc1..4.0.0
----------------------------------

f196f9a Subscription Confirmation Support-3
5a6823a Update .gitreview for stable/ocata
1ddd9ca Fix sqlalchemy migration
90dedee Enable swift in the gate hook
83bbd7b Updated from global requirements
a7dfeaf Switch to decorators.idempotent_id
8477f95 Add validation of limit value in querying flavors and poolss
ef7110c Add the release note for OSprofiler feature
95b2290 Remove py34 support in favour of py35
dfaa49b Make the log work when deploy Zaqar with uwsgi
8e32ee2 Fix wrong value of require_confirmation
8d9be75 Replace assertTrue(*>*) with assertGreater
4a40387 Use _LW() to wrap the warning message
1a9760d Fix typos in HACKING.rst
40083a7 Swift storage
e22ce5e Fix unit test unstable issue
455cf6e don't allow get/update/delete subscirtions with wrong queue
53f0c9f Removes unnecessary utf-8 encoding
874fd85 Updated from global requirements
39452c9 Use pop in message_delete_many
828bab9 Enable coverage report in console output
649ae23 Add tempest test for purge queue
908d75c Update README.rst
ca1501a Fix CI failure
b41802c Add API ref of purging queue
77af509 insert Apache 2.0 license into source file
5b1f915 Support purge queue -- websocket
d91cfb7 Clean transport logs for API endpoints
fb8da5d Add support for sqlalchemy migration based on alembic
460c345 Support purge queue -- wsgi
5a901c2 Convert user getting started guide to rst
effbf89 Add OSprofiler guide
3851144 Updated from global requirements
75c0279 Updated from global requirements
03b3c6d Show team and repo badges on README
4a1a6b3 Remove startup check from devstack
65a6953 Use KEYSTONE_IDENTITY_BACKEND
e5eee70 Consistent  with the project code
35deeef Fix SSL and verbose issue of zaqar bench
4732417 Integrate OSprofiler with Zaqar
308934a Fix an typo in flavors.inc
7fb030e Fix zaqar client gate
00fc1f6 Use build interval and timeout from conf
aa0889a Fix zaqar-ui clone issue
a6ceea7 Add Feature section in doc
160f958 Reword description of grace
5edc11d Add missing policy check for queue stats and share
c19d0a0 Don't send confirmation notification if it's not enabled
1032436 Add some descriptions for resources in API Ref
de075b8 Updated from global requirements
2fae4ec Update .coveragerc after the removal of openstack directory
9d9147a Enanble Zaqar-UI in devstack
f3b4745 Fix doc build if git is absent
4f8470e Enable release notes translation
69df431 Updated from global requirements
885435b Fix a typo: remove redundant 'the'
f0d216b Change assertTrue(isinstance()) by optimal assert
670afbf Subscription Confirmation Support-2
176a3e5 Update reno for stable/newton
d7c16b9 Don't check key format in mongodb
f31a6e2 [api-ref] Remove temporary block in conf.py
993e804 Using oslo_config's min attribute
b5e3980 Add install guide for ubuntu and suse


Diffstat (except docs and test files)
-------------------------------------

.coveragerc                                        |    2 +-
.gitreview                                         |    1 +
HACKING.rst                                        |    2 +-
README.rst                                         |   13 +-
api-ref/source/claims.inc                          |    6 +-
api-ref/source/conf.py                             |   38 +-
api-ref/source/flavors.inc                         |    2 +-
api-ref/source/health.inc                          |    3 +
api-ref/source/messages.inc                        |    6 +
api-ref/source/parameters.yaml                     |   10 +-
api-ref/source/pools.inc                           |    8 +-
api-ref/source/queues.inc                          |   46 +-
api-ref/source/samples/purge-queue-request.json    |    3 +
api-ref/source/subscription.inc                    |    4 +
bench-requirements.txt                             |    4 +-
devstack/gate/gate_hook.sh                         |    7 +-
devstack/plugin.sh                                 |   41 +-
devstack/settings                                  |    5 +
.../os-zaqar-apiGettingStarted.xml                 | 1153 --------------------
etc/oslo-config-generator/zaqar.conf               |    3 +
etc/policy.json.sample                             |    2 +
install-guide/source/install-obs.rst               |  545 +++++++++
install-guide/source/install-rdo.rst               |   48 +-
install-guide/source/install-ubuntu.rst            |  529 +++++++++
install-guide/source/install.rst                   |    2 +
...ate-OSprofiler-with-zaqar-59d0dc3d0326947d.yaml |    6 +
.../notes/purge-queue-6788a249ee59d55a.yaml        |    4 +
.../sqlalchemy-migration-6b4eaebb6e02a449.yaml     |    3 +
...onfirmation-support-email-0c2a56cfedc5d1e2.yaml |   15 +
releasenotes/source/conf.py                        |    4 +-
releasenotes/source/index.rst                      |    1 +
releasenotes/source/newton.rst                     |    6 +
requirements.txt                                   |   21 +-
samples/html/confirmation_web_service_sample.py    |   86 ++
samples/html/subscriptionConfirmation.html         |  148 +++
samples/html/unsubscriptionConfirmation.html       |  145 +++
setup.cfg                                          |    7 +-
test-requirements.txt                              |   16 +-
tools/test-setup.sh                                |   33 +
tox.ini                                            |    3 +-
zaqar/api/v2/endpoints.py                          |   53 +-
zaqar/api/v2/request.py                            |   19 +
zaqar/bench/conductor.py                           |    8 +-
zaqar/bench/config.py                              |    3 +
zaqar/bench/consumer.py                            |    2 +-
zaqar/bench/helpers.py                             |   23 +-
zaqar/bench/observer.py                            |    2 +-
zaqar/bench/producer.py                            |    2 +-
zaqar/bootstrap.py                                 |   13 +
zaqar/common/configs.py                            |   48 +-
zaqar/common/consts.py                             |    2 +
zaqar/notification/notifier.py                     |   28 +-
zaqar/notification/tasks/mailto.py                 |   78 +-
zaqar/profile.py                                   |  116 ++
zaqar/storage/base.py                              |   31 +
zaqar/storage/mongodb/driver.py                    |   60 +-
zaqar/storage/mongodb/messages.py                  |   26 +-
zaqar/storage/mongodb/options.py                   |    2 +-
zaqar/storage/mongodb/subscriptions.py             |   14 +-
zaqar/storage/mongodb/utils.py                     |    2 -
zaqar/storage/pipeline.py                          |   15 +-
zaqar/storage/pooling.py                           |   36 +-
zaqar/storage/redis/driver.py                      |   31 +-
zaqar/storage/redis/models.py                      |    9 +-
zaqar/storage/redis/subscriptions.py               |   55 +-
zaqar/storage/redis/utils.py                       |    2 +-
zaqar/storage/sqlalchemy/driver.py                 |   44 +-
zaqar/storage/sqlalchemy/migration/__init__.py     |    0
zaqar/storage/sqlalchemy/migration/alembic.ini     |   54 +
.../migration/alembic_migrations/README.md         |   73 ++
.../sqlalchemy/migration/alembic_migrations/env.py |   96 ++
.../migration/alembic_migrations/script.py.mako    |   34 +
.../alembic_migrations/versions/001_liberty.py     |   72 ++
.../alembic_migrations/versions/002_placeholder.py |   30 +
.../alembic_migrations/versions/003_placeholder.py |   30 +
.../alembic_migrations/versions/004_placeholder.py |   30 +
.../alembic_migrations/versions/005_placeholder.py |   30 +
zaqar/storage/sqlalchemy/migration/cli.py          |  118 ++
zaqar/storage/swift/__init__.py                    |    0
zaqar/storage/swift/claims.py                      |  188 ++++
zaqar/storage/swift/controllers.py                 |   23 +
zaqar/storage/swift/driver.py                      |   78 ++
zaqar/storage/swift/messages.py                    |  352 ++++++
zaqar/storage/swift/options.py                     |   31 +
zaqar/storage/swift/queues.py                      |  124 +++
zaqar/storage/swift/subscriptions.py               |  159 +++
zaqar/storage/swift/utils.py                       |  166 +++
zaqar/storage/utils.py                             |   10 +-
.../services/messaging/json/messaging_client.py    |   10 +
.../unit/storage/sqlalchemy_migration/__init__.py  |    0
.../sqlalchemy_migration/test_db_manage_cli.py     |   89 ++
.../sqlalchemy_migration/test_migrations.py        |  173 +++
.../sqlalchemy_migration/test_migrations_base.py   |  194 ++++
.../unit/transport/websocket/v2/test_claims.py     |    6 +-
.../unit/transport/websocket/v2/test_messages.py   |    3 +-
.../transport/websocket/v2/test_queue_lifecycle.py |   53 +
.../unit/transport/wsgi/v2_0/test_subscriptions.py |    4 +
.../unit/transport/wsgi/v2_0/test_validation.py    |   22 +
zaqar/transport/validation.py                      |   55 +-
zaqar/transport/wsgi/app.py                        |    3 +
zaqar/transport/wsgi/driver.py                     |    7 +-
zaqar/transport/wsgi/v2_0/__init__.py              |   13 +-
zaqar/transport/wsgi/v2_0/flavors.py               |   16 +-
zaqar/transport/wsgi/v2_0/health.py                |    2 +
zaqar/transport/wsgi/v2_0/homedoc.py               |   13 +
zaqar/transport/wsgi/v2_0/ping.py                  |    3 +
zaqar/transport/wsgi/v2_0/pools.py                 |   15 +-
zaqar/transport/wsgi/v2_0/purge.py                 |   82 ++
zaqar/transport/wsgi/v2_0/queues.py                |    9 +-
zaqar/transport/wsgi/v2_0/stats.py                 |    4 +
zaqar/transport/wsgi/v2_0/subscriptions.py         |   39 +-
zaqar/transport/wsgi/v2_0/urls.py                  |    4 +
146 files changed, 6616 insertions(+), 1647 deletions(-)


Requirements updates
--------------------

diff --git a/bench-requirements.txt b/bench-requirements.txt
index 5cc80af..2026a02 100644
--- a/bench-requirements.txt
+++ b/bench-requirements.txt
@@ -3,2 +3,2 @@ marktime>=0.2.0
-python-zaqarclient>=0.0.2
-os-client-config!=1.6.2,>=1.4.0
\ No newline at end of file
+python-zaqarclient>=1.1.0
+os-client-config>=1.13.1 # Apache-2.0
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index 5b913db..361ce53 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -5,0 +6 @@ pbr>=1.6 # Apache-2.0
+alembic>=0.8.10 # MIT
@@ -10 +11 @@ iso8601>=0.1.11 # MIT
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -13,2 +14,2 @@ python-memcached>=1.56 # PSF
-WebOb>=1.2.3 # MIT
-stevedore>=1.16.0 # Apache-2.0
+WebOb>=1.6.0 # MIT
+stevedore>=1.17.1 # Apache-2.0
@@ -17 +18 @@ oslo.cache>=1.5.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -20 +21,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -22,2 +24,3 @@ oslo.serialization>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
@@ -28 +31 @@ autobahn>=0.10.1 # MIT License
-requests>=2.10.0 # Apache-2.0
+requests!=2.12.2,>=2.10.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 93fe258..30aa62c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,0 +13 @@ pymongo!=3.1,>=3.0.2 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
@@ -13,0 +15 @@ websocket-client>=0.32.0 # LGPLv2+
+PyMySQL>=0.7.6 # MIT License
@@ -16 +18 @@ websocket-client>=0.32.0 # LGPLv2+
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -19,0 +22 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
+testscenarios>=0.4 # Apache-2.0/BSD
@@ -21,0 +25,2 @@ testtools>=1.4.0 # MIT
+oslo.db>=4.15.0 # Apache-2.0
+testresources>=0.2.4 # Apache-2.0/BSD
@@ -24,2 +29,2 @@ testtools>=1.4.0 # MIT
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -28 +33 @@ oslotest>=1.10.0 # Apache-2.0
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
@@ -32,0 +38,3 @@ tempest>=12.1.0 # Apache-2.0
+
+#OSprofiler
+osprofiler>=1.4.0 # Apache-2.0





More information about the Release-announce mailing list