DomainID or DomainName validation is inconsistent

未关闭
#63 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
42/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
go
领域
cloud

调研方向

使用提供的 test.pkr.hcl 和 packer validate 重现验证行为,比较 domain_id、domain_name、token 和 OS_DOMAIN_ID 的情况。跟踪产生两个冲突错误的验证入口点,并为这些配置添加或更新覆盖率。当等效配置获得一致且正确的验证结果时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

bug
Overview of the Issue

Using hashicorp/packer container with a HCL file that contains token:

  • Setting domain_id (without domain_name) ask to remove it because is not required while using token
  • If neither domain_name or domain_id is used then error asking for one of them
  • If neither domain_name or domain_id is used but OS_DOMAIN_ID env var exported then is OK
Reproduction Steps
packer validate test.pkr.hcl

If domain_id = "default" + token = '...' then:

packer validate vault-raft.pkr.hcl
Error: 1 error(s) occurred:
* DomainID may not be provided when authenticating with a TokenID
  on vault-raft.pkr.hcl line 1:
  (source code not available)

If #domain_id = "default" = token = '...' then:

Error: 1 error(s) occurred:
* You must provide exactly one of DomainID or DomainName in a Scope with ProjectName
  on vault-raft.pkr.hcl line 1:
  (source code not available)

If #domain_id = "default" = token = '...' + export OS_DOMAIN_ID=default then:

The configuration is valid.
Plugin and Packer version
packer version
Packer v1.8.0
Simplified Packer Buildfile

test.pkr.hcl file:

source "openstack" "hello" {
  #domain_id                 = "default"
  token                     = "TheRealTokenWasHere"
  identity_endpoint         = "https://auth.cloud.ovh.net/v3"
  image_name                = "debian-hello-test"
  source_image_name         = "Debian 11"
  flavor                    = "s1-2"
  tenant_name               = "TheTenantNameWasHere"
  region                    = "GRA7"
  ssh_username              = "debian"
  networks                   = ["TheNetworkIdWasHere"]
}
build {
  sources = ["source.openstack.hello"]
  provisioner "shell" {
      execute_command = "sudo -S sh -c '{{ .Vars }} {{ .Path }}'"
      scripts         = fileset(".", "scripts/{install,secure}.sh")
  }
}
Operating system and Environment details

Docker image hashicorp/packer running in GitlabCI runner ignoring the entrypoint

Also tested in a Debian 11 laptop running the same Packer version.

主要语言
Go
星标
29
派生
27
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

hashicorp/packer-plugin-openstack 的其他 Issue

查看 hashicorp/packer-plugin-openstack 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。