[openstack-qa] Turning on the full tempest gate
David Kranz
david.kranz at qrclab.com
Fri Jan 4 14:34:01 UTC 2013
It's been several months since we agreed to turn on the full gate and I
wanted to review where we are and suggest some next steps.
There were two obstacles: some flaky test failures and performance
issues. Thanks to the good work of some IBM folks, the
flaky problem has been squashed. The tempest hourly run has been doing
well, just failing sometimes in ways that have nothing
to do with tempest.
On the performance side there are ongoing efforts to get rid of nose and
support parallel test execution, but the end result of that is
not yet visible and I think will not come online in the near future.
Meanwhile, the number of tests has continued
to increase. This is good, but the current tests take more than an hour
to run and the time keeps going up. Also, the technical committee
seems to be taking a more expansive view of projects that will need
inclusion in tempest such as heat, ceilometer, etc.
In the long run, or perhaps even in the medium run, if tempest succeeds
in its mission to provide complete integration
and api stability testing for all openstack proejcts, it does not make
sense to run every tempest test
on every commit in every project. I believe this it true even if we have
parallel test execution. Here is a proposal that
attempts to create a scalable methodology:
1. Categorize all tests as one of:
a) functional (default)
b) integration (selection of tests that interact with other projects)
c) slow (too slow to run on every commit, might be using multiple
nodes, etc.)
2. Make sure that each project that is supported by openstack/tempest
has all of its tests in one directory. This is
almost true already.
3. On a commit to project X, run:
a) all functional tests in the project X directory, excepting those
that are 'slow'
b) all integration tests
4. Create an hourly run for each project that runs all its tests to
check the slow ones and as
a matter of goodness. Since periodic tests are useless if no one looks
at the failures, designate a rotation of
people to examine failures and act on them. For this to work, the
project core developers need to commit to
treating bugs that slip past the gate with highest priority.
5. Continue to run full tempest on every tempest commit until we can't
bear it any longer.
Comments welcome.
-David
More information about the openstack-qa
mailing list