Thursday, August 15, 2013

[achievement unlocked] installed openstack on a fedora rc1 release

My new workstation finally arrived today, so I got to finally ditch the laptop and move to something with a little less play in the keyboard and a slightly larger screen.  Most of the other devs opted to use their budget on pretty Macs, but I dumped mine into a whitebox with a lot of storage and RAM.  The primary reason was that I need to run a bunch of VMs, and my plan was to try and get OpenStack (grizzly) running on so I could replicate (or maybe just approximate) our production environment.  I went over to the RedHat's RDO project site since they've done a pretty decent job of making deployment easy and bundling everything together.

The weak point in my plan was an insane idea to use Fedora 19rc1 as the host OS.  If you're thinking about doing something similiar, stick with the latest stable release of your distro.  There were a bunch of small gotchas due to bugs/changes in 19 that the openstack stuff just didn't handle (stuff like the fact that packages called "mysql" are gone in Fedora now and are replaced by either "mariadb" or "community-mysql"... which the puppet classes don't know about yet, missing sysconfig files for qemu-kvm, etc).  Getting the install required a bunch of tweaking of config files and re-running the installer, but in the end I got it working.

Worse yet, some kind souls had documented their similar adventures, but some of the problems had been fixed since they wrote it.  Some helpful hints I ran across:

http://funwithlinux.net/2013/08/install-openstack-grizzly-on-fedora-19-using-packstack-with-quantum-networking/
https://gist.github.com/tuxdna/6047147

I'd also suggest finding an RPM for openstack-packstack-2013.1.1-0.7 or later and rebuilding that from the SRPM rather than using the one provided by the yum repo (think it was 2013.1.-0.3).  There's a small problem in the switch_keyring code that's fixed in newer versions.  I ended up using 0.24.dev660.

Also, skip the nagios install with --install-nagios=n.  I used mariadb for my database, and ended up having to tell packstack to use localhost for my mysql_host.

Finally, a word about packstack itself.  This is really just a python program (class) that can run on most of the major distros.  I'd suggest looking into it if you're thinking about installing on a Debian/Ubuntu system as it really does ease and automate a lot of the installation process.

No comments: