Merge "Add ironic port show by mac address"
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/requirements.txt b/requirements.txt
index 2af8586..1ce2fc5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,7 +11,7 @@
 netaddr>=0.7.12
 python-ceilometerclient>=1.0.6
 python-glanceclient>=0.15.0
-python-keystoneclient>=0.11.1
+python-keystoneclient>=1.0.0
 python-novaclient>=2.18.0
 python-neutronclient>=2.3.6,<3
 python-cinderclient>=1.1.0
@@ -25,4 +25,4 @@
 iso8601>=0.1.9
 fixtures>=0.3.14
 testscenarios>=0.4
-tempest-lib
+tempest-lib>=0.1.0
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