Jump to: navigation, search

Difference between revisions of "Blueprint-speed-up-tempest"

Line 29: Line 29:
  
 
== Implementation ==
 
== 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 ===
 
=== UI Changes ===
Line 57: Line 36:
 
=== Code Changes ===
 
=== Code Changes ===
  
 
+
Encapsulate the setUpClass() _contents_ into fixtures and testresources.
 +
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.
  
 
=== Security and Internal Server Error Considerations ===
 
=== Security and Internal Server Error Considerations ===
Line 63: Line 46:
 
=== Additional Notes ===
 
=== Additional Notes ===
  
10G will not be enough, but the Thin provisioning  can help.
+
10GB volume storage will not be enough, but the Thin provisioning  can help.
The test cases will rarely writes to the volumes.
+
The test cases rarely needs to writes to the volumes.
 +
 
 
More then 64 MB memory flavor type might be necessary for testing heat properly, but it will be rare case.
 
More then 64 MB memory flavor type might be necessary for testing heat properly, but it will be rare case.
 +
  
 
=== Migration ===
 
=== Migration ===

Revision as of 18:50, 18 May 2013

  • Launchpad Entry: TempestSpec:speed-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

UI Changes

Output will change.

Code Changes

Encapsulate the setUpClass() _contents_ into fixtures and testresources. 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.

Security and Internal Server Error Considerations

Additional Notes

10GB volume storage will not be enough, but the Thin provisioning can help. The test cases rarely needs to 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