销毁相关服务之一后,如何删除 Juju 中的关系?

销毁相关服务之一后,如何删除 Juju 中的关系?

我正在试用 Juju,在试用期间我创建了一项服务、Django 和 Mongodb。我将它们关联起来,然后销毁了 mongodb。现在我的 Django 服务处于错误状态:agent-state-info:“hook failed: “relation-broken””。我尝试销毁关系,但无济于事juju destroy-relation python-django mongodb。Mongodb 仍处于 juju 状态,但处于“垂死”状态,距离我销毁它已经过去了几个小时。我还没有对这项服务进行任何实际工作,因此我可以销毁它并从头开始,但在学习的同时,我想知道是否有更简洁的方法来解决这种情况。

答案1

首先,令人烦恼的“事后看来”部分。在销毁服务之前删除关系始终是一个好主意:https://jujucharms.com/docs/stable/charms-destroy

一旦机器处于错误状态,Juju 将不会处理该服务的任何钩子 - 即使是销毁它的钩子。这是为了防止潜在的数据丢失。但是有一种机制可以将机器恢复到响应状态:

juju resolved <machine identifier>

例如

juju resolved mongodb/0

这将重新启用该机器/服务的钩子执行。然后就可以:

juju destroy-relation mongodb django
juju destroy-service mongodb
juju destroy-service django

相关内容