Code review comment for ~jamesbeedy/charm-grafana:relation_base_to_endpoint

Revision history for this message
Drew Freiberger (afreiberger) wrote :

I built this branch along with the interface update and it fails grafana-source-relation-departed due to lack of relation.application_name. when removing one of two prometheus units.

unit-grafana-0: 11:53:51 INFO unit.grafana/0.juju-log grafana-source:3: Reactive main running for hook grafana-source-relation-departed
unit-grafana-0: 11:53:51 INFO unit.grafana/0.juju-log grafana-source:3: Initializing Snap Layer
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed All snaps up to date.
unit-grafana-0: 11:53:51 INFO unit.grafana/0.juju-log grafana-source:3: Invoking reactive handler: reactive/grafana.py:609:sources_gone
unit-grafana-0: 11:53:51 INFO unit.grafana/0.juju-log grafana-source:3: sources gone
unit-grafana-0: 11:53:51 INFO unit.grafana/0.juju-log grafana-source:3: <relations.grafana-source.requires.GrafanaRequires object at 0x7fcb186afc88>
unit-grafana-0: 11:53:51 ERROR unit.grafana/0.juju-log grafana-source:3: Hook error:
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/__init__.py", line 74, in main
    bus.dispatch(restricted=restricted_mode)
  File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 379, in dispatch
    _invoke(hook_handlers)
  File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 359, in _invoke
    handler.invoke()
  File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 181, in invoke
    self._action(*args)
  File "/var/lib/juju/agents/unit-grafana-0/charm/reactive/grafana.py", line 625, in sources_gone
    "service_name": relation.application_name,
AttributeError: 'GrafanaRequires' object has no attribute 'application_name'

unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed Traceback (most recent call last):
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/charm/hooks/grafana-source-relation-departed", line 22, in <module>
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed main()
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/__init__.py", line 74, in main
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed bus.dispatch(restricted=restricted_mode)
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 379, in dispatch
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed _invoke(hook_handlers)
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 359, in _invoke
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed handler.invoke()
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/.venv/lib/python3.6/site-packages/charms/reactive/bus.py", line 181, in invoke
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed self._action(*args)
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed File "/var/lib/juju/agents/unit-grafana-0/charm/reactive/grafana.py", line 625, in sources_gone
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed "service_name": relation.application_name,
unit-grafana-0: 11:53:51 WARNING unit.grafana/0.grafana-source-relation-departed AttributeError: 'GrafanaRequires' object has no attribute 'application_name'
unit-grafana-0: 11:53:52 ERROR juju.worker.uniter.operation hook "grafana-source-relation-departed" (via explicit, bespoke hook script) failed: exit status 1
unit-grafana-0: 11:53:52 INFO juju.worker.uniter awaiting error resolution for "relation-departed" hook

It appears that relation needs to be handled as an Endpoint rather than RelationBase object in this stanza.

I've raised another issue that would be nice to resolve with this MR as it progresses.

https://bugs.launchpad.net/charm-grafana/+bug/1912680

review: Needs Fixing

« Back to merge proposal