Develop Cloud Applications for OpenStack on Murano, Day 2: Creating the Development Environment
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:
- 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).
- 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.)
- Download the Mirantis OpenStack image.
- Download the Mirantis OpenStack VirtualBox Scripts..
- Unzip the script archive and copy the Mirantis OpenStack .ISO image to thevirtualbox/iso folder.
- 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.
- From the command line, launch the launch.sh script.
- 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:
- 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).
Once you’ve logged into Fuel Master Node it lets you deploy the OpenStack Cloud and you can begin to explore it.
- Click New OpenStack Environment.
- Choose a name for your OpenStack Cloud and click Next:
- Don’t change anything on the Compute tab, just click Next:
- Don’t change anything on the Networking Setup tab, just click Next:
- Don’t change anything on the Storage Backends tab, just click Next:
- On the Additional Services tab tick the “Install Murano” checkbox and click Next:
- On the Finish tab click Create:
- From here you'll see the cluster's Dashboard. Click Add Nodes.
- Here you can see that the launch script automatically created three VirtualBox VMs, and that Fuel has automatically discovered them:
- 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.
- 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.
- Go to the Dashboard tab and click Deploy Changes to deploy your OpenStack Cloud.
- 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.)
- Log into Horizon using the credentials admin/admin (unless you changed them in the Fuel Settings tab).
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.