我通过juju安装了openstack的实验室,在mysql的同一节点上部署了rabbitmq-server,但发现rabbitmq-server
出现了无法解决的hook failed
错误。
因此,我尝试销毁该服务以再次部署它,但没有成功。我试过销毁服务来自juju-gui
并且juju destroy-service rabbitmq-server
它仍然存在。只有单元 rabbitmq-server/0 消失了。
现在服务“生命”陷入“垂死”
rabbitmq-server:魅力:cs:precise/rabbitmq-server-16 暴露:真实生活:垂死关系:集群:-rabbitmq-server
我连接到节点并且在日志目录中没有找到任何与 rabbitmq 相关的日志。但是我发现了这些日志:
/var/log/juju/unit-rabbitmq-server-0.log
2013-12-12 11:16:33 INFO juju.worker.uniter uniter.go:363 committing "stop" hook
2013-12-12 11:16:33 INFO juju.worker.uniter uniter.go:381 committed "stop" hook
2013-12-12 11:16:33 INFO juju.worker.uniter modes.go:421 ModeContinue starting
2013-12-12 11:16:33 INFO juju.worker.uniter modes.go:84 continuing after "stop" hook
2013-12-12 11:16:33 INFO juju.worker.uniter modes.go:421 ModeTerminating starting
2013-12-12 11:16:33 INFO juju.worker.uniter uniter.go:105 unit "rabbitmq-server/0" shutting down: agent should be terminated
2013-12-12 11:16:33 ERROR juju.worker.uniter.filter filter.go:117 tomb: dying
2013-12-12 11:16:33 ERROR juju runner.go:200 worker: fatal "uniter": agent should be terminated
2013-12-12 11:16:33 ERROR juju runner.go:200 worker: fatal "api": agent should be terminated
2013-12-12 11:16:33 INFO juju supercommand.go:286 command finished
有什么办法可以强制将其彻底销毁吗?
答案1
你无法删除该服务,但您可以部署具有相同魅力的新服务:
juju deploy rabbitmq-server rabbitmq
...如果你愿意的话,你甚至可以把它放在同一台机器上:
juju deploy rabbitmq-server rabbitmq --to <machine-id>
...但您可能希望更新您的客户端,并运行:
juju upgrade-juju
...让您的环境运行 1.16.5,其中该错误已得到解决。它不会修复已经处于这种情况的环境,但它会防止新服务再次发生这种情况。
答案2
您需要使用以下方法解决错误:
juju resolved rabbitmq-server/0
(假设这是其单位名称)
...继续越过失败的钩子。您可能需要多次执行此操作,因为该单元在最终清理之前可能还需要运行更多钩子,并且如果其状态非常糟糕,它们也可能会出错。