Develop Cloud Applications for OpenStack on Murano, Day 5: Uploading and troubleshooting the app

Evgeniy Mashkin - October 7, 2016 - ,

We’re in the home stretch! So far, we’ve explained what Murano is, created an OpenStack cluster with Murano, built the main script that will install our application, and packaged it as a Murano app. We’re finally ready to deploy the app to Murano.

Now let’s upload the PloneServerApp package to Murano.

Add the Murano app to the OpenStack Application Catalog

To upload an application to the cloud:

  1. Log into the OpenStack Horizon dashboard.
  2. Navigate to Applications > Manage > Packages.
  3. Click the Import Package button.
  4. Select the zip package that we created yesterday and click Next.uploadzip
  5. In the pop-up window you can see the information that we added to the manifest.yaml file earlier. Also, we’ve got a notification message that Glance has started retrieving Ubuntu image mentioned in image.lst.  (This only happens if the image doesn’t already exist in Glance.)
  6. Now we just have to wait for the image to finish saving so we can move on to try out the app.  To check on that, go to Projects > Images. Wait for the status to be listed as Active rather than Saving.

Deploy the new app

Now that we’ve created the app, it’s time to test it out in all its glory.

  1. Navigate to Applications > Catalog > Browse.

  2. You will find that the Plone Server has appeared with the icon from our logo.png file. Click Quick deploy and you’ll see the configuration wizard appear, with all of the information we added to the ui.yaml file in the appConfiguration form:
  3. Click on Assign Floating IP and click Next.
  4. You’ll then see the instanceConfiguration form we mentioned in the ui.yaml file:
  5. Choose an appropriate instance flavor. In my case I used a “m1.small” flavor and edited it to have: 1 CPU, 1GB RAM, and 20GB disk space. I also, shut down the Compute node VM and gave it more RAM in VirtualBox, with 2GB instead of 1GB. You can edit flavors by navigating from Admin > System > Flavors.

    Be aware: that if you select a flavor that requires more hardware than your Compute node really has then you take an error during spawning an instance.

  6. Choose the instance image that we mentioned in image.lst. If no images appear in the drop-down menu check that your image has finished uploading.
  7. Choose a Key Pair or import it instantly by clicking the “+” button:
  8. Click Next.
  9. Set the Application Name and click Create:
  10. The Plone Server application has now been successfully added to the newly created quick-env-1 environment. Click the Deploy This Environment button to start the deployment:
  11. It may take some time for the environment to deploy:
  12. Wait until the status has changed from Deploying to Ready:
  13. Once it does, go to the Plone home page at from your Host OS browser, this is, outside your OpenStack Cloud:

You should see the Plone home page. If you don’t, you’ll need to do some troubleshooting.

Debugging and Troubleshooting Your Murano App

While deploying your Murano App you may have encountered a number of errors. Some of them could be related to spawning a VM, others may have occured during execution.

For information on errors relating to spawning the VM, check the Horizon UI. Navigate Catalog > Environments then click the environment and open the Deployment History page. Click on the Show Details button located at the corresponding deployment row of the table and then go to the Logs tab. From there you can see the steps of deployment and ones that have failed will have a red color.

Several of the most frequently occurring errors, as well as their suggested solutions, are described in  Murano documentation.

The other type of errors relates to the app installing script As you remember, we collect all output from this file in a special log-file, /var/log/runPloneDeploy.log to help you track any possible issues. By knowing the floating IP-address of the newly created VM for the Plone Server, we can access the log-file via an ssh-connection.

It’s important to note, though, that because we applied a special Ubuntu image from the repository during the environment deployment, the login process has a security limitation. By default, the password authentication mechanism is turned off and the only way to connect to your VM is to use an access key pair. You can find out more about how to create and set this up here.

First log in to the VM as the default user, ubuntu:

$ ssh -i  ubuntu@

You can then read the log:

$ less /var/log/runPloneDeploy.log

Now it’s possible to fix the errors that have appeared and polish the installation process.

Remember, when encountering issues with your Murano App, you can always contact the Murano team, or any other OpenStack related teams, through IRC. You can find the list of IRC channels here: IRC. Feel free to ask any questions.


In this series, we outlined the creation process of a Murano App for the ultimate enterprise CMS – Plone. We also saw how to easily build a Murano App from the ground up and showed how it didn’t require you to be an OpenStack or Linux guru.

Murano is a great OpenStack service that provides application lifecycle management and dramatically simplifies the introduction of new software to the OpenStack community.

Moreover, it provides other great features not mentioned in this tutorial, such as High-Availability mode, Auto-Scaling or application dependencies management.

Try it out for yourself and get excited by how easy it is. Next time, we’ll look at the steps needed to publish your Murano App in the OpenStack application catalog at

Thanks for joining us!

From Virtualization to Containerization
Learn how to move from monolithic to microservices in this free eBook
Download Now
Radio Cloud Native – Week of May 11th, 2022

Every Wednesday, Nick Chase and Eric Gregory from Mirantis go over the week’s cloud native and industry news. This week they discussed: Docker Extensions Artificial Intelligence shows signs that it's reaching the common person Google Cloud TPU VMs reach general availability Google buys MobileX, folds into Google Cloud NIST changes Palantir is back, and it's got a Blanket Purchase Agreement at the Department of Health and Human …

Radio Cloud Native – Week of May 11th, 2022
Where do Ubuntu 20.04, OpenSearch, Tungsten Fabric, and more all come together? In the latest Mirantis Container Cloud releases!

In the last several weeks we have released two updates to Mirantis Container Cloud - versions 2.16 and 2.17, which bring a number of important changes and enhancements. These are focused on both keeping key components up to date to provide the latest functionality and security fixes, and also delivering new functionalities for our customers to take advantage of in …

Where do Ubuntu 20.04, OpenSearch, Tungsten Fabric, and more all come together? In the latest Mirantis Container Cloud releases!
Monitoring Kubernetes costs using Kubecost and Mirantis Kubernetes Engine [Transcript]

Cloud environments & Kubernetes are becoming more and more expensive to operate and manage. In this demo-rich workshop, Mirantis and Kubecost demonstrate how to deploy Kubecost as a Helm chart on top of Mirantis Kubernetes Engine. Lens users will be able to visualize their Kubernetes spend directly in the Lens desktop application, allowing users to view spend and costs efficiently …

Monitoring Kubernetes costs using Kubecost and Mirantis Kubernetes Engine [Transcript]
Technical training
Learn Kubernetes & OpenStack from Deployment Experts
Prep for certification!
View schedule
Manage your cloud-native container environment with Mirantis Container Cloud

Wednesday, January 5 at 10:00 am PST
Mirantis Webstore
Purchase Kubernetes support