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.
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 0.juju- log grafana-source:3: Initializing Snap Layer 0.grafana- source- relation- departed All snaps up to date. 0.juju- log grafana-source:3: Invoking reactive handler: reactive/ grafana. py:609: sources_ gone 0.juju- log grafana-source:3: sources gone 0.juju- log grafana-source:3: <relations. grafana- source. requires. GrafanaRequires object at 0x7fcb186afc88> 0.juju- log grafana-source:3: Hook error: juju/agents/ unit-grafana- 0/.venv/ lib/python3. 6/site- packages/ charms/ reactive/ __init_ _.py", line 74, in main dispatch( restricted= restricted_ mode) juju/agents/ unit-grafana- 0/.venv/ lib/python3. 6/site- packages/ charms/ reactive/ bus.py" , line 379, in dispatch hook_handlers) juju/agents/ unit-grafana- 0/.venv/ lib/python3. 6/site- packages/ charms/ reactive/ bus.py" , line 359, in _invoke invoke( ) juju/agents/ unit-grafana- 0/.venv/ lib/python3. 6/site- packages/ charms/ reactive/ bus.py" , line 181, in invoke _action( *args) juju/agents/ unit-grafana- 0/charm/ reactive/ grafana. py", line 625, in sources_gone application_ name,
unit-grafana-0: 11:53:51 INFO unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 INFO unit.grafana/
unit-grafana-0: 11:53:51 INFO unit.grafana/
unit-grafana-0: 11:53:51 INFO unit.grafana/
unit-grafana-0: 11:53:51 ERROR unit.grafana/
Traceback (most recent call last):
File "/var/lib/
bus.
File "/var/lib/
_invoke(
File "/var/lib/
handler.
File "/var/lib/
self.
File "/var/lib/
"service_name": relation.
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): 0.grafana- source- relation- departed File "/var/lib/ juju/agents/ unit-grafana- 0/charm/ hooks/grafana- source- relation- departed" , line 22, in <module> 0.grafana- source- relation- departed main() 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 0.grafana- source- relation- departed bus.dispatch( restricted= restricted_ mode) 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 0.grafana- source- relation- departed _invoke( hook_handlers) 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 0.grafana- source- relation- departed handler.invoke() 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 0.grafana- source- relation- departed self._action(*args) 0.grafana- source- relation- departed File "/var/lib/ juju/agents/ unit-grafana- 0/charm/ reactive/ grafana. py", line 625, in sources_gone 0.grafana- source- relation- departed "service_name": relation. application_ name, 0.grafana- source- relation- departed AttributeError: 'GrafanaRequires' object has no attribute 'application_name' uniter. operation hook "grafana- source- relation- departed" (via explicit, bespoke hook script) failed: exit status 1
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:51 WARNING unit.grafana/
unit-grafana-0: 11:53:52 ERROR juju.worker.
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