我们有一个可以运行的 openstack (grizzly) 云,并且想要配置 juju 来与它配合使用。我关注https://help.ubuntu.com/community/UbuntuCloudInfrastructure。但我在 horizon/settings 页面中找不到“Juju 环境配置”(只有用户设置可用)。API Endpoints 具有以下服务:
计算 网络 图像 体积 EC2 身份
我还可以下载 OPenStack RC 文件和 EC2 凭证
,但我应该在 environment.yaml 中放些什么?
尝试引导时出现错误:
错误:无法从容器 juju-aced10adfad7e3020fbc207e0d70aee6 获取对象提供程序状态 原因:身份验证失败 原因:执行请求 https://:/v2.0//tokens 失败 引起原因:Post https://:/v2.0//tokens: 本地错误:记录溢出
我从 API Endpoints 以及 OpenStack RC 文件中获得了正确的 auth_url。
答案1
关于您的设置的一些观察:
- 不幸的是,你所遵循的指南已经过时,并且在某些地方不正确。它提到使用 Python 版本的咒咒,不是当前支持和维护的juju-core。
- 尝试删除您的
environments.yaml
,~/.juju
并确保删除任何~/.juju/environments/*.jenv
(请注意,如果您删除.jenv' file of a running environment, you are effectively cutting your access to that cloud from Juju). Then, run
juju init, which will generate you a boilerplate
environment.yaml`,其中包含带注释的大多数受支持的提供商/云特定配置设置集,根据需要进行注释以指示它们的默认值(如果有)。 - 这是一个非常好的导游设置 Juju OpenStack 环境。
- 您不需要使用与 EC2 兼容的 API 和凭证,只需要使用 OpenStack 的凭证,与您用于登录 horizon 或通过 nova 客户端的凭证相同。
- 使用类似建议的 OpenStack RC 文件的文件,Juju 可以采用最少的配置,并通过导出的环境变量获取所有其他设置。