Develop Cloud Applications for OpenStack on Murano, Day 2: Creating the Development Environment

Evgeniy Mashkin - October 4, 2016 -

In part 1 of this series, we talked about what Murano is, and why you’d want to use it as a platform for developing end user applications. Now in part 2 we’ll help you get set up for doing the actual development,.

All that you need to develop your Murano App is:

  • A text editor to edit source code. There is no special IDE required; a plain text editor will do.
  • OpenStack with Murano. You will, of course, want to test your Murano App, so you’ll need an environment in which to run it.

Since there’s no special setup for the text editor, let’s move on to getting a functional OpenStack cluster with Murano.

Where to find OpenStack Murano

If you don’t already have access to a cloud with Murano deployed, that’ll be your first task.  (You’ll know Murano is available if you see an “Application” tab in Horizon.)

There are two possible ways to deploy OpenStack and Murano:

  • You can Install vanilla OpenStack (raw upstream code) using the DevStack scripts, but you’ll need to do some manual configuration for Murano. If you want to take this route, you can find out how to install DevStack with Murano here.
  • You can take the easy way out and use one of the ready-to-use commercial distros that come with Murano to install OpenStack.

If this is your first time, I recommend that you start with one of the ready-to-use commercial OpenStack distros, for several reasons:

  • A distro is more stable and has fewer bugs, so you won’t waste your time on OpenStack deployment troubleshooting.
  • A distro will let you see how a correctly configured OpenStack cloud should look.
  • A distro doesn’t require a deep dive into OpenStack deployment, which means you can fully concentrate on developing your Murano App.

I recommend that you install the Mirantis OpenStack distro (MOS) because deploying Murano with  it can’t be more simple; you just need to click on one checkbox before deploying OpenStack and that’s all. (You can choose any other commercial distro, but the most of them are not able to install Murano in an automatic way. You can find out how to install Murano manually on an already deployed OpenStack Cloud here.)

Deploying OpenStack with Murano

You can get all of the details about Mirantis OpenStack in the Official Mirantis OpenStack Documentation, but here are the basic steps. You can follow them on Windows, Mac, or Linux; in my case, I’m using a laptop running Mac OS X with 8GB RAM; we’ll create virtual machines rather than trying to cobble together multiple pieces of hardware:

  1. If you don’t already have it installed, download and install Oracle VirtualBox. In this tutorial we’ll use VirtualBox 5.1.2 for OS X (VirtualBox-5.1.2-108956-OSX.dmg).
  2. Download and install the Oracle VM VirtualBox Extension Pack. (Make sure you use the right download for your version of VirtualBox. In my case, that meansOracle_VM_VirtualBox_Extension_Pack-5.1.2-108956.vbox-extpack.)
  3. Download the Mirantis OpenStack image.
  4. Download the Mirantis OpenStack VirtualBox Scripts..
  5. Unzip the script archive and copy the Mirantis OpenStack .ISO image to thevirtualbox/iso folder.
  6. You can optionally edit config.sh if you want to set up a custom password or edit network settings. There are a lot of detailed comments, so it will not be a problem to configure your main parameters.
  7. From the command line, launch the launch.sh script.
  8. Unless you’ve changed your configuration, when the scripts finish you’ll have one Fuel Master Node VM and three slave VMs running in VirtualBox.

Next we’ll create the actual OpenStack cluster itself.

Creating the OpenStack cluster

At this point we’ve installed Fuel, but we haven’t actually deployed the OpenStack cluster itself. To do that, follow these steps:

  1. Point your browser to http://10.20.0.2:8000/ and log in as an administrator using “admin” as your password (or the address and credentials you added in configure.sh).


    OpenStack Fuel

    Once you’ve logged into Fuel Master Node it lets you deploy the OpenStack Cloud and you can begin to explore it.

  2. Click New OpenStack Environment.

New OpenStack Environment

  1. Choose a name for your OpenStack Cloud and click Next:

