In a very old life, I maintained some packages for the Fedora project – an audio editor, a map rendering system, a lazy logger, that kind of thing.
Senlin is a clustering service for OpenStack. My employer has a vested interest in HPC clusters and I enjoy side projects which contribute upstream and allow users to consume tooling. Mostly my approach is:
- Produce ham-fisted hack which, at best, partially fixes the problem
- This annoys the developer enough to complete the patch
Evidence of this is support in Elasticluster for Keystone v3
Anyway, I digress. RDO didn’t have Senlin packaged for easy consumption so I decided to apply my “skills” in order to fix that particular problem.
- I started by following the new package documentation
- Its the start of a long journey….
- The Senlin service review alone took 40 reviews. Yes, 40.
- The client was a bit better.
Naming is hard but some of the terminology and naming in RDO is a bit odd. DLRN, Weirdo. There is a steep on-ramp for a new contributor and it feels like a bit like a walled garden at times. But the folks in IRC are helpful and most of all, patient. Special thanks goes to Alfredo Moralej, Haïkel Guémar, Chandan Kumar and Javier Peña for their limitless patience in the face of blundering git commits.
The good news is, both service and client are now available in RDO in time for the Pike release. I’m hoping this will increase usage of Senlin in OpenStack as I think lack of packaging for what is often very good code is a barrier to overall adoption. There are plenty of options for spinning up clusters in OpenStack not limited to Senlin or Elasticluster but its good to be able to nudge these along where time allows.
Whats next? Knowing very little about writing puppet code, I’m next intending to write the puppet module for Senlin. Apparently it involves something called a cookie cutter.
We have some users who elected to deploy RDO and others using Red Hat’s OpenStack Platform for commercial support. I’m hopeful that by understanding the RDO process better, we can help support both sets of users equally. Most deployments we do necessitate the odd patch or two going upstream and hopefully this will be easier from here on in.
If you are intending to use Senlin please get in touch.