Application developer’s cookbook

If you have not written murano packages before, start from the existing Step-by-Step guide. It contains general information about murano packages development process. Additionally, see the MuranoPL reference.

Load applications from a local directory

Normally, whenever you make changes to your application, you have to package it, re-upload the package to the API, and delete the old package from the API. This makes developing and testing murano applications troublesome and time-consuming. Murano-engine provides a way to speed up the edit-upload-deploy loop. This can be done with the load_packages_from option. Murano-engine examines any directories mentioned in this option before accessing the API. Therefore, you do not even need to package the application into a ZIP archive and any changes you make are instantly available to the engine, if you do not plan to check or change the application UI. To check your application’s appearance in the OpenStack dashboard, upload the application for the first run. Additionally, re-upload the package using the OpenStack dashboard or CLI each time you update the application UI.

To load an application from a local directory, modify the load_packages_from parameter in murano config [engine] section.

[engine]
...
load_packages_from = /path/to/murano/applications
...

Note

The murano-engine scans the directory structure and seeks application manifests. Therefore, you can point the load_packages_from parameter to a cloned version of the murano-apps repository.

Deploy environment using CLI

The standard way to deploy an application in murano is by using the murano dashboard (OpenStack dashboard plug-in). However, if the OpenStack dashboard is not available or some sort of automation is required, murano provides the capability to deploy environments through CLI. It is a powerful tool that allows users and application developers make arbitrary changes to apps object-model. This can be useful in early stages of application development to experiment with different object models of an application. You can read more about it in Deploying environments using CLI

Application unit test framework

An application unit test framework was created to make development process easier. With this framework you can check different scenarios of application deployment without running real deployments.

For more information about application unit tests, see Application unit tests.