Juju魅力:操作失败:(ImportError:没有名为“ charms.reactive”的模块)

时间:2019-05-03 12:18:06

标签: cloud juju charm

作为juju框架的新手,我正在研究简单的machine部署,旨在对其执行简单的action

因此,我创建了一个charm捆绑包,并使用juju成功地进行了部署。该捆绑软件包含一个名为“触摸”的action,该字符串以字符串(即:文件名)作为输入,并在计算机上创建具有该名称的文件。

计算机变为“活动”状态后,当我使用以下命令列出已部署的计算机中的操作时:

juju actions charmLayer

我将action和它的描述一起列出。

现在,使用以下命令执行“触摸”操作时:

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

我得到以下信息:

  

消息:退出状态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追溯(最近一次通话为最后一次):

     

unit-charmLayer-0:13:23:14调试unit.charmLayer / 0.touch文件“ / var / lib / juju / agents / unit-charmLayer-0 / charm / actions / touch”,第6行,在

     

unit-charmLayer-0:13:23:14从charms.reactive导入主set_flag调试unit.charmLayer / 0.touch

     

unit-charmLayer-0:13:23:14调试unit.charmLayer / 0.touch ImportError:没有名为'charms.reactive'的模块

我的问题是我为什么要为ImportError买到这个charms.reactive

1 个答案:

答案 0 :(得分:0)

您可以发布代码吗?如果我们能够了解您如何构成魅力,我们可能会提供帮助。 (这应该是评论,而不是答案。我没有代表)。

在回答中,您要导入charms.reactive吗?如果您正在编写被动式超级按钮,那么如果您进行了charm init,它应该已经被包括在内。否则,您可能需要在Python脚本的顶部添加import charms.reactive