我想测试 MAAS + JUJU + OpenStack(我遵循了 maas.ubuntu.org 上的文档)
我已经搭建了一个测试环境:
- 1 个 MAAS 服务器,也将运行 JuJu
- 适用于 Openstack 的 10 个 KVM 服务器
KVM 服务器在 MAAS 中已处于“就绪”状态。
我想设置 JuJu 但是我无法设置,这让我很抓狂。
我的环境.yaml:
environments:
maassrv:
type: maas
maas-server: 'http://${192.168.1.116}/MAAS/'
maas-oauth: 'my-key-from-maas'
authorized-keys-path: /root/.ssh/id_rsa.pub
admin-secret: 1234
default-series: trusty
当我跑步时juju status -e maassrv
:
ERROR Unable to connect to environment "maassrv".
Please check your credentials or use 'juju bootstrap' to create a new environment.
Error details:
environment "maassrv" not found
好的,这是正确的,所以我应该运行juju bootstrap -e maassrv
:
ERROR environment "maassrv" not found
当我运行不带 -e 开关的命令时:
error: no environment specified
所以,我被困在这里,我已经将所需的 ssh 密钥添加到 maas。我不知道它为什么不起作用。
我在配置文件中没有使用“${}”格式(论坛不允许我在没有它的情况下发布该行 :) )。因此,它看起来正是您建议修改的。
当我跑步时 juju bootstrap -e maas --debug
2014-06-10 08:34:11 INFO juju.cmd supercommand.go:302 running juju-1.18.4-trusty-amd64 [gc]
2014-06-10 08:34:11 ERROR juju.cmd supercommand.go:305 environment "maas" not found
juju status -e maas --debug 给我这个,这没问题,没有 maas 环境......但我无法创建......这是一个陷阱:)
2014-06-10 08:39:09 INFO juju.cmd supercommand.go:302 running juju-1.18.4-trusty-amd64 [gc]
2014-06-10 08:39:09 DEBUG juju api.go:179 no cached API connection settings found
2014-06-10 08:39:09 ERROR juju.cmd supercommand.go:305 Unable to connect to environment "maas".
Please check your credentials or use 'juju bootstrap' to create a new environment.
Error details:
environment "maas" not found
Follow up:
我设法运行了juju bootstrap
(必须创建一个 maas 用户)。该命令再次失败,因此我不得不运行
juju sync-tools --show-log
然后重新运行juju bootstrap
,但再次失败
症状:当我运行时,juju bootstrap
它会选择一台随机机器,例如:maas-10,启动该机器并安装操作系统,然后将其关闭并给我以下结果:
DEBUG juju.utils.ssh ssh_openssh.go:122 running: ssh -o "StrictHostKeyChecking no" -o "PasswordAuthentication no" -i /home/maas/.juju/ssh/juju_id_rsa -i /home/maas/.ssh/id_rsa [email protected] /bin/bash
ERROR juju.provider.common bootstrap.go:123 bootstrap failed: waited for 10m0s without being able to connect:
Permission denied (publickey,password).
Stopping instance...
INFO juju.cmd cmd.go:113 Bootstrap failed, destroying environment
INFO juju.provider.common destroy.go:14 destroying environment "maas"
ERROR juju.cmd supercommand.go:305 waited for 10m0s without being able to connect:
Permission denied (publickey,password).`
很奇怪,我添加了maas
用户的公钥,MAAS API
所以应该没问题。在安装过程中,安装的服务器应该导入密钥吗?!
答案1
尝试从 maas-server 地址中删除 ${}。它应该看起来像:
maassrv:
type: maas
maas-server: 'http://192.168.1.116/MAAS/'
maas-oauth: 'your-key-from-maas'
admin-secret: 1234
default-series: trusty
authorized-keys-path: /root/.ssh/id_rsa.pub
如果失败,请使用 --debug 运行 juju 并将输出粘贴到您的问题中。例如juju bootstrap -e maassrv --debug