The code has been merged into openstack/tempest.

The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it was merged into the tempest repo,
please check out the previous commit with "git checkout HEAD^1".

For any further questions, please email
openstack-discuss@lists.openstack.org or
join #openstack-qa or #openstack-horizon on Freenode.
