Before we get too far along with making changes to 2.0.X (or think about 2.1) -- however small, we really need to spend some time to amp up our testing. I alluded to this previously. Cobbler's development is accelerating at a HUGE rate. This is awesome. Though as it accelerates, the rate at which we QA things is not accelerating.
What I need is a surefire system so that when new patches go in, we can know, for sure, what they break and don't break. Right now we have solid tests for create, update, delete, modify kind of use cases. We don't have good tests for koan and modules like DHCP/DNS manipulation. As a result, some of these things -- which tend to be the functional/ancillary features, not the core, require some manual testing. This is not good because it takes a lot of time. There's an overhead in patch acceptance that makes it a lot more than the 30 seconds it takes to merge something in.
I think there's a lot of work in this, but basically the inability for me to automate /full/ testing after patch merging is starting to become a bottleneck, and I want to get this fixed up for everyone. I think some folks have mentioned that they want to help with this, so I'll share more details as this gets further along.
I also have some other (non-Cobbler related) items I'm working on, so the more I can make myself "not a bottleneck" the better.
To make it clear what this involves -- it means that we won't be considering new features -- or bugfixes that might have other implications -- until we can get this really improved.
It's easy for me to test things that happen when I modify core bits, but when accepting patches, I don't really know what submitters have tested. If we can make software do this, it means we can move forward and accept patches/innovation at a faster rate.
Again, help with this is welcome. While what we have right now is relatively unit-testy, what I want to do is get the framework to create VMs, due to end to end enpoints, and everything, and be highly configurable. This will also mean that when a new release goes out, people will be able to help run tests and add to them -- on their own hardware -- and be able to use this framework when adding features.
Hopefully this all makes sense. Short-term, it may seem like the patch queue is not being mined. You might want to hold off a bit on new feature development in the meantime as we start to figure out how to scale this up.
--Michael
cobbler-devel@lists.fedorahosted.org