Allow to set api_extensions to test for neutron

If we don't override the value, it means that tempest will attempt to
execute all tests from the suite, which may be not want we want. For
example, setups with no qos ml2 extension driver enabled may not want to
execute qos tests, since they will probably fail.

It's good practice for tempest/neutron to configure api extensions to
test explicitly in tempest.conf, especially in gate environment where
new tests may land that may break previously working gate because there
is more configuration needed to pass them, or because the plugin used
does not support the feature at all.

Change-Id: I31105600dfd5632ec4341b35ca3e8a13af3bb945
This commit is contained in:
Ihar Hrachyshka 2017-03-08 12:21:48 +00:00
parent b01ecc7e18
commit a93b933150
3 changed files with 11 additions and 0 deletions

View File

@ -40,6 +40,8 @@
# Defaults to true
# [*public_network_name*]
# Defaults to undef
# [*neutron_api_extensions*]
# Defaults to undef
# [*identity_uri*]
# Defaults to undef
# [*identity_uri_v3*]
@ -239,6 +241,7 @@ class tempest(
#
$configure_networks = true,
$public_network_name = undef,
$neutron_api_extensions = undef,
# Horizon dashboard config
$login_url = undef,
@ -513,6 +516,7 @@ the future release. Please use tempest::package_ensure instead.")
'identity-feature-enabled/api_v3': value => $keystone_v3;
'image-feature-enabled/api_v1': value => $glance_v1;
'image-feature-enabled/api_v2': value => $glance_v2;
'network-feature-enabled/api_extensions': value => $neutron_api_extensions;
'network/public_network_id': value => $public_network_id;
'network/public_router_id': value => $public_router_id;
'dashboard/login_url': value => $login_url;

View File

@ -0,0 +1,6 @@
---
features:
- |
The new ``neutron_api_extensions`` parameter allows to configure
``tempest`` to execute only tests that don't rely on anything beyond the
list of API extensions specified by the parameter.

View File

@ -235,6 +235,7 @@ describe 'tempest' do
is_expected.to contain_tempest_config('identity-feature-enabled/api_v3').with(:value => true)
is_expected.to contain_tempest_config('image-feature-enabled/api_v1').with(:value => true)
is_expected.to contain_tempest_config('image-feature-enabled/api_v2').with(:value => true)
is_expected.to contain_tempest_config('network-feature-enabled/api_extensions').with(:value => nil)
is_expected.to contain_tempest_config('network/public_network_id').with(:value => nil)
is_expected.to contain_tempest_config('network/public_router_id').with(:value => '')
is_expected.to contain_tempest_config('dashboard/login_url').with(:value => nil)