Allow to specify the list of sahara enabled plugins
The list of plugins can be tuned by cloud administrator, so make
sure that the list of checked plugins is not hardcoded.
The default list of plugins matches the one currently enabled.
This commit introduces also a new section for data_processing enabled
features in the tempest configuration.
Change-Id: Ie29aeef2df605cfe840e053bc57ff980e9332636
diff --git a/etc/tempest.conf.sample b/etc/tempest.conf.sample
index 02609ae..3ade411 100644
--- a/etc/tempest.conf.sample
+++ b/etc/tempest.conf.sample
@@ -467,6 +467,16 @@
#endpoint_type = publicURL
+[data_processing-feature-enabled]
+
+#
+# From tempest.config
+#
+
+# List of enabled data processing plugins (list value)
+#plugins = vanilla,hdp
+
+
[database]
#
diff --git a/tempest/api/data_processing/test_plugins.py b/tempest/api/data_processing/test_plugins.py
index 9fd7a17..4b4ec48 100644
--- a/tempest/api/data_processing/test_plugins.py
+++ b/tempest/api/data_processing/test_plugins.py
@@ -13,8 +13,11 @@
# under the License.
from tempest.api.data_processing import base as dp_base
+from tempest import config
from tempest import test
+CONF = config.CONF
+
class PluginsTest(dp_base.BaseDataProcessingTest):
def _list_all_plugin_names(self):
@@ -24,8 +27,8 @@
"""
_, plugins = self.client.list_plugins()
plugins_names = [plugin['name'] for plugin in plugins]
- self.assertIn('vanilla', plugins_names)
- self.assertIn('hdp', plugins_names)
+ for enabled_plugin in CONF.data_processing_feature_enabled.plugins:
+ self.assertIn(enabled_plugin, plugins_names)
return plugins_names
diff --git a/tempest/config.py b/tempest/config.py
index dd693e5..1b6ec62 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -743,6 +743,17 @@
]
+data_processing_feature_group = cfg.OptGroup(
+ name="data_processing-feature-enabled",
+ title="Enabled Data Processing features")
+
+DataProcessingFeaturesGroup = [
+ cfg.ListOpt('plugins',
+ default=["vanilla", "hdp"],
+ help="List of enabled data processing plugins")
+]
+
+
boto_group = cfg.OptGroup(name='boto',
title='EC2/S3 options')
BotoGroup = [
@@ -1050,6 +1061,7 @@
(telemetry_group, TelemetryGroup),
(dashboard_group, DashboardGroup),
(data_processing_group, DataProcessingGroup),
+ (data_processing_feature_group, DataProcessingFeaturesGroup),
(boto_group, BotoGroup),
(stress_group, StressGroup),
(scenario_group, ScenarioGroup),
@@ -1120,6 +1132,8 @@
self.telemetry = cfg.CONF.telemetry
self.dashboard = cfg.CONF.dashboard
self.data_processing = cfg.CONF.data_processing
+ self.data_processing_feature_enabled = cfg.CONF[
+ 'data_processing-feature-enabled']
self.boto = cfg.CONF.boto
self.stress = cfg.CONF.stress
self.scenario = cfg.CONF.scenario