Can we do OpenStack deployment at home? With this blog post, we are starting a series of 4 episodes to walk new OpenStack users thru its deployment, configuration and usage.
If you want to learn more about the history of OpenStack, software stack itself or its business considerations please have a look at my previous blog posts.
First, to install OpenStack user needs a Linux machine. It can be either a virtual machine (VM) on a regular PC or a separate one. Minimum hardware requirements are as follows:
However, all depends on what kind of application we are planning to use. To deploy more resource-demanding VMs much more resources may be needed.
Example infrastructure (with applications) described here needs at least 16GB of RAM, 4 CPUs and 100GB of disk space. In case of running OpenStack on VirtualBox, some additional resources may be needed for host OS, so the conclusion is clear - the more, the better.
OpenStack deployment on separate PC (recommended option) saves some of the resources and also is much more performant. This guide can be used also for this kind of deployments, just please skip the steps mentioning VirtualBox considerations.
In this blog, we will focus on the deployment of OpenStack as a VM on VirtualBox, as it can be applied to most of the modern PCs and does not require any additional equipment than our own PC.
To deploy OpenStack to our regular working PC (on top of our host OS) there is a need to use a hypervisor to place OpenStack VM on it. Depends on your PC OS there is a wide choice of open source and commercial hypervisors. For Linux hosted PC the most popular hypervisor is KVM/libvirt, for Microsoft Windows we have i.e. Microsoft Hyper-V.
There are also hypervisors available for many platforms like VirtualBox, easy to use, open-source and available for Linux, OS X, Windows and Solaris. In that case seems that best choice is VirtualBox, which has dedicated versions for all Oss mentioned above (available here).
Fig.1 OpenStack deployment on Virtual box – nested virtualization diagram
To setup VirtualBox please refer to the detailed instruction here and also complementary guide on its networking structure and configuration here.
For our OpenStack deployment “bridged” or “NAT” networking models would be the best choice (ease of configuration and use). For “bridged” networking there can be some limitations, however, introduced by internet providers or corporate networks to use bridged networking as well as it may not work well with some WIFI interfaces (as it is actually not real bridging in this case). Regardless of its better transparency and ease of use NAT model was chosen for our example to avoid limitations.
As the next step new VM needs to be created under VirtualBox environment (for detailed instruction please refer here or any other tutorial)
Please find a couple of the important considerations below on VM parameters and minimal resources assignment, when creating VM to host OpenStack deployment
Additionally, set the following options in VM settings:
At this point, the environment is ready to get OpenStack host Linux OS installed in the created VM. There is a lot of Linux distribution in the market which is working well with OpenStack (Ubuntu, Fedora, CentOS, RedHat, OpenSuSe or many others), however, because of ease of use and user-friendly interface, Ubuntu 18.04 LTS was selected for our deployment. As installation media we can use USB thumb drive) or ISO image which can be burned to physical media or attached to VM as virtual DVD-ROM drive. In case of VirtualBox most convenient will be to use ISO image attached as virtual drive. ISO file can be downloaded here. For installation guide please refer Ubuntu website.
As a next step, we need to make sure that VM can access the internet. After logging in to the VM OS please run following command:
Expected output, when connection works well:
To access VM with regular SSH client and (OpenStack Web UI later) port forwarding in the VM “Settings à Network à Advanced” for first network adapter needs to be configured:
Fig.2 Port forwarding rules configuration window
Next, we can use a favourite SSH client (PUTTY, MobaXterm, etc.) and login to VM Ubuntu as below:
Fig.3 PUTTY connection configuration window
In the next blog post, we will focus on adding to Ubuntu needed libraries and tools to run OpenStack, deploy OpenStack, as well as run our first application.
Do you feel inspired? If so, we encourage you to get to know us better. Don’t hesitate to approach us via TietoEVRY Careers or LinkedIn. You will have the opportunity to work with enthusiasts who share their knowledge. Due to the dynamic growth in demand for OpenStack skills, we are constantly seeking talented engineers in this area. Currently, we are on the lookout for a candidate for the position of Cloud System Specialist.
VirtualBox
Ubuntu ISO image
Main OpenStack Open Source project
Glossary
Marcin has wide experience in Linux and Windows systems as well as networking area and hardware platforms. He has focused on virtualization, cloud, automatic system deployment, systems integration, process automation and scripting.