This is a quickstart for our session "OpenStack Fundamentals Workshop and the easy installation for young professionals" which is going to take place on this Saturday by OSZ IMT at OpenStack Day DACH in Berlin.
Please download the cisco-kolla-ova image from Cisco DevNet developer portal Learning Labs or copy from the USB key provided at the conference.
Note: for downloading the image registration is required, click on the orange box "Install and operate an OpenStack Cloud on your laptop".
This is a virtual machine of CentOS 7 running OpenStack Mitaka. The OpenStack Mitaka installation was deployed using OpenStack Kolla Project to create and orchestrate a containerized deployment of OpenStack services running in isolated Docker containers for ease of management. Using this VM, you can interact with and explore OpenStack as a user, administrator, and developer, and you can also see Kolla in action and experiment with Kolla as a fantastic approach to deploying OpenStack repeatably, flexibly, and efficiently.
Minimal requirements
This OVA was created for VirtualBox 5.0 (tested with 5.0.14). To use it, first download this OVA to a host machine where you will use VirtualBox to run the virtual machine. If you do not already have it installed, also download and install VirtualBox 5 and the VirtualBox 5 Extension Pack from https://www.virtualbox.org/wiki/Downloads. When you do this, you will need to use a computer which has enough free hard drive space to store an 8 GB VM image, and has enough free memory that you can run a VM configured to use 8 GB RAM :-(
VirtualBox Network configuration
Once you have installed VirtualBox, you will need to configure it with three network interfaces:
NatNetwork
Open up the VirtualBox Preferences panel, then select the Network tab. Under NAT Networks, make sure that you have an Active network named NatNetwork. Click the configuration icon and set the properties for the NatNetwork as follows:
vboxnet0
Open up the VirtualBox Preferences panel, then select the Network tab. Under Host-only Networks, make sure that you have a network named vboxnet0. If necessary, add a new device, or modify the existing vboxnet0 device if already present. Click the configuration icon and set the properties for the vboxnet0 device as follows:
vboxnet1
Open up the VirtualBox Preferences panel, then select the Network tab. Under Host-only Networks, make sure that you have a network named vboxnet1. If necessary, add a new device, or modify the existing vboxnet1 device if already present. Click the configuration icon and set the properties for the vboxnet1 device as follows:
Validating Network Configuration
Once you have configured the NatNetwork, vboxnet0, and vboxnet1 networks in VirtualBox, exit out of VirtualBox and restart the application. This is often required for VirtualBox to apply the newly configured network settings.
Once you have restarted VirtualBox, you should be able to see the newly created interfaces from the host machine on which you are running VirtualBox. For example, on a Mac VirtualBox host, running the ifconfig command should show you two new interfaces configured with appropriate IP addresses to support the OpenStack virtual machine:
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00
inet 10.200.200.1 netmask 0xffffff00 broadcast 10.200.200.255
vboxnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:01
inet 192.168.57.1 netmask 0xffffff00 broadcast 192.168.57.255
Importing the OVA
After VirtualBox is running with proper network interfaces, select the Import Appliance option from the File menu. Locate the downloaded CentOS OpenStack Kolla OVA file you already saved, and select it.
Configuring the OVA
When the import of the VirtualBox VM completes, select the imported VM in VirtualBox but do not yet power it on. After selecting it, select Settings and then select Network. On the Adapter 1 tab, confirm that the adapter is enabled, that it is configured for vboxnet0, and that under Advanced options Promiscuous Mode is set to Allow All. Next select the Adapter 2 tab, then confirm that the adapter is enabled, that it is configured for vboxnet1, and that under Advanced options Promiscuous Mode is set to Allow All. Finally, select the Adapter 3 tab, confirm that the adapter is enabled, that it is configured for NatNetwork, and that under Advanced options Promiscuous Mode is set to Deny. Then select OK to exit from settings.
Note: this validation step is normally only a validation. We have observed that sometimes network settings do not import correctly when bringing an OVA into VirtualBox, but generally the machine should import with the networks already configured appropriately.
Using the OpenStack Mitaka VM
After the OVA is imported and the configuration has been validated, start it. You should see a Linux VM start up and boot into a graphical CentOS environment (note: GUI is supplied for ease of use only; if you prefer remote interaction or CLI interaction you can switch the VM to multi-user.target without impacting Kolla or OpenStack in any way). You can directly log into the VM on the console, or you can SSH into it from your VirtualBox host computer or log into the OpenStack graphical web management interface from your VirtualBox host computer.
To log into the VM from the VirtualBox host, SSH to 10.200.200.10, and log in as user osdev (password Cisco!Devnet). Once logged in, the osdev user has an openrc file in their home directory which can be used to access OpenStack. The osdev user can also sudo or su to root if necessary (the root password is also Cisco!Devnet).
To log into the OpenStack web management interface from your VirtualBox host computer, connect to http://10.200.200.10/ in a web browser on your VirtualBox host computer. Log in as user admin (password password).
To log into the VM from the VM console, select the osdev user in the GUI login, or enter osdev at the login prompt. In either case, use password Cisco!Devnet to authenticate.
OpenStack First Steps
The OpenStack environment running in the VM already has a private network, public network, and router configured. In addition, the Cirros test image is imported so you can quickly launch some VMs, put floating IP addresses on them, and validate that you can connect from outside the VM to your new virtual machines running in the cloud inside the VM. Floating IP addresses will be in the 192.168.57.0/24 network block, and should be accessible from the host machine on which you are running VirtualBox, assuming you set appropriate security group rules. A pre-build ssh security group is available which you can use to allow SSH and ICMP traffic from the world into your new VMs.
A couple of example heat templates are also supplied. You can use them to try heat, the orchestration and deployment service for OpenStack.
You also have full admin level access within OpenStack, so can further configure and explore, adding, changing, and removing resources as needed for your purposes.
Kolla First Steps
The OpenStack environment running in the VM was built and deployed using Kolla. To see the Kolla code, log into the VM as the vagrant user (password Cisco!Devnet). ~vagrant/kolla is the git checkout of the kolla code used to build the Docker containers in which OpenStack is running. ~vagrant/kolla/tools has various utilities which can be used to bring down, remove, rebuild, or redeploy the Docker containers which deliver OpenStack. In addition, there is a Docker registry running on the VM (on TCP port 4000) which is used to store the built Docker containers. /etc/kolla has the configuration files which were used to configure Kolla and the OpenStack services delivered by Kolla. You have full root level access so can further configure and explore as needed for your purposes.
VirtualBox was selected for this demo because it is freely available and provides good cross-platform support. Because VirtualBox does not support nested virtualization Kolla has already been configured to use QEMU without KVM when bringing up VMs in the OpenStack cloud running inside of VirtualBox. This will impose a performance impact in comparison to using KVM-accelerated QEMU as is more typical with OpenStack, but the OpenStack guest VMs should still be performant enough to use for experimentation and learning.
Further Resources
OpenStack has a wide variety of documentation available at http://docs.openstack.org/ and other resources at http://www.openstack.org/
Kolla includes documentation with the Kolla source code supplied in the VM, and also has a variety of resources available alongside the other OpenStack resources available at the OpenStack locations listed above.
Cisco Devnet also has discussions and downloads pertaining to OpenStack.