Poor error when interface missing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-deployer |
Triaged
|
Low
|
Unassigned |
Bug Description
Due to a caching issue, deployer picked up an old version of a charm that lacked an interface used in a relation in the config. This was the result:
Traceback (most recent call last):
File "/home/
load_
File "/home/
run()
File "/home/
importer.
File "/home/
rels_created = self.add_
File "/home/
self.
File "/home/
return self.client.
File "/home/
'Endpoints': [endpoint_a, endpoint_b]
File "/home/
raise EnvError(result)
jujuclient.
{ u'Error': u'no relations found', u'RequestId': 1, u'Response': { }}
>
description: | updated |
Changed in juju-deployer: | |
status: | New → Triaged |
importance: | Undecided → Low |
well. deployer validates relations before deploying anything using the version specified in config. If charm was changed without incrementing the version, deployer has no way of knowing what cached charm issue might be found. Displaying the underlying error message when interacting with an environment seems the only sane thing to do, ie those strings are subject to change, the potential errors are multitude (w/ concurrent mods), and there's no error code to dispatch on in the err message. Otoh, it would be nice to capture additional params to the op that caused the underlying error, but that's best done in jujuclient.