---

layout: post title: “Installing Openstack via RDO on CentOS 6.5” date: 2014-09-10 16:47 comments: true

categories: [Python, Openstack, Virtualization, CentOS, Work]

RDO Packstack failing to install Openstack with the latest CentOS

Today I needed to bring up a new “all in one” Openstack Virtual Machine

I now work at a company called Virtustream. Here I am currently working on projects that require to me to run a few virtual machines at a time all on my poor little W530 Thinkpad laptop. The strain (or most likely the heat from me being an idiot and working from bed when sick which did not allow my laptop to breath well probably) on my laptop caused my HardDrive to crash.

Went to get to work in the morning and was greeted by my favorite:

Cannot run anything, your filesystem is mounted read only, etc etc messages..

I have seen this a few times before. Replace my hard drive maybe 3 or 4 times already (I bought a laptop pad with ventilation in case I work from bed anymore). Anyhow I just upgraded to a SSD HD. I do not know how I ever worked without this thing.. It is such an upgrade. So much faster.

Anyway, so what this whole blog post is really about is when I went to install my IceHouse Openstack All In One via RedHat’s RDO PackStack, which is found at RDO PackStack Quick Install. I ran through the simple directions like usual but the install failed. I even tried disabling SELinux by editing: /etc/selinux/config and setting:

SELINUX=permissive

then restarting and installing. I tried it with a fresh VM then, re installed Cent OS 6.5. Nothing would work.

It kept dying at:

192.168.122.166_nova.pp:                             [ DONE ]
Applying 192.168.122.166_neutron.pp
192.168.122.166_neutron.pp:                       [ ERROR ]
Applying Puppet manifests                         [ ERROR ]

The logs shows the following in red:

Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Warning: Scope(Class[Neutron::Server]): The sql_connection parameter is deprecated, use database_connection instead.
Warning: Scope(Class[Neutron::Plugins::Ml2]): enable_security_group is deprecated. Security is managed by the firewall_drive value in ::neutron::agents::ml2::ovs.


Warning: The package type's allow_virtual parameter will be changing its default value from false to true in a future release. If you do not want to allow virtual packages, please explicitly set allow_virtual to false.
   (at /usr/lib/ruby/site_ruby/1.8/puppet/type/package.rb:430:in `default')


Error: sysctl -p /etc/sysctl.conf returned 255 instead of one of [0]
Error: /Stage[main]/Packstack::Neutron::Bridge/Exec[sysctl_refresh]/returns: change from notrun to 0 failed: sysctl -p /etc/sysctl.conf returned 255 instead of one of [0]

Among a bunch of normal colored notices..

After googling for a while I found that someone had posted a bug and fix!!

Openstack PackStack CentOS 6.5 Install Patch

Looking through the patch for the fix I see that they just needed to add a -e parameter to sysctl to ignore some new keys added to /etc/sysctl.conf in CentOS 6.5


Finally, the workaround. Well you do not need to re format/start form scratch like I did a few times. You can just go and edit:

vim /usr/share/openstack-puppet/modules/packstack/manifests/neutron/bridge.pp

And then change the line:

    command => 'sysctl -p /etc/sysctl.conf',

to:

    command => 'sysctl -e -p /etc/sysctl.conf',

Note the new -e param. This ignores unknown keys so that no error will be returned, crashing the packstack install.

Then to continue your packstack install, you need to re run packstack but with your “answer file” which contains all the passwords and info needed from the partially complete install you just tried to do:

Run this via:

packstack --answer-file=packstack-answers-20140910-111306.txt

NOTE: You answer file with have a different name/timestamp!

And after this your install should work! Good luck!