Newton Series Release Notes

3.0.0

New Features

  • Add a new webhook notifier using trust authentication. When using the ‘trust+’ URL prefix, Zaqar will create a Keystone trust for the user, and then use it when a notification happens to authenticate against Keystone and send the token to the endpoint.

  • Support ‘post_data’ and ‘post_headers’ options on subscribers, allowing customisation of the payload when having a webhook subscriber. The ‘post_data’ option supports the ‘$zaqar_message$’ string template, which will be replaced by the serialised JSON message if specified.

  • Queues now behave lazy in subscriptions also. So there is no need for the user to pre-create a queue before creating a subscription for this queue. Zaqar will create the queue automatically on the subscription creation request. As before, all subscriptions will continue to stay active even if the corresponding queue was deleted.

  • Currently Zaqar can support more built-in/reserved attributes in queue. For now there are two important attributes ‘max_messages_post_size’ and ‘max_message_ttl’. With this feature, when user query queues Zaqar will show those two attributes (read from config file if there is no customised value from user) in queue metadata so that user can know what value it is.

  • Currently, the v1 API is still accessible though it has been deprecated for a while. And we’re going to deprecate v1.1 soon. To keep the backward compatibility, a new config option - enable_deprecated_api_versions is added so that operator can totally turn off an API version or still support it by adding the API version to the list of the new config option.

  • Now before users send messages to subscribers through a queue, the subscribers should be confirmed first. Zaqar only sends messages to the confirmed subscribers. This feature supports “webhook” and “mailto” subscribers with MongoDB or Redis backend. The “mailto” part will be done in O cycle. Set “require_confirmation = True” to enable this feature. The default value is “False” now and we will enable it by default after one or two cycles.

Deprecation Notes

  • Zaqar API v2 has been released for several cycles and it is integrated as the default API version by most of the OpenStack services. So it is time to deprecated v1.1 in favour of v2. Now in Newton cycle, Zaqar API v1.1 is officially deprecated.

Bug Fixes

  • When access the root path of Zaqar service, for example: curl GET http://127.0.0.1:8888/, user will see 401 error. Which will cause some front end proxy (like HAProxy) to complain. Now this issue has been fixed.

  • Query for all subscriptions on a given queue by taking into account the returned marker, if any. Without this fix, only 10 subscriptions can be extracted from database to send notification.

  • In IPv6 management network environment, starting Zaqar server will run into ‘Address family for hostname not support’ error when use WSGI simple server. The root cause is that Python’s TCPServer implementation is hard-coded to use IPv4, even in IPv6 environments. Now this issue has been fixed.