Очарование Juju: действие не выполнено: (ImportError: Нет модуля с именем 'charms.reactive') - PullRequest
1 голос
/ 03 мая 2019

Как новичок в juju фреймворке, я предлагаю простое machine развертывание с целью выполнения простого action на нем.

Итак, я создал charm комплект, собрал его и успешно развернул, используя juju.Пакет содержит action, называемый «touch», который принимает на вход строку (т.е. имя файла) и создает файл с таким именем на компьютере.

После того, как машина становится «активной» и когда яперечислите действия на развернутой машине, используя:

juju actions charmLayer

Я получаю список action вместе с его описанием.

Теперь, при выполнении действия «touch» с помощью:

juju run-action charmLayer/0 touch filename="/home/ubuntu/manual.txt"

я получаю следующее сообщение:

Действие, поставленное в очередь с id: 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

Iполучить следующее:

сообщение: состояние выхода 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 DEBUG unit.charmLayer / 0.touch Traceback (последний вызов был последним):

unit-charmLayer-0: 13:23:14 DEBUG unit.charmLayer / 0.touch File "/ var / lib / juju /агенты / 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'

Myвопрос, почему я получаю это ImportError для charms.reactive?

1 Ответ

0 голосов
/ 07 мая 2019

Можете ли вы опубликовать свой код? Мы могли бы помочь, если увидим, как вы сочинили свое очарование. (это должен быть комментарий, а не ответ. У меня нет представителя).

В ответ вы импортируете charms.reactive? Если вы пишете реактивный брелок, он уже должен был быть включен, если вы написали charm init. В противном случае вам может понадобиться добавить import charms.reactive вверху скрипта Python.

...