Kilo Update: Zaqar

Flavio Percoco, Zaqar PTL, describes the updates we can expect to see in the Kilo release cycle.


Welcome to the PTL overview series, where we will highlight each of the projects and the upcoming features that will be in the next OpenStack release: Kilo. These updates are posted on the OpenStack Foundation YouTube channel, and each PTL is available for questions on IRC.

Zaqar’s mission is to produce an OpenStack messaging service that affords a variety of distributed application patterns in an efficient, scalable and highly-available manner, and to create and maintain associated Python libraries and documentation.

In the Kilo release cycle, the team decided to focus on a short list of important changes and improvements based on community feedback.

See the full Zaqar wiki page here.

Priorities in Kilo


Users will have access to notifications, with the ability to subscribe and receive notifications in different ways. Push notifications will be transferred via APN, email, text message, and more, depending on preference.

Furthermore, they hope to focus on webhooks. As a result, users will have the option to subscribe to a site-specific queue or topic.

Persistent Transports

The goal is to provide the ability to connect to a server, and keep that connection alive so that the user doesn’t have to. People can then work around the burden related to HTTP, and the overhead associated with the protocol.

They have chosen WebSockets for the first implementation of persistent transports because of its proven track record and diverse application/compatibility across browsers. Furthermore, WebSockets can be used outside of a browser if there is a library that may be used as a substitute.

See the Etherpad on persistent transports here.

Storage Capabilities

Users can currently write their own storage driver and use it from Zaqar, but it needs to support every single feature supported by the built-in project drivers that are already in place. The goal in Kilo is to make this layer more flexible so that others can implement their own type of driver that doesn’t necessarily need to live in the codebase. In order to achieve this, the team needs to expose storage capabilities in the API through Flyhorse.

See more on exposed storage capabilities here.


FIFO, despite its advantages, brings about scale and performance issues that Zaqar is not willing to accept as default behavior. The team plans to make FIFO optional, allowing drivers that are capable of supporting such a scenario to do so if they choose.

See the full description here.

Get in Touch

If you have any other questions, or are interested in the project, please don’t hesitate to reach out.

Flavio Percoco
[email protected]
@flaper87 on Twitter and IRC

To see the full Zaqar update, be sure to check out the full webinar here: