Jump to: navigation, search

Blueprint-speed-up-tempest

Revision as of 18:41, 18 May 2013 by Afazekas (talk | contribs) (Additional Notes)
  • Launchpad Entry: TempestSpec:spped-up-tempest
  • Created: 18 May 2013
  • Contributors:

Summary

Ruining test cases in parallel.

Release Note

Rationale

Parallel test case execution on multiple machines can dramatically speed up Unit Test execution.

Introduction

User stories

'Gate is tooo slow'

Assumptions

Gate jobs will speed up.

Design

Replacing the notesttests test runner to testtools/testresources/testrepository combination.

Implementation

Step one is to encapsulate the setUpClass() _contents_ into fixtures. Then, the body of the setUpClass should only contain calls to instantiate the fixtures. If the tests are run via nosetests as currently, there will be no operational changes and this can be landed in master.

Step two is to start removing dependencies between the tests. This is straight forward: for test in `testr list-tests` ; do testr run $test ; done - repeat and fix issues until it works. Each test fix here can be landed individually, as it's largely going to be a matter of adding addCleanup calls to tests and adding setup commands to other tests. It will be repetitive work, but each fix should be straightforward.

Once that runs to completion (notice, nothing here has broken or changed the nose runs), testr run --parallel will work. We should at that point test to see how it is with time.

If testr run --parallel is still too slow, then we can go in and wrap the setup fixtures with testresources and use a ResourcedTestCase so that we get resource affinity in the test runs.

UI Changes

Output will change.

Code Changes

Security and Internal Server Error Considerations

Additional Notes

10G will not be enough, but the Thin provisioning can help. The test cases will rarely writes to the volumes. More then 64 MB memory flavor type might be necessary for testing heat properly, but it will be rare case.

Migration

?

Test/Demo Plan

?

Unresolved issues

https://bugs.launchpad.net/nova/+bug/1016633


BoF agenda and discussion