Tempest currently has tests using 2 different OpenStack clients. The first is a client written in Tempest for testability and debugability. The second is the various native clients. This adds debt to the Tempest code that we should remove.
As Tempest grew up we grew tests that included poking directly at the raw API with our own client, as well as through the various native clients for the projects. As the volume of tests have grown, and some of the complexities in Tempest (like tenant isolation) have shown up, the 2 client strategy has become problematic.
We do a wholesale cut over of the openstack clients to the Tempest client in all the scenario tests.
We remove the abstractions that were built just for these clients.
Keep things as they are. This however has begun to be a top issue impacting gate debugability.
Mailing list discussion - http://lists.openstack.org/pipermail/openstack-dev/2014-July/039879.html