Article presenting how OpenStack notifications in Zato can be consumed and configured with no programming needed.

Whereas the previous installment focused on sending messages out to OpenStack-based systems, the current one describes how to receive information placed in OpenStack containers.

As it happens, it's only a matter of creating a connection, filling out a form and pressing OK, as below:

Screenshots

Screenshots

Here is what just happened after clicking OK:

  • A background asynchronous task has been started to monitor a set of OpenStack containers each 5 seconds
  • Any objects found matching, or not, the name pattern are taken into account for further processing
  • A service of one's choice will be invoked each time an object is taken off a container
  • The service will receive the contents of this object if the latter's name matches, or not, a certain pattern

And that's it, no programming is needed. Naturally, a piece of code is needed to accept the data each object holds but this is nothing OpenStack-specific. For instance, a basic service that logs everything it receives may look like:

# -*- coding: utf-8 -*-

from __future__ import absolute_import, division, print_function, unicode_literals

# Zato
from zato.server.service import Service

class ProcessNewAccounts(Service):
    def handle(self):
        self.log_input()