Build a Basic Developer’s Cloud Using TripleO

pygrunnThis is the talk I’m giving today at PyCon Sweden and this Friday at PyGrunn. The slides are available on and

There’s a little confusion on the schedule and the title of this talk is presented two different ways. The original title of this speech was “Build a Private Developer’s Cloud Using RDO Manager” and this is what ended up on the printed schedule, because that’s what I submitted months ago. But shortly after I submitted, the project changed titles from RDO Manager to TripleO to reflect the upstream project name.

So the actual title of the talk is “Build a Private Developer’s Cloud Using TripleO”.

Which is an equally boring title.

I’m thinking something even better is “Gimme a Cloud, RDO”.

Continue reading “Build a Basic Developer’s Cloud Using TripleO”

OoO is easy as A B C, 1 2 3! Turtles all the way down!

just-the-owlSo you really want to program
Things you never, never coded before
Like python and FOSS, and maybe some C
And why start with “Hello World”
Now, now, now
I’m gonna show you
Show you, show you
All about OpenStack
All about TripleO
Sit yourself down, take a seat
All you gotta do is repeat after me

It’s easy as, 1 2 3
As simple as, TripleO Quickstart
A B C, 1 2 3
Turtles all the way down!

Continue reading “OoO is easy as A B C, 1 2 3! Turtles all the way down!”

I will actually post a SUNDAE on SUNDAY some day, I SWEAR


PyCon Sweden 2016 is taking place in Stockholm on May 9-10, 2016 at Hilton Slussen.


In Second Room on Day Two at Two. No, not really, cause that would be too awesome, wouldn’t it. In Second Room on Day Two at ELEVEN FORTY.

That previous sentence will test how many people ACTUALLY READ FOR CONTENT.

Continue reading “I will actually post a SUNDAE on SUNDAY some day, I SWEAR”

Not As Adorable, IMHO

sashaBut still a pretty damn cute TripleO mascot.

My mother declawed every single cat we adopted and so I didn’t think twice about it when we adopted Zoe – she would be declawed.

But the adoption guy sat us down and showed us how to massage her paws and clip her claws correctly and asked us to TRY it for a month. And if she still destroyed furniture or refused to have her claws clipped, then maybe explore more extreme measures.

So we did.

Continue reading “Not As Adorable, IMHO”

Build a Private Developer’s Cloud Using TripleO

pygrunn3I just submitted an RFP to PyGrunn 2016 and realized that I have not yet shared my latest talk to you, the kickass readers of

This is my day job. My thing.

My passion.

And since one of the main goals of this site is giving you insight to what makes me a #DancingEngineer and a #FierceWoman, I humbly present the latest version of this RFP.

Continue reading “Build a Private Developer’s Cloud Using TripleO”

My Body Thinks It’s Five In The Morning, But It’s Only Ten At Night Locally

austin3Which means I honestly have no idea what time this will actually post, but I’ve set it for Monday, April 25, at 10:00.


Yesterday. OR IS IT TODAY.


Let’s start over, shall we.

At the Red Hat pre-Summit THING, I reiterated that I’d be posting daily. Or dying. This week.


Continue reading “My Body Thinks It’s Five In The Morning, But It’s Only Ten At Night Locally”

All Your Repos Are Belong To Us

rdo-logoToday (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!