Hey folks, As part of https://github.com/schubergphilis/cloudstack/tree/feature/systemvm-persistent-config
We tried using chef [1] solo as a convergence tool [2] for systemvm config changes, and along with that serverspec [3] for testing, which is pretty standard practice while using chef. But, chef_solo is turning out to perhaps be a bit slow for systemvm use, so Ian is now creating a lighter weight convergence tool with python. I imagine it should go down well here since we have so much python already :) In line with that I looked for a python-based serverspec alternative and found ‘envassert’, which seems to work Just Fine(tm). Yesterday I got all the bits properly hooked up to my IDE [4], our internal jenkins [5], and Ian’s vi [6]; I’m pretty happy with this setup now; so we plan to start writing serious amounts of tests from today. The two big changes are https://github.com/schubergphilis/cloudstack/commit/1eac9925380e91f47aed528025996b89214055bf https://github.com/schubergphilis/cloudstack/commit/4347e098931895117ed568c2a46950bce6b3a046#diff-10 Any comments? cheers, Leo [1] http://www.getchef.com/ [2] http://controlofsystems.org/febid2006/files/control-cfengine.pdf [3] http://serverspec.org/ [4] http://i.imgur.com/c1XjyXW.png [5] basically it’s invoking https://github.com/schubergphilis/cloudstack/blob/feature/systemvm-persistent-config /tools/vagrant/systemvm/test.sh and then parsing the xunit.xml that comes out of nose [6] that one was particularly difficult :)