Я испытываю некоторые трудности с объемами в амулете 2.0 (2.0-rc1-0ubuntu1~1), и документация не вдается в большое количество подробностей.
Я записал интерфейс в https://github.com/autonomouse/interface-weebl использование глобальной области видимости (или таким образом, я думал).
Я имею 2 очарования и установил интерфейс в соответствующем, обеспечивает/требует как "oildashboard".
Одно очарование называют "weebl" и вторым ложным очарованием, которое я использую для тестирования названного "anti-weebl". Anti-weebl не делает многого кроме отобразиться, часть информации передала ему в, он - сообщение о состоянии амулета, как это:
@when('oildashboard.available')
def display_data_in_status(oildashboard):
hookenv.status_set('active', oildashboard.weebl_username())
Это, казалось, работало вчера, счастливо dispaying данные в состоянии амулета, но теперь, когда я включил второе отношение к третьему очарованию от weebl, я добираюсь ValueError: Conversation with scope 'anti-weebl' not found
.
Кто-либо может пролить некоторый свет на то, что я делаю неправильные wrt глобальные области видимости?
Это - полная ошибка (после того, как я удалил unit-weebl-1: 14:54:29 INFO unit.weebl/1.oildashboard-relation-joined
с начала каждой строки):
Traceback (most recent call last):
File "/var/lib/juju/agents/unit-weebl-1/charm/hooks/oildashboard-relation-joined", line 19, in <module>
main()
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/__init__.py", line 78, in main
bus.dispatch()
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 434, in dispatch
_invoke(other_handlers)
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 417, in _invoke
handler.invoke()
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/bus.py", line 291, in invoke
self._action(*args)
File "/var/lib/juju/agents/unit-weebl-1/charm/reactive/weebl.py", line 52, in request_db
pgsql.set_remote('extensions', 'tablefunc')
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/relations.py", line 323, in set_remote
self.conversation(scope).set_remote(key, value, data, **kwdata)
File "/usr/local/lib/python3.5/dist-packages/charms/reactive/relations.py", line 263, in conversation
raise ValueError("Conversation with scope '%s' not found" % scope)
ValueError: Conversation with scope 'anti-weebl' not found
unit-weebl-1: 14:54:29 ERROR juju.worker.uniter.operation hook "oildashboard-relation-joined" failed: exit status 1
unit-weebl-1: 14:54:29 INFO juju.worker.uniter awaiting error resolution for "relation-joined" hook
После того, чтобы расспрашивать тут и там немного, оказывается, что это не имеет никакого отношения к объемам! Это было на самом деле, потому что мы использовали set_remote(...)
в другом месте в очаровании, которое, как предполагается, не используется за пределами интерфейсного слоя.