The DriverPlugin hides errors from the developer. For example, if an incorrect method is called in the __init__() of a driver class, it is reported as:
File "designate/plugin.py", line 117, in get_driver
mgr = driver.DriverManager(cls.__plugin_ns__, name)
File "/home/rrickard/designate/.tox/py27/local/lib/python2.7/site-packages/stevedore/driver.py", line 45, in __init__
verify_requirements=verify_requirements,
File "/home/rrickard/designate/.tox/py27/local/lib/python2.7/site-packages/stevedore/named.py", line 55, in __init__
verify_requirements)
File "/home/rrickard/designate/.tox/py27/local/lib/python2.7/site-packages/stevedore/extension.py", line 170, in _load_plugins
self._on_load_failure_callback(self, ep, err)
File "/home/rrickard/designate/.tox/py27/local/lib/python2.7/site-packages/stevedore/driver.py", line 50, in _default_on_load_failure
raise err
AttributeError: 'list' object has no attribute 'extends'
We should somehow raise the original exception instead of hiding it.
This has been resolved with a new driver interface