noun_Email_707352 noun_917542_cc Map point Play Untitled Retweet Group 3 Fill 1

OpenStack deployment – Preparation of the environment

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.

Marcin Nicpon / October 20, 2020

Today, we will dive deeper into getting started with OpenStack at your home, sharing also good practices worked out by TietoEVRY Szczecin during several years of our customer engagements.

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

Hardware requirements and Operational system considerations 

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:

  • 2 CPU cores,  
  • virtualization support in CPU;
  • 8GB of RAM and;
  • Internet connection
  • Virtualization (VT-x/AMB-v) enabled in your computer BIOS. Verify the settings described here in case of issues. 


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 useopen-source and available for LinuxOS XWindows and Solaris. In that case seems that best choice is VirtualBox, which has dedicated versions for all Oss mentioned above (available here). 

imagee9305e.png

Fig.1 OpenStack deployment on Virtual box – nested virtualization diagram

 

VirtualBox and OpenStack host OS deployment and configuration 

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 

  • vCPU: 4 or more (more is strongly recommended) with nested virtualization enabled 
  • RAM: 16GB or more 
  • DISK: 100GB or more 
  • Network interface: 2 with NAT 
  • (optional) additional virtual disk for Cinder volumes: 50GB 

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 (UbuntuFedoraCentOSRedHatOpenSuSe 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 driveISO 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: 

Screenshot 2020-10-20 at 19.54.46.png

Expected output, when connection works well: 

Screenshot 2020-10-20 at 19.54.27.png

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: 

image8q6j.png

Fig.2 Port forwarding rules configuration window 

Next, we can use a favourite SSH client (PUTTYMobaXterm, etc.) and login to VM Ubuntu as below: 

imageddxu.png

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. 

 

Further reading 

VirtualBox 

Ubuntu ISO image 

  • https://releases.ubuntu.com/18.04/ubuntu-18.04.5-live-server-amd64.iso 

Main OpenStackOpen Sourceproject 

Glossary 

 

Marcin Lis
Senior IT Systems Engineer / DevOps

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.

Marcin Nicpon
Telco Ecosystem Solutions Director

Marcin has more than 18 years of experience in Telco and Cloud delivering software solutions for OEMs, TEMs and Silicon vendors designing and optimizing mobile communications networks and cloud solutions. He is very strong in NFV area, including implementations of several ETSI based use-cases.

Author

Marcin Nicpon

Telco Ecosystem Solutions Director

Marcin Lis

Senior IT Systems Engineer / DevOps

Check out our open positions

Search for jobs

Share on Facebook Tweet Share on LinkedIn