diff options
| author | Soren Hansen <soren@linux2go.dk> | 2011-03-28 15:21:53 +0200 |
|---|---|---|
| committer | Soren Hansen <soren@linux2go.dk> | 2011-03-28 15:21:53 +0200 |
| commit | d25968ab494f65ed90981e440169e31a7488befe (patch) | |
| tree | 4052742d17ad38a3cc802bf9e58956d480f4b6a8 /nova | |
| parent | 7cdc3add34b109e3f956f785b60a5aa5cf273e53 (diff) | |
Add friendlier message if an extension fails to include a correctly named class or factory.
Diffstat (limited to 'nova')
| -rw-r--r-- | nova/api/openstack/extensions.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py index 439612faa..4a7236863 100644 --- a/nova/api/openstack/extensions.py +++ b/nova/api/openstack/extensions.py @@ -321,7 +321,14 @@ class ExtensionManager(object): mod = imp.load_source(mod_name, ext_path) ext_name = mod_name[0].upper() + mod_name[1:] try: - new_ext = getattr(mod, ext_name)() + new_ext_class = getattr(mod, ext_name, None) + if not new_ext_class: + LOG.warning(_('Did not find expected name ' + '"%(ext_name)" in %(file)s'), + { 'ext_name': ext_name, + 'file': ext_path }) + continue + new_ext = new_ext_class() self._check_extension(new_ext) self.extensions[new_ext.get_alias()] = new_ext except AttributeError as ex: |