image00

  1. Don’t change anything on the Compute tab, just click Next:

image03

  1. Don’t change anything on the Networking Setup tab, just click Next:

image14

  1. Don’t change anything on the Storage Backends tab, just click Next:

image07

  1. On the Additional Services tab tick the “Install Murano” checkbox and click Next:

image02

  1. On the Finish tab click Create:

image12

  1. From here you’ll see the cluster’s Dashboard.  Click Add Nodes.

image08

  1. Here you can see that the launch script automatically created three VirtualBox VMs, and that Fuel has automatically discovered them:

image09

  1. The next step is to assign roles to your nodes. In this tutorial you need at least two nodes:
    • The Controller Node – This node manages all of the operations within an OpenStack environment and provides an external API.
    • The Compute Node – This node provides processing resources to accommodate virtual machine workloads and it creates, manages and terminates VM instances. The VMs, or instances, that you create in Murano run on the compute nodes.

      Assign a controller role to a node with 2GB RAM.

      image06

    •  Click Apply Changes and follow the same steps to add a 1 GB compute node. The last node will not be needed in our case, so you can remove it and give more hardware resources to other nodes later if you like.
    • Leave all of the other settings at their default values, but before you deploy, you will want to check your networking to make sure everything is configured properly.  (Fuel configures networking automatically, but it’s always good to check.)  Click the Networks tab, then Connectivity Check in the left-hand pane. Click Verify Networks and wait a few moments.

image10

      1. Go to the Dashboard tab and click Deploy Changes to deploy your OpenStack Cloud.

image05

      1. When Fuel has finished you can login into the Horizon UI, http://172.16.0.3/horizon by default, or you can click the link on the Dashboard tab. (You also can go to the Health Check tab and run tests to ensure that your OpenStack Cloud was deployed properly.)
      1. Log into Horizon using the credentials admin/admin (unless you changed them in the Fuel Settings tab).

image01

As you can see by the Applications tab at the bottom of the left-hand pane, the Murano Application Catalog has been installed.

Tomorrow we’ll talk about creating an application you can deploy with it.

banner-img
test
tst
tst
Deploy Mirantis Secure Registry on any Kubernetes (Minikube, EKS, GKE, K0S, etc.)

Note: this blog post was originally published by Avinash Desireddy on Medium. You can view the original post here. Docker Containers, Kubernetes, CNCF, and many other relevant projects completely changed how we package, ship, and run applications. As you all know, Kubernetes has become a defacto standard for running applications. At the same time, container registries and chart repositories play a …

Deploy Mirantis Secure Registry on any Kubernetes (Minikube, EKS, GKE, K0S, etc.)
Software Supply Chain Security on Any Kubernetes with Mirantis Secure Registry 3.0

Security and cloud infrastructure availability concerns have been in the news of late with the recent Log4j vulnerabilities and outages at some of the world’s largest public cloud providers. The security and integrity of your container-based images has never been more important. Many have taken to Kubernetes to assist in the deployment and management of their container-based workloads, and are leveraging …

Software Supply Chain Security on Any Kubernetes with Mirantis Secure Registry 3.0
A Year in Review: A Look Back at the Most Powerful Mirantis Resources from 2021

2021 has been quite the year - and while there have been plenty of not-so-good times, we at Mirantis would like to take a moment to focus on the good. We are thankful for the opportunity to provide our readers with informative, accurate, and, above all, educational content via our company blog. We try not only to include helpful information …

A Year in Review: A Look Back at the Most Powerful Mirantis Resources from 2021
LIVE WEBINAR
Getting started with Kubernetes part 2: Creating K8s objects with YAML

Thursday, December 30, 2021 at 10:00 AM PST
SAVE SEAT
LIVE WEBINAR
Istio in the Enterprise: Security & Scale Out Challenges for Microservices in k8s

Presented with Tetrate
SAVE SEAT
Mirantis Webstore
Purchase Kubernetes support
SHOP NOW