How to install OpenStack Liberty on CentOS 7 using PackStack

The OpenStack logo small

OpenStack is the IaaS cloud platform that allows clouds to be deployed on commodity hardware. Being one of the fastest growing project in the Open Source history, it has become the de-facto standard in private cloud deployments. Learn today how to install OpenStack on CentOS 7 using packtack!

Important
I take absolutely NO responsibility of what you do with your machine; use this tutorial as a guide and remember you can possibly cause data loss if you touch things carelessly.

Preface

Warning
OpenStack Liberty is currently EOL (as of 2016-11-17).

In this tutorial we will look at the procedure needed to install an all-in-one node using packstack. The procedure assumes an intermediate-advanced knowledge of:

This guide also assumes a basic knowledge of:

This guide is geared toward experienced administrator who have an intermediate knowledge of Linux and want to learn how to install OpenStack for testing purposes. This setup is pretty small and keeps the requirement as low as possible in order to allow the reader to start with an old machine/low investment.

Requirements

In order to follow this guide you should use a physical machine. Although it is possible to install an all-in-one node using nested virtualization, it is highly discouraged especially without the possibility to use hardware-assisted virtualization.

Nevertheless, the dedicated machine needs at least:

  • 4GiB of RAM.
  • 30GiB of storage.
  • 1 network interface.

One key requirement in order to achieve the best possible experience is to have a CPU that supports hardware-assisted virtualization. Without that, instances will have to run through software emulation (plain QEMU) and that will be slow.

Without further ado, I will assume you have already installed CentOS 7 on your machine and your are ready to start. Always try to use the latest release (as the time of writing CentOS 7.3 (1611)). A minimal installation is just fine to get going by.

Before Starting

Important
PackStack makes substantial changes to the system and most of them are not easily undo-able. Hence, the machine will be dedicated entirely to the OpenStack installation, be sure to keep this in mind before following the guide.

Networking & Hostname

I suggest you to assign the machine you’re going to use a static IP address. You must also ensure that the machine can resolve and reverse resolve its hostname. I assume you already know how to do this and won’t explain it here.

Disable Predictable Interface Names

Disable predictable interface naming by adding the following to the GRUB_CMDLINE_LINUX parameter located in /etc/default/grub:

net.ifnames=0 biosdevname=0

Next you need to generate new grub configuration files:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Disable NetworkManager and FirewallD

Since PackStack doesn’t handle very well NetworkManager and/or FirewallD, we must disable them and enable the “legacy” network service (it should already be enabled).

# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# systemctl enable network
# systemctl start network

This is a good time to reboot your machine.

Install RDO

Now that you’ve got all the suggested points covered it’s time to get the software:

# yum install -y centos-release-openstack-liberty
# yum update -y
# yum install -y openstack-packstack

This will install PackStack: the tool we’re going to employ to install OpenStack Liberty. Now there are two ways to use PackStack:

PackStack: OpenStack the easy way

This way is the suggested one since it is the less prone to failures, you just need to issue one command. The user that will run this command will become the main administrator of the OpenStack Cloud you’re going to create.

$ packstack --allinone --default-password="YOURPASSWORD"

This procedure takes about 15-20 minutes, if everything is okay you will be given a keystonerc_admin file and will be prompted to access the Horizon dashboard. If you see something written using red: something went wrong. Debugging a failed PackStack installation goes beyond the capability of a newbie OpenStack administrator. I suggest you to start over and look for possible mistakes.

PackStack answers: the configurable way

Although I won’t explain here how this method works, this is the preferred way when deploying production systems using PackStack. For a beginner this isn’t absolutely advisable, although you can take a peek only issuing the first command. The first command will generate an answer file that contains all the configuration parameters that you can change in order to tweak the PackStack installation:

$ packstack --gen-answer-file answers.txt

As you can see the file is pretty big and documented, so you can read it in order to get an idea of what packstack –all-in-one does behind the scenes. At this point, experienced administrators will make modifies to the answer file and once done they will issue:

$ packstack --answer-file answers.txt

The user that will run this command will become the main administrator of the OpenStack Cloud.

This procedure takes about 15-20 minutes, if everything is okay you will be given a keystonerc_admin file and will be prompted to access the Horizon dashboard. If you see something written using red: something went wrong. Debugging a failed PackStack installation goes beyond the capability of a newbie OpenStack administrator. I suggest you to start over and look for possible mistakes.

Verifying the installation

Everything is done, now you can simply verify the installation through the Horizon dashboard by going to the IP Address/Hostname you configured for the machine. If you’d rather use the command line you can do:

# openstack-status

By issuing the command you will have an overview of all the local services running. Don’t worry if some of them are inactive, that’s usually normal.

Conclusion

You now know what the requirements for an OpenStack all-in-one node are, how to install PackStack, what steps are needed for it to operate correctly, and how to install OpenStack Liberty using PackStack. However, this is just the beginning, since you will probably never see an all-in-one node in production: there are many more setups involving multiple nodes and different modules.

Image courtesy of mark | marksei
mark

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.