【问题标题】:Packer + Openstack: DomainID been asked even after providing itPacker + Openstack:即使在提供域ID 之后也会询问它
【发布时间】:2018-08-31 18:33:35
【问题描述】:

我正在尝试将 Packer 与 Openstack 一起使用。我已经正确设置了我的环境变量,但在打包程序验证时仍然出现错误。

我的打包器 json 文件:

{
"builders":[{
"type": "openstack",
"region": "ap-au-1",
"ssh_username": "root",
"image_name": "kris-packer",
"source_image": "4ead4da5-efc8-48ce-bfa9-********",
"flavor": "2"
}]
}

我遇到以下错误:

./packer validate test.json
>>Template validation failed. Errors are shown below.
   Errors validating build 'openstack'. 1 error(s) occurred:
   * You must provide exactly one of DomainID or DomainName to authenticate by Username

根据文档,我在运行打包程序代码之前设置了以下环境变量:

OS_PROJECT_DOMAIN_ID= OS_PROJECT_ID= OS_USER_DOMAIN_ID= OS_IDENTITY_API_VERSION=3 OS_PASSWORD= OS_AUTH_URL= OS_USERNAME=

我也尝试过使用 OS_XXXX_NAME 而不是 OS_XXXX_ID,但仍然收到上述错误。谁能指出可能出了什么问题?

注意:我可以成功运行 openstack image list 之类的命令并通过 CLI 执行其他操作。我遇到的唯一问题是在使用打包程序时。

【问题讨论】:

  • set | egrep '^OS_' 的输出是什么。一定要打乱任何秘密。
  • 嗨@RickardvonEssen,我收到OS_AUTH_URL=https://identity-3.my-url:443/v3 OS_IDENTITY_API_VERSION=3 OS_PASSWORD=mypassword OS_PROJECT_DOMAIN_NAME=hcp03 OS_PROJECT_NAME=project name OS_USERNAME=I323809 OS_USER_DOMAIN_NAME=hcp03

标签: openstack packer keystone


【解决方案1】:

来自包装工documentation

OS_TENANT_NAME 或 OS_TENANT_ID 必须与 Identity v3 一起使用,OS_PROJECT_NAME 和 OS_PROJECT_ID 在 Packer 中无效。

如果您这样做,我希望它会起作用export OS_TENANT_NAME=$OS_PROJECT_NAME

【讨论】:

  • 感谢 Rickard,但我现在遇到了这种错误:* You must provide exactly one of DomainID or DomainName in a Scope with ProjectName
  • 也设置OS_DOMAIN_NAME
  • 刚刚将其标记为正确答案... OS_DOMAIN_NAME 是缺少的链接... :)
猜你喜欢
  • 2021-12-28
  • 2014-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-12
  • 1970-01-01
  • 2017-02-15
相关资源
最近更新 更多