OpenStack installation on Virtual Machines

For those of you who are new to OpenStack, I recommend you guys to read its wiki page and check out its website. This blog describes the easiest way to install OpenStack (according to me). Like many of you checking this blog, I too wanted to install OpenStack just for fun and learning purpose. I have tried various ways  like RDO, Devstack and on cloud providers like AWS, Google Cloud and Microsoft Azure. I had some luck with Devstack, but it doesn’t provide all the services by default. I found it very difficult to install OpenStack on others. Luckily I found an easy way to install OpenStack. The Mirantis way! Mirantis has tools and scripts for setting up OpenStack. In this blog we will be installing OpenStack on VirtualBox VMs using Mirantis OpenStack. Note that this method of installation requires a laptop with minimum 8GB RAM and good processor configuration. I am pretty confident that following these simple steps will save you a ton of time and headache. 1. Download the latest virtual box from here. Also download the extension pack for virtual box from the same link. 2. Download Mirantis scripts from here. (look for the link named “Virtualbox scripts” below the Download button) 3. Download Mirantis OpenStack ISO from here. Extract the virtualbox scripts and put the mirantis ISO file in the ISO folder in the scripts. 4. ( Check the configurations in config.sh. They have 3 node cluster setup for laptop’s with 8GB RAM and 5 node cluster for laptop’s with 16GB RAM. You can edit those configurations according to your need, but I would suggest you don’t modify it if you are just trying to learn openstack. ) Run the script launch.sh. ./launch.sh 5. Select USB install option when the VM named fuel-master starts. It takes around 15 minutes to setup docker containers inside the VM and install necessary packages. You will repeatedly see the console message: EXT4-fs (dm-8): Mounted filesystem with ordered data mode. Opts: 6. A Fuel setup option will appear after some time as shown in the pic below. mid If you don’t have any idea of your network configurations, leave everything as it is and click on Quit Setup > Save and Exit For those who want to experiment with the networking activities, these shell commands will come in handy.

  • hostname (The first name before first . is host, the next part is domain)
  • cat /etc/resolv.conf (Will give you a list of nameservers. Pick any one for ‘default gateway’ part)
  • route -n get default (Will provide you with default gateway used for internet access)

After this the installation of fuel will begin and will continue for about 15 minutes. Once the installation is complete you should see Fuel master VM up and running as shown below. OS1 Within a minute or two, our script launch.sh will create three more virtual box VMs (Fuel Slaves). The Fuel master will do a PXE boot of those VM’s to install CentOS on them. Below is the picture of such activity in progress. OS2 7. When the fuel server is ready point your browser to http://10.20.0.2:8000/ and provide the username and password set during installation or the default username password provided by fuel on the console. Now create a new environment. The below pictures show the configurations for my environment. OS3 OS4 OS5 OS6 OS7 8. Configuring the Nodes: Click the add nodes option and select the configurations as mentioned below. node 1: Controller node 2: Compute node 3: Cinder Although you can select any services you want in any nodes, I would recommend you to use above configurations for simple usage and fast installation. After adding nodes, your screen might look like this. DO NOT DEPLOY YET!!!! OS8 9. Settings tab: Go to settings tab. Here we need to fill in the ssh key and the NTP server (if you did not set it during installation.) Copy the ssh public key from: vi ~/.ssh/id_rsa.pub If you do not have an ssh key, check out how to generate an ssh key. Add any one of the ntp server through NTP server’s website http://www.pool.ntp.org Now click on Deploy Changes. OS9 10. The whole deployment process may vary from 45 minutes to 2 hours. Some warning messages might appear. Here are few of the error messages I faced and how I dealt with them.

  • Node status went to ‘OFFLINE’:- Wait for some time. Probably the node is rebooting. It will come back to installation status after some time.
  • Too many nodes failed to provision:- Wait for some time and then select that node and click on deploy changes. It should continue with its installation.

OS10

  • Timeout error: In this case, my guess is that the node will need to be redeployed. Just select the node and click on deploy changes. It will start installation process again and you should be good to go.

11. Once the installation is complete, Fuel UI will show a URI at which Horizon is hosted. It should look like this. OS12 Note: The status will show 100% and will stay like that for a while. Wait till the Success message arrives and the status above changes to Operational. OS13 Congrats, you have setup OpenStack with all of its services. Go Play!

Advertisements

3 thoughts on “OpenStack installation on Virtual Machines

  1. Sagar: Nice instruction. I followed. A simple and basic question. I installed fuel on VirtualBox as shown in the below video.

    At timestamp 5:33 in the YouTube video, Billy starts Fule and he sees GUI. I can’t get to that point. My fuel master works but I see only CLI. How can I configure so I can use UI.

    My mMaster and two slaves are on VirtualBox 5.x. Do I need to assign particular IP addresses? Do I need to make some changes in
    config,sh or launch.sh? to manage fuel/OpenStack environment from UI? Thanks a lot for help.

    Akshay

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s