agsandrew - Fotolia
Packstack is a utility that uses Puppet modules to deploy a complete OpenStack cloud OS on one or more servers. This means it deploys Nova, Glance, Horizon, Swift and other OpenStack components automatically, simplifying an otherwise complex, time-consuming process.
Packstack was developed by the RDO OpenStack community, which is made up of Red Hat, CentOS and Fedora OpenStack users. Packstack does not support Ubuntu, but works well with most other popular Linux distributions.
CentOS 7 is a must
According to Packstack's official instructions, the product isn't recommended for any version of CentOS prior to version 7. I put this to the test and, sure enough, there were problems when I tried to use it with CentOS 6.5. The first issue I encountered was that the CentOS 6.5 repository uses the Juno version of OpenStack, which is four letters back from the latest release in their alphabetic ordering scheme. The current version of OpenStack is Newton. I attempted to add the repository for that manually, but I received an error message saying that the installation was missing dependencies, which were time consuming and difficult to fix. Once I made the switch to CentOS 7, the installation finished without error.
Using the AllinOne command
Before starting my installation, I disabled SELinux just in case some of the kernel protection features caused complications. RDO's instructions for downloading and installing Packstack don't require this, but a couple other sets of instructions I referenced recommended it, so I figured it was better to be safe than sorry.
If you're using Red Hat, you'll need to add the OpenStack repository. You can use the following command to do so:
sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
CentOS already includes the OpenStack repository under the Extras repository, so feel free to skip this step in CentOS.
You're now ready to begin installation; be patient, as a total OpenStack installation with Packstack can take several hours. Certain steps will take longer than others, so, if it looks like your screen is frozen on a specific step, just wait it out; it will eventually progress to the next step.
To install the Newton release of OpenStack, enter the following command into the Bash shell:
sudo yum install -y centos-release-openstack-newton
It's always a good idea to update Linux when installing new software. To do so, enter the command shown below:
sudo yum update -y
Next, we can go ahead and install Packstack with the following command:
sudo yum install -y openstack-packstack
Finally, run the installation with the default settings by entering the command shown below. This will install most OpenStack components as well as save options in an answer file that can be modified and used to deploy OpenStack on multiple servers with different modules.
sudo packstack --allinone
After entering the commands shown above, you may see a screen -- shown in Figure A -- that makes it seem as though the installation is stuck. Just wait for the words "Testing if puppet apply is finished." The installation will go through several iterations of this before proceeding.
Using an answer file in OpenStack
When the installation is complete, a screen will appear, providing you with the login credentials for your dashboard and saving the answer file. When you run the --allinone command, it creates an OpenStack installation on one server as well as an answer file based on it. You can modify the IP address, yes/no options and passwords in the answer file, shown in Figure B, to reinstall OpenStack across a set of servers with different sets of options.
Now that you've fully installed the product, you can begin to load VM images and deploy VM storage either using command-line tools or the dashboard.
Other install options
If you'd like to test out OpenStack, but are having trouble installing the full version or with using Packstack, try installing it with TryStack -- a cloud sandbox -- or DevStack, which installs OpenStack to a single machine, instead.
Overcome common OpenStack installation challenges
OpenStack components set it apart from the crowd
Set realistic expectations for an OpenStack deployment