Merge "Stop test execution in case of an plugin error"
diff --git a/tempest/test_discover/plugins.py b/tempest/test_discover/plugins.py
index d5273d5..2701f02 100644
--- a/tempest/test_discover/plugins.py
+++ b/tempest/test_discover/plugins.py
@@ -13,12 +13,16 @@
 # under the License.
 
 import abc
+import logging
 
 import six
 import stevedore
 from tempest_lib.common.utils import misc
 
 
+LOG = logging.getLogger(__name__)
+
+
 @six.add_metaclass(abc.ABCMeta)
 class TempestPlugin(object):
     """A TempestPlugin class provides the basic hooks for an external
@@ -47,7 +51,13 @@
     def __init__(self):
         self.ext_plugins = stevedore.ExtensionManager(
             'tempest.test_plugins', invoke_on_load=True,
-            propagate_map_exceptions=True)
+            propagate_map_exceptions=True,
+            on_load_failure_callback=self.failure_hook)
+
+    @staticmethod
+    def failure_hook(_, ep, err):
+        LOG.error('Could not load %r: %s', ep.name, err)
+        raise err
 
     def get_plugin_load_tests_tuple(self):
         load_tests_dict = {}