Install OpenStack Grizzly on Fedora 19 with Quantum Networking

August 15, 2013

How To

Install OpenStack Grizzly on Fedora 19 with Quantum Networking

I recently registered for an watched a Red Hat online seminar, Taste of Training for the upcoming Red Hat Open Stack course. Up until very recently, Red Hat OpenStack was only a technology preview, but now Red Hat is offering full support for OpenStack as part of it’s Red Hat Cloud Infrastructure product suite.

If you’re already familiar with OpenStack and/or Fedora, you can refer to this ’3 step’ guide from Red Hat: http://openstack.redhat.com/Quickstart Since you’re using Fedora 19, you’re not likely going to actually be able to complete the install in 3 steps as the guide suggests. I have found there are numerous steps that must/should be modified for a smooth installation, and I have compiled those steps here for my readers.

What I’m going to outline here are some of the necessary tips and methods I gleaned from hours of frustration. I also hope to include pretty screen shots for your convenience :) .

I also intend to use Quantum networking, and (coming soon) GlusterFS as cinder storage.

Physical network and host setup

Since I don’t have any extra switches laying around to re-purpose for this tutorial, I’m going to be conducting this multi-node install as VMs on an VMWare ESXi 5 cluster.

Unless otherwise stated, networks will be on the same physical network.

Fedora 19 installation

This is fairly straight forward. I am installing from a NetInstall CD with minimal package selection and no desktop.

Disk Setup:

20GB Disk.

Manual Partitioning:

/cinder : 4.96 GB LVM named ‘cinder-volumes-cinder’ in ‘cinder-volumes’ VG. OpenStack will expect to use a volume group named ‘cinder- volumes’ so we create one now. During installation, there’s no longer a way to manually create partitions, volume groups, and volumes. It’s a very round-about method but will work for now.

/boot: sda1, 500MB.

/: 13GB LVM named ‘fedora-root’ on ‘fedora’ VG.

swap: 2GB LVM named ‘fedora-swap’ on ‘fedora’ VG.

Setup OpenStack Repos

I’m using the updates-testing repo in Fedora 19.

Edit /etc/yum.repos.d/fedora-updates-testing.repo and change it to enabled=1

If you want to install OpenStack with the ‘stable’ repo, there are some edits you need to make to some important config files, and packstack does not support Quantum networking at this time. See the end of this article for information.

If you’re using Fedora 18, RHEL, CentOS 6, or Scientific 6 (or similar Enterprise distro), you will have to add the OpenStack EPEL 6 repo (or Fedora 18′s individual repo) by running the following: yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm

Install packstack

Packstack is an automated install tool developed by Fedora/Red Hat to automate much of the openstack installation. If you’ve ever tried install OpenStack before, you know there are a lot of moving parts, and packstack is pretty much essential if you’re not an OpenStack expert already (if you were, you likely wouldn’t be following this tutorial :p )

yum install -y openstack-packstack

Now that packstack is installed, we want to create an answer file which we can modify to customize our installation. These steps were compiled from the short training video and differ slightly from the quick start guide on openstack.redhat.com.

Problems Installing OpenStack with Packstack in Fedora 19

Somethings I did to get this stuff to actually install. Some of the puppet files provided by packstack are broken and cause all or parts of the installation of OpenStack software to fail. It’s clear that no one actually bothered trying to install OpenStack with packstack using Fedora 19 release candidate of packstack. I understand fixing one or two bugs or oversights, but I feel this section is a little heavy-handed for a ‘stable’ release. That said, the errors provided by the packstack are decently informative, and I was able to find solutions to the problems myself or by searching everyone’s favorite search engine.

I originally tried this install using the stable repo, and documented several fixes at the end of this article. At this time, I recommend using the updates-testing repo for installing OpenStack Grizzly.

Another folly by the Fedora 19 packstack team, the /etc/sysconfig/modules/kvm.modules is no longer present or needed. We must add an onlyif statement to one of our puppet manifest files to enable us to move past that part of the installation.

edit /usr/lib/python2.7/site-packages/packstack/puppet/templates/nova_compute.pp and modify the following section:

exec { 'load_kvm': user => 'root', command => '/bin/sh /etc/sysconfig/modules/kvm.modules', onlyif => '/bin/test -e /etc/sysconfig/modules/kvm.modules', }

Next, the openstack-dashboard won’t install due to dependency problem. The fix is to install python-django14 manually. yum install python-django14

After that’s finished, you should be able to install OpenStack using packstack.

Install OpenStack using Packstack

packstack –allinone

This should completely with no errors. Also, you should see the line “Installation completed successfully” in stdout. After installation completes, you’ll get a note about using the dashboard at http://youriphere/dashboard. However, at this time quantum networking is broken after installation. I have filed a bug workaround with Bugzilla here: https://bugzilla.redhat.com/show_bug.cgi?id=997137

I will sum up my report here: in the file /etc/quantum/api-paste.ini cut and paste the line admin_password=<password>

How do you log into the dashboard? That’s easy, there should be a keystonerc_admin file located in the /root directory (or perhaps the directory wherever you ran packstack from). cat that file to see the username and password. Log into the dashboard and make sure that it’s running.

Configure Quantum Networking with OpenVSwitch

If you followed this guide and used the –allinone install, then the interneral and external bridges should have been created automatically. I will be posting a future article/tutorial about how to manually setup bridges and configure your network settings.

Coming Soon: GlusterFS as cinder storage

In the mean time, why don’t you take a look at http://www.gluster.org/community/documentation/index.php/GlusterFS_Cinder

References

Some sources I have used to create this lengthy article.

http://fedoraproject.org/wiki/Getting_started_with_OpenStack_EPEL

http://fedoraproject.org/wiki/Quantum

http://fedoraproject.org/wiki/Test_Day:2013-04-02_OpenStack

http://openstack.redhat.com/forum/discussion/124/fedora-19-issues

https://bugzilla.redhat.com/show_bug.cgi?id=981116

https://bugzilla.redhat.com/show_bug.cgi?id=979041

Information that has changed

Fixes for the Grizzly in the stable repo. These issues have been addressed if you’re using the updates-testing repo at the time of writing this article. These fixes are in addition to the fixes I mentioned above.

Firstly, since Fedora 19 has moved from MySQL to MariaDB, when the package mysql-server is installed, Fedora 19 actually installs mariadb-server. While this is fine for most cases, puppet’s ability to adapt for this change is missing, so we must manually update the puppet manifests provided by packstack.

edit the following three files:

/usr/lib/python2.7/site-packages/packstack/puppet/modules/mysql/manifests/server.pp ,

/usr/lib/python2.7/site-packages/packstack/puppet/modules/mysql/manifests/server/config.pp ,

/usr/lib/python2.7/site-packages/packstack/puppet/modules/mysql/manifests/params.pp

and change all entries of mysql-server to mariadb-server

The next bug is more or less on Fedora 19′s packstack team. This may be fixed in a future version, but the version currently available from repos fails to create a keystone log file with proper permissions, which completely stops keystone from starting up.

edit /usr/lib/python2.7/site-packages/packstack/puppet/modules/keystone/manifests/init.pp and add the following section

file { '/var/log/keystone/keystone.log': owner => 'keystone', group => 'keystone', }

Tags: cloud, Fedora, glusterfs, Grizzly, OpenStack, Red Hat, tutorial, virtualization

You can skip to the end and leave a response. Pinging is currently not allowed.

http://funwithlinux.net/

,

Subscribe

Subscribe to our RSS feed and social profiles to receive updates.

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: