丢失 Juju 配置后重置 MAAS?

丢失 Juju 配置后重置 MAAS?

我设法在未运行任何操作的情况下删除了我的 Juju 客户端配置juju destroy-environment,导致我的 MaaS 处于无法部署的状态。

我会得到以下(冲突的)输出

$ juju bootstrap
ERROR environment is already bootstrapped
$ juju status
ERROR Unable to connect to environment "".
Please check your credentials or use 'juju bootstrap' to create a new environment.

Error details:
no instances found

因此,我尝试juju destroy-environment使用新配置运行,看看它是否会清理 MaaS 系统上的旧 Juju 环境。它给了我错误“ERROR gomaasapi:从服务器返回错误:409 CONFLICT”。

我进入 MaaS GUI 并停止了剩余的机器,然后删除了所有节点,然后再次经历了发现和调试阶段,但之后仍然出现相同的错误!

有办法重置它吗?

答案1

删除/清除/重新启用节点不会清除旧的 Juju 设置。这是因为 MaaS 存储文件,其中一些文件包括 Juju 引导状态。

要重置它,您需要运行:

maas-cli login root http://<your_MaaS_server_hostname>/MAAS/
maas-cli root files list

这将列出 Juju 存储在 MaaS 服务器上的文件。查看列出的任何文件是否有文件名bootstrap-verifyprovider-state。如果是,请运行以下命令删除文件并将 MaaS 重置为“非引导”状态:

maas-cli root file delete bootstrap-verify
maas-cli root file delete provider-state

运行juju status。如果它给出一个错误,表明它没有引导,只需运行juju bootstrap,您就可以开始了。如果它给出其他错误,表明它认为它已部署但找不到文件或某些东西,则删除该文件夹~/.juju/environments/(也许备份它以防万一),然后运行juju bootstrap​​。

(看我找到解决方案的 IRC 日志

答案2

在带有 Openstack IceHouse 的 Ubuntu 14.04Lts 中,我已解决删除路径 .juju/ 中的目录“enviroments”和“ssh”的问题

rm .juju/environments
rm .juju/ssh

并重新启动命令

$: juju sync-tools -e maas
$: juju bootstrap --upload-tools -e maas --debug

相关内容