Jump to: navigation, search

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

 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Summary ==
 
== Summary ==
  
Scale test cases horizontally and vertically.
+
Use a horizontally and vertically scalable and extensible test runner.
  
 
== Release Note ==
 
== Release Note ==
Line 18: Line 18:
 
* 'Gate is tooo slow'
 
* 'Gate is tooo slow'
 
* 'I would like use the same test runner with all OpenStack component and handling the test runs in similar way'
 
* 'I would like use the same test runner with all OpenStack component and handling the test runs in similar way'
* 'I would like to follow the xUnit recommendations '
+
* http://refstack.org/
  
 
== Assumptions ==
 
== Assumptions ==
  
Happier developers.
+
* Happier developers.
 +
* Faster user level API validation
  
 
== Design ==
 
== Design ==
Line 28: Line 29:
 
* Replacing the notesttests test runner to testtools/testresources/testrepository combination.
 
* Replacing the notesttests test runner to testtools/testresources/testrepository combination.
 
* Mitigate the common fixture usage
 
* Mitigate the common fixture usage
 +
* Maintain test capability without admin rights
  
 
== Implementation ==
 
== Implementation ==
  
1. Increase the single thread risks in order to be less confuse-able with parallel issues.  
+
# Increase the single thread risks in order to be less confuse-able with parallel issues.  
 
The tempest code uses waits for delete  to mitigate the chance of running out from resources, this type of issue will happen in parallel.
 
The tempest code uses waits for delete  to mitigate the chance of running out from resources, this type of issue will happen in parallel.
2. fix numbered, order dependent issues
+
# fix numbered, order dependent issues
3. Add an option to old and new code path
+
# traceable logging ??
4. Replace the cheaper setUpClasses
+
# add an option to old and new code path
5. Replace the expensive expensive ones (server)
+
# scale horizontally
6. traceable logging ??
+
# Add test case scheduler which supports resource reuse
  
  
Line 43: Line 45:
  
 
output will change.
 
output will change.
 +
Hopefully we will not see the  logging from the skip exception from at the setup classes.
  
 
=== Code Changes ===
 
=== Code Changes ===
Line 51: Line 54:
  
 
The test cases rarely needs to writes to the volumes.
 
The test cases rarely needs to writes to the volumes.
 +
Smaller ()
 
10GB volume storage will not be enough, but the Thin provisioning  can help.
 
10GB volume storage will not be enough, but the Thin provisioning  can help.
  
More then 64 MB memory flavor type might be necessary for testing heat properly, but it will be rare case.
+
Probably we will need to use a more than 64 MB memory flavor type, it might be necessary for testing heat properly.
  
 
=== Migration ===
 
=== Migration ===
Line 67: Line 71:
  
 
* https://bugs.launchpad.net/nova/+bug/1016633
 
* https://bugs.launchpad.net/nova/+bug/1016633
 
+
* admin permissions are generally strong enough to observe and manipulate the system globally
 +
* whitebox tests usually needs less noise
  
 
== BoF agenda and discussion ==
 
== BoF agenda and discussion ==

Latest revision as of 10:01, 13 June 2013

  • Launchpad Entry: TempestSpec:speed-up-tempest
  • Created: 18 May 2013
  • Contributors:

Summary

Use a horizontally and vertically scalable and extensible test runner.

Release Note

Rationale

The gate time has impact to the development speed. Parallel test case execution on multiple machines can dramatically speed up Unit Test execution.

User stories

  • 'Gate is tooo slow'
  • 'I would like use the same test runner with all OpenStack component and handling the test runs in similar way'
  • http://refstack.org/

Assumptions

  • Happier developers.
  • Faster user level API validation

Design

  • Replacing the notesttests test runner to testtools/testresources/testrepository combination.
  • Mitigate the common fixture usage
  • Maintain test capability without admin rights

Implementation

  1. Increase the single thread risks in order to be less confuse-able with parallel issues.

The tempest code uses waits for delete to mitigate the chance of running out from resources, this type of issue will happen in parallel.

  1. fix numbered, order dependent issues
  2. traceable logging ??
  3. add an option to old and new code path
  4. scale horizontally
  5. Add test case scheduler which supports resource reuse


UI Changes

output will change. Hopefully we will not see the logging from the skip exception from at the setup classes.

Code Changes

Remove complex skip decisions, test selection should be done by attributes based on the configuration file and skip exceptions.

Additional Notes

The test cases rarely needs to writes to the volumes. Smaller () 10GB volume storage will not be enough, but the Thin provisioning can help.

Probably we will need to use a more than 64 MB memory flavor type, it might be necessary for testing heat properly.

Migration

Change the tox settings. Add post processing

Test/Demo Plan

Unresolved issues

BoF agenda and discussion