diff --git a/heat/common/config.py b/heat/common/config.py index 8b9daa1714..f3947e8fe6 100644 --- a/heat/common/config.py +++ b/heat/common/config.py @@ -100,7 +100,10 @@ cfg.IntOpt('sql_idle_timeout', engine_opts = [ cfg.StrOpt('instance_driver', default='heat.engine.nova', - help='Driver to use for controlling instances') + help='Driver to use for controlling instances'), +cfg.ListOpt('plugin_dirs', + default=['/usr/lib64/heat', '/usr/lib/heat'], + help='List of directories to search for Plugins'), ] rpc_opts = [ cfg.StrOpt('host', diff --git a/heat/engine/resources/__init__.py b/heat/engine/resources/__init__.py index 087ac64e2a..803b84aeb1 100644 --- a/heat/engine/resources/__init__.py +++ b/heat/engine/resources/__init__.py @@ -44,5 +44,11 @@ def _initialise(): _register_modules(plugin_loader.load_modules(sys.modules[__name__])) + from heat.openstack.common import cfg + + plugin_pkg = plugin_loader.create_subpackage(cfg.CONF.plugin_dirs, + 'heat.engine') + _register_modules(plugin_loader.load_modules(plugin_pkg, True)) + _initialise()