<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<div>Hi everyone,</div>
<div><br>
</div>
<div>I've been having an idea for a while but have never had time to get around to doing it, so I thought some other people might like to see if its possible (and or/comments in general).</div>
<div><b><br>
</b></div>
<div><i><b>The pitch:</b></i></div>
<div><br>
</div>
<div>It would be neat to implement a set of 'chaos' drivers that could be implemented for each pluggable 'driver-like' backend that can be provided in nova (for example the servicegroup driver, or the vm driver..). The concept would be that a single 'chaos'
 driver would wrap a working driver and the 'chaos' driver would randomly (likely via a specified seed and/or rate) raise different types of exceptions that the driver interface/abstraction allows to be thrown. For the cases where it does not throw it would
 pass on the request to the underlying driver, thus it would act as a driver that sporadically fails at a
<i>much</i> higher rate (depending on the random seed or other configuration) than the underlying wrapped driver. This would be neat as a way to test the corner cases of the code using said driver (and to see how said code handles varying exceptions). It also
 provides a repeatable (due to the set seed)  & unique view into what state the system is left in after said exceptions occur. The results of such types of 'chaos' drivers could provide unique insights into how the overall system recovers from failures and
 could lead to new code to ensure the system is left in a consistent state (if it is not already).</div>
<div><br>
</div>
<div>If anyone might be interested I put this up @ <a href="https://blueprints.launchpad.net/nova/+spec/chaos-drivers">https://blueprints.launchpad.net/nova/+spec/chaos-drivers</a></div>
<div><br>
</div>
<div>Thoughts or comments welcome :-)</div>
<div><br>
</div>
<div>-Josh</div>
<div><br>
</div>
</body>
</html>