Очарование 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.

Другие вопросы по тегам