Owner

Current status

Detailed Description

I have developed a test framework that can be hooked into autoqa and exercises the storage code external to the installer environment. Tests can be chained together so that the output of one test (a set of disks) is the input of another test. The entire framework runs under virtualization. This set of features means tests can be run completely without user intervention (making it perfect to run weekly, nightly, at build time, or even commit time though that would be very slow), from a known preexisting disk state (making failures reproducible), and without damaging existing hardware.

The real strength of this framework is first that we can automate the entirety of the storage section of the release test matrix, and second that we can develop regression tests from bug reports given enough detail. Making use of this strength requires writing a lot of tests, though.

Benefit to Fedora

Automated storage testing means we can catch storage problems faster, create regression tests, and reduce QA workload by getting them out of the storage testing business. This should directly result in a better installer (due to fewer bugs) and indirectly to better releases (due to QA being able to focus on other things).

Scope

With the hard work in anaconda already having been done (reorganizing into a proper Python module, making the storage code externally usable, fixing the live environment) all that is left to do is write test cases which is just in autoqa. As a result of this, some bugs may be discovered in anaconda or pykickstart but that is just standard bug fixing work.