我在安装 Juju 和引导时遇到了问题。我已设置 Swift 存储,并且已创建新存储桶。工具已同步,一切正常。
然而,当我尝试引导时,出现错误:“无法启动引导实例:没有“RegionOne 中带有拱门的精确图像”。
在另一个存储桶 [Glance] 中,我确实在其中安装了 Percise AMD64 映像。我甚至添加了“公共存储桶网址”行。但是,juju 仍然遇到同样的问题。
错误:
juju -v bootstrap
2013-07-31 22:08:05 INFO juju provider.go:115 environs/openstack: opening environment "openstack"
2013-07-31 22:08:06 INFO juju provider.go:417 environs/openstack: bootstrapping environment "openstack"
2013-07-31 22:08:16 INFO juju tools.go:26 environs: reading tools with major version 1
2013-07-31 22:08:16 INFO juju tools.go:53 environs: filtering tools by series: precise
2013-07-31 22:08:16 INFO juju tools.go:76 environs: picked newest version: 1.10.0
2013-07-31 22:08:28 ERROR juju supercommand.go:235 command failed: cannot start bootstrap instance: no "precise" images in RegionOne with arches [amd64 i386]
error: cannot start bootstrap instance: no "precise" images in RegionOne with arches [amd64 i386]
我使用的版本是:1.11.4-raring-amd64
我的整个环境文件是:[我删除了有关 MAAS、亚马逊和本地的所有内容]
default: openstack
environments:
openstack:
type: openstack
admin-secret: f[...]2
control-bucket: juj[..]2a
auth-url: http://127.0.0.1:5000/v2.0/
# default-series: precise
auth-mode: userpass
username: admin
password: [XXXX]
tenant-name: admin
region: RegionOne
public-bucket-url: https://swift.canonistack.canonical.com/v1/AUTH_526ad877f3e3464589dc1145dfeaac60
答案1
您需要为您的云创建一个 simplestreams 文件。目前最简单的方法是使用 juju image-metadata 命令。
根据您的 juju-core 版本,它将是juju image-metadata
或juju-metadata generate-image
。参数是相同的,我希望它们是不言自明的。您可以openrc.sh
在运行文件之前获取文件,它将从环境中获取大多数参数。
您需要将图片上传到云端。查看命令的输出glance list
并选择一个精确的64位图像。
metadata 命令将为您提供两个文件:index.json 和 imagemetadata.json。您需要将它们上传到名为 juju-dist 的存储桶和名为 streams/v1 的路径。如下所示:
首先,创建存储桶:
swift post juju-dist
现在赋予它适当的 ACL:
swift post juju-dist -r '.r:*'
现在上传生成的文件:
swift upload juju-dist/streams/v1 imagemetadata.json index.json
现在将你的public-bucket-uri
配置参数从你的 environment.yaml 文件指向你的对象存储 URL。要找到它,请运行并在块中keystone catalog
查找地址。这就是你将放入 juju配置参数中的内容。publicURL
Service: object-store
public-bucket-url
现在您应该能够使用精确的 64 位图像(series: precise
在您的environments.yaml
文件中使用)来引导 juju,假设您已经处理好了这些工具。
更多信息:
答案2
请确认您已经安装了该python-glanceclient
软件包。否则,juju
无法找到图像。