Juju 移除处于死亡状态的单位,以便我可以重新开始?

Aze*_*ale 5 juju maas ceph

我有使用 Juju 在 MaaS 上运行的机器。其中一些未能部署,因为由于我在配置中设置的(无效)设置,钩子没有运行。在 Jju UI 中,我尝试将它们标记为已解决,然后尝试删除它们(并通过它们变绿然后变红的几个循环重复)。

(我相信做 resolve + remove 会让 juju 不会因为 hook 不工作而卡住,让 juju 摆脱机器。)

现在我的单位似乎卡住并说

    agent-state: error
    agent-state-info: 'hook failed: "install"'
    agent-version: 1.16.0.1
    life: dying
Run Code Online (Sandbox Code Playgroud)

处于 juju 状态。我试过摧毁它们所在的单位和机器。有什么办法可以放弃这些装置并回收正在运行的机器再试一次?

我还尝试在命令行上标记已解决的单位,但我收到了相互矛盾的消息。我得到ERROR cannot set resolved mode for unit "ceph-osd/1": already resolved当我试图将其标记解决,但状态是上面后,当我运行相同的错误消息juju status

    agent-state: error
    agent-state-info: 'hook failed: "install"'
    life: dying
Run Code Online (Sandbox Code Playgroud)

更新:我一两个小时后才回来,发现我遇到问题的一个单位消失了。所以,等待确实奏效了。

Bra*_*iam 1

我发现(快速)杀死它们的唯一方法是破坏环境。

juju destroy-environment
Run Code Online (Sandbox Code Playgroud)

当然,由于从头开始重建环境可能相当剧烈,因此我建议在执行此操作之前等待一段时间。有时,所有钩子只需要一段时间即可完成执行,然后希望服务不再陷入死亡状态。请注意,要真正释放机器,在销毁单元 ( juju destroy-unit) 后,您需要运行juju destroy-machine(使用机器编号)来释放它。请注意,juju destroy-machine不会终止当前充当单元的机器,因此如果单元当前处于死亡状态,则不会释放该单元。

我想您已经开始构建您的环境了。检查机器的日志文件会很有帮助(我也检查它们,但不是为了找出它们没有死掉的原因,而是为了找出它们没有完成的原因)。