[openstack-dev] [Tempest]No way to skip S3 related tests

Matthew Treinish mtreinish at kortar.org
Fri Jul 31 13:51:35 UTC 2015

On Fri, Jul 31, 2015 at 12:47:55PM +0200, Jordan Pittier wrote:
> Hi,
> With the commit [1] "minimize the default services" that happened in April,
> nova-objectstore is not run by default. Which means that by default,
> Devstack doesn"t provide any S3 compatible API (because swift3 is not
> enabled by default, of course).

Do those tests even work against swift3? I guess there isn't a reason they
shouldn't IIRC they just use boto to make s3 api calls.

> Now, I don't see any config flag or mechanism in Tempest to skip S3 related
> tests. So, out of the box, we can't have a full green Tempest run.
> Note that there is a Tempest config flag "compute_feature_enabled.ec2_api".
> And there's also a mechanism implemented in 2012 by afazekas (see [2]) that

So frankly the method we have for skipping the ec2 tests in [2] is kinda insane,
it's opaque and confusing, which is why we added the new flag to try and make it
clear. Although, I'm still think there might be issues in the skip logic code
around ec2.

> tried to skip S3 tests if an HTTP connection to  'boto.s3_url' failed with
> a NetwordError, but that mechanism doesn"t work anymore: the tests are not
> properly skipped.
> I'd like your opinion on the correct way to fix stuff:
> 1) Either introduce a object_storage_feature_enabled.s3_api flag in Tempest
> and skip S3 tests if the value is "False". This requires an additionnal
> patch to devstack to properly set the value of
> object_storage_feature_enabled.s3_api flag

I think this is the right way forward, at least in the short term. If the nova
s3 implementation is really decoupled from the ec2 api then we should handle
those separately.

> 2) Or, try to fix the mechanism in tempest/thirdparty/boto/test.py that
> auto-magically skips the S3 tests on NetworkError.

This is definitely not an option, what if there was just a misconfigured
deployment that caused a NetworkError to be raised but the intent was to have
S3 enabled? We shouldn't skip anything automagically in tempest. [3][4]

> What do you think ?

Honestly, removing the thirdparty tests dir from tempest is something I've wanted
to do for a long time. They really don't fit into the scope of the project, and
at this point are more a headache then anything else. I think if we prioritized
moving those into a tempest plugin and removing them from the tree it would make
things a lot better.

> Jordan
> [1]
> https://github.com/openstack-dev/devstack/commit/279cfe75198c723519f1fb361b2bff3c641c6cef
> [2]
> https://github.com/openstack/tempest/commit/a23f500725df8d5ae83f69eb4da5e47736fbb647#diff-ea760d854610bfed1ae3daa4ac242f74R133

[3] http://docs.openstack.org/developer/tempest/REVIEWING.html#being-explicit
[4] http://docs.openstack.org/developer/tempest/HACKING.html#skipping-tests
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150731/9746eac4/attachment.pgp>

More information about the OpenStack-dev mailing list