Check that template format plugins are registered
Otherwise log an error and exit Change-Id: I2beb33371cf5e6701e22dbb41c8f5aa681c379de Closes-Bug: #1402426
This commit is contained in:
parent
d33a5837d1
commit
ed76af4269
@ -35,8 +35,10 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'heat', '__init__.py')):
|
||||
from oslo.config import cfg
|
||||
from oslo import i18n
|
||||
|
||||
from heat.common.i18n import _LC
|
||||
from heat.common import messaging
|
||||
from heat.common import profiler
|
||||
from heat.engine import template
|
||||
from heat.openstack.common import log as logging
|
||||
from heat.openstack.common import service
|
||||
|
||||
@ -52,6 +54,14 @@ if __name__ == '__main__':
|
||||
logging.setup('heat')
|
||||
messaging.setup()
|
||||
|
||||
mgr = None
|
||||
try:
|
||||
mgr = template._get_template_extension_manager()
|
||||
except template.TemplatePluginNotRegistered as ex:
|
||||
LOG.critical(_LC("%s"), ex)
|
||||
if not mgr or not mgr.names():
|
||||
sys.exit("ERROR: No template format plugins registered")
|
||||
|
||||
from heat.engine import service as engine
|
||||
|
||||
profiler.setup('heat-engine', cfg.CONF.host)
|
||||
|
@ -53,7 +53,16 @@ def _get_template_extension_manager():
|
||||
return extension.ExtensionManager(
|
||||
namespace='heat.templates',
|
||||
invoke_on_load=False,
|
||||
verify_requirements=True)
|
||||
verify_requirements=True,
|
||||
on_load_failure_callback=raise_extension_exception)
|
||||
|
||||
|
||||
def raise_extension_exception(extmanager, ep, err):
|
||||
raise TemplatePluginNotRegistered(name=ep.name, error=six.text_type(err))
|
||||
|
||||
|
||||
class TemplatePluginNotRegistered(exception.HeatException):
|
||||
msg_fmt = _("Could not load %(name)s: %(error)s")
|
||||
|
||||
|
||||
def get_template_class(template_data):
|
||||
|
Loading…
Reference in New Issue
Block a user