Очарование Juju: действие не выполнено: (ImportError: Нет модуля с именем 'charms.reactive')
Как новичок в juju
рамки, я расследую простой machine
развертывание с целью выполнения простого action
в теме.
Итак, я создал charm
связать, собрать и успешно развернуть, используя juju
, Пакет содержит action
называется "touch", который принимает строку (т. е. имя файла) в качестве входных данных и создает файл с этим именем на компьютере.
После того, как машина становится "активной", и когда я перечисляю действия на развернутой машине, используя:
juju actions charmLayer
Я понимаю action
перечислены вместе с его описанием.
Теперь при выполнении действий "прикасаться" с помощью:
juju run-action charmLayer/0 touch filename="/home/ubuntu/manual.txt"
Я получаю следующее сообщение:
Действие в очереди с идентификатором: d6b39965-9a2c-41c6-8db7-b4060e587033
Затем, когда я проверяю статус действия:
juju show-action-status d6b39965-9a2c-41c6-8db7-b4060e587033
Я получаю следующее:
действия:
действие: прикосновение
завершено в: "2019-05-03 11:56:51"
id: d6b39965-9a2c-41c6-8db7-b4060e587033
статус: не удалось
единица измерения:
charmLayer / 0
Затем, когда я проверяю действие-вывод:
juju show-action-output d6b39965-9a2c-41c6-8db7-b4060e587033
Я получаю следующее:
сообщение: статус выхода 1
статус: не удалось
сроки:
завершено: 2019-05-03 11:56:51 +0000 UTC
поставлен в очередь: 2019-05-03 11:56:48 +0000 UTC
начало: 2019-05-03 11:56:51 +0000 UTC
при проверке логов с использованием:
juju debug-log
Я вижу следующий вывод:
unit-charmLayer-0: 13:23:14 ОТЛАДКА unit.charmLayer / 0.touch Traceback (последний вызов был последним):
unit-charmLayer-0: 13:23:14 DEBUG unit.charmLayer/0.touch File "/ var / lib / juju / agents / unit-charmLayer-0 / charm / actions / touch", строка 6, в
unit-charmLayer-0: 13:23:14 DEBUG unit.charmLayer/0.touch из charms.reactive import main, set_flag
unit-charmLayer-0: 13:23:14 DEBUG unit.charmLayer/0.touch ImportError: Нет модуля с именем 'charms.reactive'
Мой вопрос, почему я получаю это ImportError
для charms.reactive
?
1 ответ
Вы можете опубликовать свой код? Мы могли бы помочь, если увидим, как вы сочинили свое очарование. (это должен быть комментарий, а не ответ. У меня нет представителя).
В ответ вы импортируете charms.reactive? Если вы пишете реактивный брелок, он должен был быть включен для вас уже, если вы сделали charm init
, В противном случае вам может понадобиться добавить import charms.reactive
в верхней части вашего скрипта Python.