The public “release candidate” of RHEL 7 (Red Hat Enterprise Linux) came out yesterday, and I decided to take a shot at installing the latest OpenStack RDO on it. The install was smooth, and surprisingly easy. To try it out yourself, follow the steps below.
Install RHEL 7
Grab the RHEL 7 Release Candidate from here [ Note: You must have a current Red Hat Enterprise Linux subscription. ] You can also download an OpenStack / KVM ready qcow2 image to quickly get up and running. Install RHEL 7 on your host server, or in a VM. Make sure to register with:
# subscription-manager register --auto-attach
Update the system:
# yum -y update
Reboot if necessary (kernel update, etc.)
If you are running an instance using the rhel7 qcow2, you should log in and edit root’s ssh authorized_keys. This will allow ssh to root, and generally make things easier when we run packstack:
cloud-user$ sudo -i
# vi /root/.ssh/authorized_keys</em> (remove everything on the first line before "ssh-rsa")
Install EPEL 7
Add the EPEL 7 beta repo on each host with:
# yum -y install http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.1.noarch.rpm
Install Icehouse RDO
For each host install the Icehouse RDO repo:
# yum install -y http://rdo.fedorapeople.org/openstack-icehouse/rdo-release-icehouse.rpm
On the controller node run:
# yum install openstack-packstack
Create ssh keys (optional)
If you have multiple hosts you should create root ssh keys, and add them to the authorized_keys for each host. Log into the host where you will be running packstack (the cloud controler node), and execute the following as root:
# ssh-keygen (accept defaults) # cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
For each hostN:
# perl -e '$pub=`cat /root/.ssh/id_rsa.pub`; chomp $pub; print "ssh root\@hostN echo \"$pub >>/root/.ssh/authorized_keys\"\n"' | sh
When you are finished test logging into one of the other servers as root. You shouldn’t be prompted for a password.
Run packstack
The best approach to using packstack is to run:
# packstack --gen-answer-file=config.txt
Edit config.txt for your environment, then execute:
packstack --answer-file=config.txt
If you are in a hurry a
packstack --allinone
will get you up and running all on one node.
Likewise, apackstack --install-hosts=host1,host2
will install on two hosts, making host1 the cloud controller, and host2 a compute node.
packstack will take a while to run, but on a clean install of RHEL 7 you should soon see:
**** Installation completed successfully ******
Congratulations! It’s a cloud!
Check Out Your Cloud!
Source your keystonerc_admin file and verify services are up:
# source /root/keystonerc_admin
# openstack-status
You should see a lot of “active” components, and some additional info. If you have no errors, then it is time to connect to the dashboard!
First, allow connections to the OpenStack dashboard (horizon):
# vi /etc/openstack-dashboard/local_settings
( Add the hosts you like to ALLOWED_HOSTS. Be sure to add the floating ip if you are running this on top of another OpenStack install! )
# systemctl restart httpd
At this point you should be able to log into the dashboard. Go to http://the-address-of-the controller-node/dashboard/ and you should see the below:
Cat the keystonerc_admin created by packstack, and log in as the admin user with the supplied password.