是否可以在调试挂钩窗口中跟踪添加关系挂钩?我需要设置特定的环境变量才能成功吗?
我的 juju-core 版本是 1.13.3。
我想观察 cloud-compute-relation-changed 钩子的实际作用,因为我在尝试在 nova-cloud-controller 和 nova-compute 之间添加关系时看到此失败:
amcet:2013-09-12 20:18:39 INFO juju context.go:221 worker/uniter: HOOK getaddrinfo xxn79: Name or service not known
amcet:2013-09-12 20:18:39 INFO juju server.go:105 worker/uniter/jujuc: running hook tool "juju-log" ["nova-cloud-controller ERROR: nova-cloud-controller: Couldn't obtain SSH host key from xxn79."]
amcet:2013-09-12 20:18:39 DEBUG juju server.go:106 worker/uniter/jujuc: hook context id "nova-cloud-controller/0:cloud-compute-relation-changed:4369123461286104487"; dir "/var/lib/juju/agents/unit-nova-cloud-controller-0/charm"
amcet:2013-09-12 20:18:39 INFO juju juju-log.go:64 nova-cloud-controller/0 cloud-compute:32: nova-cloud-controller ERROR: nova-cloud-controller: Couldn't obtain SSH host key from xxn79.
amcet:2013-09-12 20:18:39 ERROR juju uniter.go:352 worker/uniter: hook failed: exit status 1
amcet:2013-09-12 20:18:39 DEBUG juju modes.go:412 worker/uniter: ModeAbide exiting
amcet:2013-09-12 20:18:39 INFO juju modes.go:410 worker/uniter: ModeHookError starting
执行时,我没有从调试挂钩窗口看到任何真正有意义的输出。
答案1
您应该会在 debug-hooks 窗口中看到有意义的输出。我认为您可能看不到输出的原因有两个:
- 在关系改变后或钩子运行时运行了调试钩子
- 您没有使用正确的单元名称(例如 nova-cloud-controller/0)作为 debug-hooks 参数。
Juju 捕获钩子执行的标准输出并将其记录下来。目前,过滤掉这些输出并不容易,但很快,我们至少可以让它对 grep 友好。
看起来您收到的错误是这样的:
nova-cloud-controller:无法从 xxn79 获取 SSH 主机密钥。
juju debug-log
尚未提供对日志进行过滤的功能,但这是我们的计划。