Can we do OpenStack deployment at home? With this blog post we will deploy OpenStack on prepared earlier VirtualBox environment and run some simple application in OpenStack environment.
If you want to learn more about the OpenStack environment preparation, please have a look at my previous blog post.
As the first step we need to select best installer of OpenStack for our needs. There is a lot of commercial and opensource solution in the market like: Mirantis Fuel, RedHat OSP, Kolla-Ansible, OpenStack-Ansible, Packstack, Devstack, etc. Installation can be done also manually following steps listed on openstack.org. To ensure using minimum resources and extend installation if needed Kolla-Ansible was selected. It provides production ready tools, working out of the box, is highly customizable and automated.
Additional network configurations
We have assigned two network interfaces to the VM in NAT mode in previous steps. It may cause some connectivity issues as both interfaces have default gateway assigned. To fix potential problem we need to release IP address from one of them and make the change permanent. This can be accomplished by:
Next step is also to make sure DNS client configuration is correct. Some corporate DHCP settings or default Linux configuration may cause the further connectivity problems. To avoid those, let’s follow couple of the steps:
After these changes please make sure that internet access is still possible.
Additional virtual storage volumes preparation [Optional]
If our intent is to attach multiple volumes to the VMs or install VMs from ISO files on OpenStack there is a need for additional space for block storage provided by cinder service. Following screenshot show creation of 50 GB virtual storage drive, which is enough for our example deployment.
Fig1. VirtualBox VM virtual disk volume creation window
Operation can be performed only when VM is powered off. After adding the disk, we need to start VM and run following commands to prepare second disk for cinder by setting LVM on it.
More information about cinder configuration for Kolla-Ansible deployment can be found here.
As our environment is ready for deployment, now we are ready to install OpenStack using Kolla-Ansible. Detailed guide is available here, the following steps were used in our case:
The most important for our deployment is to change/enable the following:
More information about Kolla-Ansible can be found here.
Kolla-Ansible provides also a script setting basic objects like networks, images and flavors so starting first VM is like one click. Before running the script please make sure that following parameters are correct and match our environment in /usr/local/share/kolla-ansible/init-runonce file:
Where 10.0.3.0/24 is the network address on second interface of OpenStack VM. After OpenStack installation IP address 10.0.3.15 can be assigned to br-ex interface if needed. EXT_NET_RANGE defines IP address space used by floating IPs for VMs running in OpenStack environment It must not overlap to other IP addresses.
Fig2.OpenStack Horizon dashboard
In next article we will experiment with more demanding VMs with graphical interface, images, flavors and create some basic network resources.
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 for talented engineers in this area. Currently, we are on the lookout for a candidate for the position of Cloud System Specialist.
OpenStack horizon manual
Main OpenStack Open Source project
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.