[openstack-dev] [Tempest][Neutron] Discovering enabled extensions

Salvatore Orlando sorlando at nicira.com
Thu Oct 17 12:46:00 UTC 2013


Hi,

in the discussion for patch https://review.openstack.org/#/c/50880/ Sean
asked a very reasonable question:

"so are all these [Neutron] extensions always loaded on all environments?
If not, how are we detecting which are?"

So far we've been relying on devstack-gate setup, I think. If the extension
is enabled by devstack-gate, then you can add the test. This would make
sense if tempest is used exclusively by the upstream gate jobs, which
however appears not to be the case. It should therefore be possible to
select which tests should be run according to currently enabled Neutron
extensions, which depend on core and service plugins

One way to solve this issue would be to use tempest configuration
variables; while this is the simplest approach, there are already 25
extensions in Neutron, not counting plugin-specific extensions. This number
can only grow in future releases, so I have a few concerns about
maintainability of this approach because of the high number of
configuration variables.

Another way is to use Neutron API to query available extensions, by
querying /v2.0/extensions
This will return the list of currently loaded extensions, from which
extension aliases can be easily extracted; these values can then be used to
conditionally skip tests. This Neutron query can either be done each time
an API test class is initialised  or just once - by storing in memory the
list of enabled extensions. If you deem the last approach reasonable, I'd
be happy to provide some code for it. I see many patches pushed into
tempest without an accompanying blueprint/bug; should I register anyway a
blueprint for this work?

Regards,
Salvatore
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131017/edf5e8c8/attachment.html>


More information about the OpenStack-dev mailing list