Poor error when interface missing

Bug #1228226 reported by Aaron Bentley
22
This bug affects 4 people
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/abentley/bin/juju-deployer", line 9, in <module>
    load_entry_point('juju-deployer==0.2.3', 'console_scripts', 'juju-deployer')()
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/juju_deployer-0.2.3-py2.7.egg/deployer/cli.py", line 113, in main
    run()
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/juju_deployer-0.2.3-py2.7.egg/deployer/cli.py", line 199, in run
    importer.Importer(env, deployment, options).run()
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/juju_deployer-0.2.3-py2.7.egg/deployer/action/importer.py", line 153, in run
    rels_created = self.add_relations()
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/juju_deployer-0.2.3-py2.7.egg/deployer/action/importer.py", line 92, in add_relations
    self.env.add_relation(end_a, end_b)
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/juju_deployer-0.2.3-py2.7.egg/deployer/env/go.py", line 27, in add_relation
    return self.client.add_relation(endpoint_a, endpoint_b)
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/jujuclient-0.11-py2.7.egg/jujuclient.py", line 340, in add_relation
    'Endpoints': [endpoint_a, endpoint_b]
  File "/home/abentley/canonical/juju-deployer/local/lib/python2.7/site-packages/jujuclient-0.11-py2.7.egg/jujuclient.py", line 135, in _rpc
    raise EnvError(result)
jujuclient.EnvError: <Env Error - Details:
 { u'Error': u'no relations found', u'RequestId': 1, u'Response': { }}
 >

Aaron Bentley (abentley)
description: updated
Revision history for this message
Kapil Thangavelu (hazmat) wrote :

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.

Changed in juju-deployer:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Aaron Bentley (abentley) wrote :

Generally, I expect to see tracebacks only for unexpected failure modes, so at least that could be cleaned up.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.