我的要求是使用 Juju 作为通用 VNF 管理器,并使用 Openstack 作为提供商。我有一个 Openstack 提供商网络,并且我的 VNF 带有基于 Centos 的图像。我创建了一个带有 Ubuntu 14.04.5 LTS 的虚拟机并安装了 Juju 2.0 2.0-beta17-trusty-amd64。
首先,我尝试手动引导来运行我的 Charm 来部署我的 VNF。手动配置到 Centos 机器失败。
现在我尝试使用 OpenStack 进行引导。我的配置文件如下
~/.local/share/juju:
clouds.yaml config.yaml credential.yaml
clouds:
systack:
type: openstack
regions:
RegionOne:
endpoint: http://x.x.x./v2.0
auth-types: [userpass]
我的凭证也正确
credentials:
systack:
default-credential: xxxx
default-region: RegionOne
juju-dev:
auth-type: userpass
password: xxxx
username: xxxx
tenant-name: xxxx
domain-name: default
config.yaml
agent-metadata-url: https://streams.canonical.com/juju/tools/
agent-stream: devel
default-series: centos7
当我启动 Juju 时,它失败并显示以下日志。无法弄清楚出了什么问题。
ubuntu@localhost:~/.local/share/juju$ juju bootstrap openstack systack --config config.yaml --debug
00:14:10 INFO juju.cmd supercommand.go:63 running juju [2.0-beta17 gc go1.6]
00:14:10 INFO cmd cmd.go:141 no credentials found, checking environment
00:14:10 ERROR cmd supercommand.go:458 detecting credentials for "systack" cloud provider: openstack credentials not found
00:14:10 DEBUG cmd supercommand.go:459 (error details: [{github.com/juju/juju/cmd/juju/commands/bootstrap.go:407: } {github.com/juju/juju/cmd/modelcmd/credentials.go:122: detecting credentials for "systack" cloud provider} {github.com/juju/juju/provider/openstack/credentials.go:99: openstack credentials not found}])
答案1
您的凭证文件应该称为凭证s.yaml——请注意,输出中的文件名中缺少 s ls
。
仅供参考,您可以/应该使用一些命令来管理凭据,而这些命令不涉及直接接触文件:
juju add-credential
,它将提示您输入凭证,并更新 credentials.yaml,juju set-default-credential
。