我如何调试 juju hooks?

我如何调试 juju hooks?

我尝试安装 Discourse魔力魅力,但由于某些 GPG 问题,安装挂钩失败。我尝试使用以下命令进行调试:

juju debug-hooks discourse/0 install

但是启动这个 shell 的文件夹 ( ~) 没有hooks子文件夹,因为文档状态。更重要的是,当我手动导航到/var/lib/juju/agents/unit-discourse-0/charm/并从那里运行钩子时,使用

./hooks/install

我收到有关未设置环境变量(如$CHARM_DIR)和命令不可用(如config-get)的错误。关键是,脚本甚至没有到达之前失败的 GPG 内容,它在第一行就失败了。

这可能是什么原因造成的?是我对文档的误解,还是 juju 中的错误?

答案1

问题可能是您的调试会话没有及时捕获安装钩子失败(https://jujucharms.com/docs/stable/developer-debugging#debugging-early-hooks)。在这种情况下,打开的调试终端只是在等待监视的钩子激活(您会得到一个钩子事件的新窗口,提示将反映钩子的名称)。文档中介绍了这一点。当您尝试手动运行钩子时,随后会出现错误,因为钩子需要从钩子环境中运行才能访问运行时环境变量。

您可以修改安装挂钩(如上面的链接所述),或者可能只需查看日志就可以推断出发生了什么:

https://jujucharms.com/docs/stable/developer-debugging#the-%27debug-log%27-command

相关内容