In the Juno release Murano team added a new feature - Actions. This feature
allows to declare actions as specific application methods which should be
executed when an action is triggered. When Murano deploys an application
with actions new web hooks will be created and exposed by Murano API. These
web hooks could be used by any 3rd party tools like monitoring systems,
schedulers, UI tools to execute a related action at any time.

There are several use cases which could require Murano actions:

   1. AutoScaling.

There were couple discussions around AutoScaling implementation. The most
well known solution is to use Heat AS resource. Heat autoscaling resource
works perfectly with scaling other Heat resources and even Heat nested
stacks. At the same time there are discussions about AS place in Heat and
how it should be done. In Murano autoscaling is just a specific action
which knows how to modify Heat stack in order to scale the application
properly. It can just add a new instance or to do something more complex by
scaling multiple resources simultaneously based on some calculations.
Application author has a full control on what are specific steps to perform
autoscaling for this particular application.

   1. HA

HA is another great example of a use case for a Murano actions feature. As
Murano allows to bind different applications based on requirements, it is
possible to select specific Monitoring tool for the application and
configure this monitoring to call Murano API web hook generated for the
application in case of failure. As all applications are different they
usually require different steps performed for HA switchover. Murano actions
allows to define different HA tactics like try to restart a service first,
then reboot a VM, then evacuate a VM or recreate a VM.

   1. Application operations

Applications may expose different actions to perform specific operations.
Database applications can expose ‘Backup” actions to perform DB backups.
Some other application can expose action “Restart” or “Update” to perform
related operations.

Here is a link for a small recordings:


Here is a code for the Java application with autoscaling actions:

Georgy Okrokvertskhov
OpenStack Platform Products,
Tel. +1 650 963 9828
Mob. +1 650 996 3284
OpenStack-dev mailing list

Reply via email to