How to install OpenStack Liberty on CentOS 7 using PackStack
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!
Preface
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:
- Linux, the Linux CLI and CentOS 7.
- Virtualization.
This guide also assumes a basic knowledge of:
- What is OpenStack.
- Networking.
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
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.
- 2020 A year in review for Marksei.com - 30 December 2020
- Red Hat pulls the kill switch on CentOS - 16 December 2020
- OpenZFS 2.0 released: unified ZFS for Linux and BSD - 9 December 2020
Recent Comments