Netflix/SimianArmy — pull request #20 by IngmarKrusch (2012-11-09 13:59:32+00:00)
Title: Added VSpehere support

Hi Cory

I'm finally done with adapting ChaosMonkey to run against VSpehere. The configuration file for this is client.properties
The basic strategy fot termination is to set a custom property in the VM and then reset it. This triggers a kickstart on reboot by our infrastructure code governing the VSphere installation. I'm pretty sure others will have their own strategies here in the future.
I refactored the code so I could introduce the infastructure needed to make the client configurable in order introduce the VSphereClient. I also tried to make the change to the overall structure as small as possible.
The persistence is still Amazon Simple DB. I may add MySQL support later, since this more how we roll here rather then using public clouds.
I couldn't get my windows eclipse with jalopy to cooperate on the NewlineAtEndOfFile Rule, so I commented that out in codequality/checkstyle.xml It's probably best if you just ignore this change.
I enabled the travisci build since it's free and a threeliner
I added a "EventReport" to the context. I use that to log a final score after a monkey run on what VMs where terminated. This is pure convenience on my part since I find this easier to read in the logs.
The test coverage on class VSphereServiceConnection is pretty low. This is the class that encapsulates the connection to vsphere. And the VSpehere API is pretty hard to unit test, I went as far as I deem feasible.

If you have any questions regarding my changes, do not hesitate to get back to me.

Cheers
Ingmar