As I've been staring at failures in the gate a lot over the past month,
we've managed to increasingly tune the tempest client for readability
and debugability. So when something fails in an API test, pin pointing
it's failure point is getting easier. The scenario tests... not so much.

Using the official clients in the scenario tests was originally thought
of as a way to get some extra testing on those clients through Tempest.
However it has a ton of debt associated with it. And I think that client
testing should be done as functional tests in the client trees[1], not
as a side effect of Tempest.

 * It makes the output of a fail path radically different between the 2
types
 * It adds a bunch of complexity on tenant isolation (and basic
duplication between building accounts for both clients)
 * It generates a whole bunch of complexity around "waiting for"
resources, and safe creates which garbage collect. All of which has to
be done above the client level because the official clients don't
provide that functionality.

In addition the official clients don't do the right thing when hitting
API rate limits, so are dubious in running on real clouds. There was a
proposed ugly monkey patch approach which was just too much for us to
deal with.

Migrating to tempest clients I think would clean up a ton of complexity,
and provide for a more straight forward debuggable experience when using
Tempest.

I'd like to take a temperature on this though, so comments welcomed.

        -Sean

[1] -
http://lists.openstack.org/pipermail/openstack-dev/2014-July/039733.html
(see New Thinking about our validation layers)

-- 
Sean Dague
http://dague.net

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to