OpenStack Installer (for RHEL-OSP) pt3

What is going here? 3 posts in a few weeks? What can I say, give me a little time and something cool to write about and I can pull it off. The addition of real lab equipment helps tremendously too.

In the first 2 parts, we talked about the Installer itself and why it’s needed. Then we deployed a system to host it. Today’s addition to the multi-part series picks up right where we left off from the last post. The video ended with a RHEL 6.5 (updated to RHEL 6.6+) host ready to roll in the context of deploying the RHEL-OSP Installer.

And that’s where we start today!

We kick things right off by running the `rhel-osp-installer` command. It’s an interactive Ruby script that reads existing system information and then goes interactive from there to finish it’s Foreman/Puppet based installation. It’s fairly straightforward – BUT I’ve gone ahead and recorded another video walking through the process. The official documentation for the RHEL-OSP Installer can be found here.

At the tail end of the video, I run the the 2nd script (referenced in the previous post) that quickly configures our virtual Apache server so that we can host our Installer and Repo on the same physical node. Thanks again to my friend and fellow “hatter” Mike Watkins! (He provided the config, I converted it to script form..)

Here’s the next video. Like the last one, I suggest going full screen so that you can actually see what’s happening.. just give it a second to un-blur. The whole install process took about 15 minutes, but I trimmed the video to about 4 or so.. Enjoy!!

As a side note, the 2 puppet related errors that occur towards the end stopped showing up. What I mean is that in the process of messing around with the installer over the last month or so for learning and recording purposes, they stopped occurring. I haven’t checked versions, but I suppose there could have been an updated and/or errata version that took care of things. I didn’t really change the way I installed things…

The next post will cover actually using it to kick off our first deployment – WOO HOO!!

Hope this helps,

Captain KVM

P.S. – here’s the script to configure the virtual Apache server (prep_repo.sh):

#/bin/sh

## This little script is simply meant to automate the final 
## configuration related to preparing a virtual apache server
## for serving out a RHEL 7 repo on the same physical server
## as the RHEL-OSP Installer application.
##
## DO NOT RUN THIS SCRIPT UNTIL AFTER THE RHEL-OSP INSTALLER HAS
## BEEN DEPLOYED AS NONE OF THE DIRECTORIES REFERENCED BELOW WILL
## EXIST!!!
##
## If you have any well thought out, well intended suggestions, find 
## one of the RHEL-OSP Installer related blog posts on my site 
## CaptainKVM dot com and I'd love to see them. You're welcome to 
## disagree respectfully and I will still post your comments. 
##
## Thanks to Mike Watkins for reminding me about the wonders of
## of virtual Apache servers.. :)

# GPL 
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>

REPO_PORT=8080

echo -e "\n ## Just making sure it's safe to run this first..."

if [ ! -e /etc/httpd/conf.d/15-default.conf ]; then
 echo -e "\nRHEL-OSP Installer has not been deployed yet!\n"
 echo -e "Do not run this script until after RHEL-OSP Installer has been deployed!\n"
 exit
 fi

echo -e "\n ## Backing up a few files before editing..."

cp /etc/httpd/conf.d/15-default.conf /etc/httpd/conf.d/15-default.conf.bak
cp /etc/httpd/conf/ports.conf /etc/httpd/conf/ports.conf.bak

# Adding a virtual web server for the RHEL 7 repo
# so that we use a single host instead of 2 hosts...
cat << EOF >> /etc/httpd/conf.d/15-default.conf

<VirtualHost *:$REPO_PORT>
 ServerName staypuft.fog.com
 ServerAdmin root@localhost

 ## Vhost docroot
 DocumentRoot "/rhel7"

 ## Directories, there should at least be a declaration for /var/www/html

 <Directory "/rhel7">
 Options Indexes FollowSymLinks MultiViews
 AllowOverride None
 Order allow,deny
 Allow from all
 </Directory>

 ## Load additional static includes

 ## Logging
 ErrorLog "/var/log/httpd/default_repo_error.log"
 ServerSignature Off
 CustomLog "/var/log/httpd/access_repo_log" combined


 ## Script alias directives
 ScriptAlias /cgi-bin "/var/www/cgi-bin"
</VirtualHost>
EOF

# Add new port to the list of ports that Apache listens to
# don't forget to add it to IPtables...
cat << EOF >> /etc/httpd/conf/ports.conf
Listen $REPO_PORT
NameVirtualHost *:$REPO_PORT
EOF

# Restart Apache
echo -e "\n ## Restarting Apache - Be sure to add $REPO_PORT to the list of ports allowed through IPtables!\n"
service httpd restart

4 thoughts on “OpenStack Installer (for RHEL-OSP) pt3”

  1. Hey Jon,

    Betcha though I disappeared, no such luck for you 🙂 I’ve just really been busy deploying our OpenStack environments. We’ve settled for doing what we can with the installer and then finishing with Puppet for now. We’re still rolling out OSP 5 for now.

    I’m so far behind on reading your blog, I just wanted to stop by and let you know that I’m still opening tickets when I need to and working with the installer.

    You want to try something fun? Install the rhel-osp-installer and then remove it and re-install. After you’ve tried it a couple dozen times, I’ll give you some instructions that work 🙂

    I’ll reach out to you on LinkedIn, that way this won’t be as creepy haha 🙂

    -T

    1. Tersian,

      Missed you, buddy! I wrote the scripts because I knew I would be rebuilding it many times. Here or Linked In is fine.

      Captain KVM

      1. Hey Jon,

        I sent you a request on LinkedIn, I can’t put my real name here for reasons I’ll explain in a non-public forum. I can’t find an email address for you on the blog or I’d email you directly, I’ve got a question or two for you if you don’t mind.

Agree? Disagree? Something to add to the conversation?