All Your Repos Are Belong To Us

Today (and tomorrow) are the RDO Mitaka Test Days in Brno, Czech Republic and I spent a few hours this morning catching up on the tripleo quickstart live demonstration video and the rest of the day bashing my head against the packstack sanity checks for RHEL 7.2, CentOS 7.1, and Fedora 22.

And I took awesome notes. To share with you.

Cause I love.

There are quite a few prerequisites assumed which I’d like to clarify right now because I had to figure this out myself.

My ThinkPad W541 laptop environment:

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)

$ cat /proc/version
Linux version 3.10.0-327.10.1.el7.x86_64 ( (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Sat Jan 23 04:54:55 EST 2016

$ free -m
total used free shared buff/cache available
Mem: 15516 2020 7846 382 5649 12796
Swap: 7879 1 7878

$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Model name: Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz
Stepping: 3
CPU MHz: 2667.328
BogoMIPS: 5587.36
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7

I followed the instructions on to set up three virtual environments for testing purposes. This assumes you know how to set up a virtual system within Virtual Machine Manager which is fairly lacking, but the screenshots are helpful and the interface is fairly intuitive.

Note to self: write post about setting up virtual machines.

My goal for the day was to run a sanity check against packstack on CentOS, RHEL, and Fedora.

Read over all the steps because I included my mistakes / errors along the way, so the first few steps won’t work as written.

1. Download the .iso files. In order to set up the three virtual environments, I needed to download the files for Red Hat Enterprise Linux 7, CentOS 7 and Fedora 22. If you don’t have a RHEL subscription, you can’t get to those particular bits, but continue with CentOS.

You’ll notice I didn’t say continue with CentOS AND Fedora 22 – that’s because I ran into this error:

Pre installing Puppet and discovering hosts' details [ ERROR ]

ERROR : Failed to run remote script, stdout:
stderr: Warning: Permanently added ‘’ (ECDSA) to the list of
known hosts.
+ trap t ERR
+ facter -p
/usr/share/ruby/vendor_ruby/puppet/defaults.rb:381: warning: duplicated key at
line 382 ignored: :queue_type uninitialized constanct Syck
++ t
++ exit 12

I leapt into #rdo on Freenode to verify that the RDO Community is no longer supporting / developing OpenStack for Fedora, sadly. But it means one less thing to test, so for now it’s okay. If you want Fedora supported again, join us on irc and make a case for it – this is how open source works. In the meantime, I updated the page and continued.

2. Install virtual machine manager, if needed.
3. Use VM manager to create a RHEL7 minimal install and a CentOS7 minimal install with 1024 memory, 1 CPU, 16GB storage. Remember to enable networking.
4. Enable repos for RHEL system if you have a subscription. If not, go to step five.

$ subscription-manager register
$ subscription-manager attach --auto
$ subscription-manager repos --enable rhel-7-server-optional-rpms
$ subscription-manager repos --enable rhel-7-server-extras-rpms
$ subscription-manager repos --enable rhel-7-server-rh-common-rpms

According to the documentation, only one repository needed to be enabled, but then you run into this beautiful error: [ ERROR ]
Applying Puppet manifests [ ERROR ]

ERROR : Error appeared during Puppet run:
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-cinder'
returned 1: Error: Package:
You will find full trace in log

Which indicates that you are missing dependencies if you look into the full trace log. This is how I found out all three of those repositories need to be enabled and this has also been updated in documentation.

5. Install yum-plugin-priorities

$ yum install -y yum-plugin-priorities

6. Install the .repo files:

$ cd /etc/yum.repos.d/
$ wget
$ wget

7. Update everything.

$ sudo yum -y update

8. Install packstack.

$ sudo yum install -y openstack-packstack

9. Run this command as a regular user, not root, because root will gloss over some error messages that will make life more difficult once everything’s up and running.

$ packstack --allinone

Puppet borked first. [ ERROR ]
Applying Puppet manifests [ ERROR ]

ERROR : Error appeared during Puppet run:
Could not evaluate: Cannot allocate memory - fork(2)

I realized immediately that I hadn’t allocated enough memory to each virtual system so I skipped back down to step number three:

3. Install minimal install centos7 and rhel7 systems with 4096 memory allocated, 2 CPUs and 16GB storage each.

And then continued with the same steps that had to be repeated because these are two new systems.

4. Enable repos for RHEL system if you have a subscription.
5. Install yum-plugin-priorities.
6. Install the .repo files.
7. Update everything.
8. Install packstack.
9. Run packstack –allinone as a non-root user.

By the time I finished the sanity checks with both CentOS and RHEL, another tester had verified CentOS, but I got to add my name as the official tester for packstack sanity check at

Now it’s time to relax and prep for tomorrow’s testing day. Be sure to add any questions / comments / snide remarks below and I hope to see you contributing to the RDO Project SOON!