As part of our Agile/Lean methodologies, our team at Dell is highly invested in automated testing and continuous integration. We’re running Jenkins to coordinate builds and EVERY CHECK-IN launches our full integration suite that tests our system end-to-end. It may not be typical, but I don’t consider that to be particularly note worthy because it’s best practice. (Rob’s note: if you write code and don’t think you have the authority then you need to geek-up and just do it – that’s our MO at Dell)
It’s important to understand that since Crowbar is an installer, every check-in does a FULL CLEAN INSTALL of all the Cactus OpenStack components. Our verification requires that we test OpenStack because that’s our #1 exit requirement. Consequently, we have built an automated build system that does a continuous integration test of a full, multi-node Nova/Glance/Swift deployment.
Automated end-to-end integration tests of OpenStack are a very handy thing!
In the last few weeks, we’ve heard from Dell internal groups and partners who are contributing to OpenStack Diablo that they want to leverage our work in continuous integration. This will allow them to make sure that their development work does not regress other functions. It’s a significant opportunity to ensure that we can collaborate between organizations. It also promotes early development and distribution of Diablo installation scripts.
To support this in Crowbar, we are already planning incorporate more sophisticated revision control (likely based on Git) into Crowbar.
Note: YES, we consider our CI scripts to be part of our open source code.