From 599fa782623598208c012125dd988a48774cfc6e Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Sat, 7 Oct 2017 14:03:14 -0400 Subject: [PATCH] Be robust on import plugin module On loading external plugin, OSC should be robust on importing the plugin module so that commands from other modules can continue to execute. Closes-Bug: #1722008 Change-Id: Ibe716681c7f78fabee31b7ef281af2588d68ab30 --- openstackclient/common/clientmanager.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openstackclient/common/clientmanager.py b/openstackclient/common/clientmanager.py index ea581696c0..7b2c8a5cc3 100644 --- a/openstackclient/common/clientmanager.py +++ b/openstackclient/common/clientmanager.py @@ -134,7 +134,13 @@ def get_plugin_modules(group): for ep in pkg_resources.iter_entry_points(group): LOG.debug('Found plugin %r', ep.name) - __import__(ep.module_name) + try: + __import__(ep.module_name) + except Exception: + sys.stderr.write( + "WARNING: Failed to import plugin %r.\n" % ep.name) + continue + module = sys.modules[ep.module_name] mod_list.append(module) init_func = getattr(module, 'Initialize', None)