This blog post briefly describes how I got involved with the Cobbler Project, what I managed to get done and why I’m (finally) stepping down as the project lead.
How I got involved
Back in 2011 I was working for the Dutch DoD in the IT Infrastructure department where I was deeply involved with UNIX/Linux systems engineering. At some point we wanted to replace our internally developed deployment solution for something more generic and better maintained (upstream). After some testing we settled on Cobbler, even though it’s support for platforms other than the Red Hat ecosystem ones (EL & Fedora) at that time was rather limited. One of the most important features for us was that Cobbler was able to provision air-gapped systems through the use of the buildiso feature.
In June 2011 I submitted my first contributions to Cobbler, mostly some small fixes and a larger improvement to the buildiso feature. After these fixes went into the tree we moved Cobbler into production using a phased approach. During this process many more improvements were needed and thus contributed; ubuntu/debian support for buildiso, the management interface concept, the status field (think DTAP), a new proxy field required to accomodate for the strict network traffic rules within the DoD, improved support for SuSE systems, webinterface improvements, etc.
Early 2012 Michael De Haan announced his intent to step down as the maintainer of Cobbler. At that time James Cammarata was the most active contributer so it was pretty obvious James should take over ownership of Cobbler. And luckily, he did. Even though I was quite a n00b with the whole OSS development thing; there was a clear incentive to keep Cobbler alive and to have some guarantees regarding the development of specific features we required at the DoD. So I stepped up to Michael and offered to help out too, this resulted in my commit bit in March 2012.
From March 2012 until the end of 2013 or so James was really doing most of the development work and also cutting releases. Around April 2014 James went silent as he got a new job with this little start-up called Ansible. I guess life at a start-up is quite demanding :).
From that time my contributions consisted mostly of; lots of cleanups, merging pull requests, packaging (OBS), boot loader updates, trying to keep up with changes in the Python ecosystem (Django), signature updates, pyflakes & pep8 code cleanups, CI/CD integration, a complete code refactor with the help of Alan Evangelista where we made the entire codebase less Red Hat centric, feature deprecation/removal (ia64/s390 support, etc), website updates, cutting releases, managing reported issues, etc, etc.
Fading into oblivion
Somehwere in 2016 I switched jobs within the DoD and completely moved out of the IT infrastructure realm. This left me without good test/production environments to work with Cobbler but also resulted in less incentive to do much work on Cobbler. I tried my best to at least merge pull requests timely and occassionally cut releases so that any community contributions actually came back to them.
In June 2017 I started working as a freelance Cyber Security contractor. In hindsight this really was the nail in the coffin for my Cobbler commitment/involvement, as my free time was (and is) better spend investing in my knowledge in an ever faster changing world of IT & Cyber Security. Unfortunately there was noone in the (small) community who would be the obvious successor to take over from me…. So, I guess the project sliently went into a zombie mode for quite a while ;-).
A new impulse
As my first contract was nearing it’s end in December 2018 I decided to use my two weeks vacation to finally start porting Cobbler to Python 3. And I’m not really sure what happened; the effort might have been noticed or just that the stars were aligned ;-) …. But somehwere in that timeframe (2018-12/2019-02) several SuSE employees joined the effort and really started driving most developments. Later I learned that they were pushing hard to get their commercial product SuSE Manager out (which includes Cobbler). Besides helping with the switch to Python 3 the SuSE team contributed another important feature that was way overdue: GRUB2 (and thus better UEFI support). So, with Cobbler finally running on Python 3 and the ability to provision UEFI based systems more reliably all of sudden the Cobbler project seemed in pretty good shape.
As part of this recdent development effort I already granted Jochen Breuer, Thomas Renninger and Enno Gotthold commit access to the repositories so that they were free to take the project where they needed it to be. Around July/August I started discussing my intentions to step down from the project with Enno and I was very pleased he was interested to take over the project leadership. From my point of view Enno is an excellent successor; he’s young, enthousiastic, a real developer, working professionally in IT infrastructure (with an awesome team within SuSE!) and has the personal interest to drive an opensource project! I’m confident Enno will drive the project forward to where it is once again one of the best OSS deployment solutions! Thank you Enno and good luck! The future looks bright again :-).