heat-engine throws errors when trying to import things that may not be installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Should heat-engine really throw error stacktraces when it tries to import things that may not be installed ?
For example here: http://
[snip]
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension [-] Could not load 'zaqar': No module named zaqarclient.
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension [-] No module named zaqarclient.
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension Traceback (most recent call last):
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension verify_
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension verify_
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension plugin = ep.resolve()
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension module = __import_
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension from zaqarclient.
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension ImportError: No module named zaqarclient.
2016-02-10 17:46:07.090 21255 ERROR stevedore.extension
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension [-] Could not load 'mistral': No module named mistralclient.api
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension [-] No module named mistralclient.api
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension Traceback (most recent call last):
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension verify_
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension verify_
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension plugin = ep.resolve()
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension module = __import_
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension File "/usr/lib/
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension from mistralclient.api import base as mistral_base
2016-02-10 17:46:07.105 21255 ERROR stevedore.extension ImportError: No module named mistralclient.api
[snip]
Let's pretend I don't have zaqar or mistral in my cloud. Should I really have these errors ? Heat-engine tries to import everything, basically.
Changed in heat: | |
status: | New → Triaged |
I don't know what's the correct behavior here. Those tracebacks are not super nice, but not really harmful either. Even if you don't have mistral in your cloud, you can have mistralclient installed and everything will be fine.
The alternative is to do the same thing as the monasca plugin, which doesn't register itself when imports fail. We'd need to define whether it's fine or not, and if we want to do this for every single client (does it make sense to do it for nova, for instance?).