Terraform Vcloud 提供程序在使用 Terraform 计划时崩溃
Terraform Vcloud provider is crashing when using terraform plan
我正在尝试使用 terraform 在 Vcloud 中自动部署 VM。
我使用的服务器没有互联网连接,所以我不得不离线安装 terraform 和 VCD 提供程序。
Terrafom init 工作但是当我使用 terraform plan 时崩溃了......
地形版本:1.0.11
VCD提供商版本:3.2.0(我使用这个版本是因为我们有vcloud 9.7)。
这是一个测试脚本,看看 terraform 是否有效
terraform {
required_providers {
vcd = {
source = "vmware/vcd"
version = "3.2.0"
}
}
}
provider "vcd" {
user = "test"
password = "test"
url = "https://test/api"
auth_type = "integrated"
vdc = "Org1VDC"
org = "System"
max_retry_timeout = "60"
allow_unverified_ssl = "true"
}
resource "vcd_org_user" "my-org-admin" {
org = "my-org"
name = "my-org-admin"
description = "a new org admin"
role = "Organization Administrator"
password = "change-me"
}
当我 运行 terraform plan 我得到以下错误:
Error: Plugin did not respond
...
The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ConfigureProvider call. The plugin logs may contain more details
Stack trace from the terraform-provider-vcd_v3.2.0 plugin:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xaf3b75]
...
Error: The terraform-provider-vcd_v3.2.0 plugin crashed!
在日志中,我可以看到提供程序正在尝试连接到 github 的大量 DEBUG 消息。 provider.terraform-provider-vcd_v3.2.0: github.com/vmware/go-vcloud-director/v2/govcd.(*VCDClient).Authenticate(...)
对于错误消息,我只看到 2:
- plugin.(*GRPCProvider).ConfigureProvider: error="rpc error: code = Unavailable desc = transport is closing"
- 无法读取插件锁定文件。terraform/plugins/linux_amd64/lock。json:打开。terraform/plugins/linux_amd64/lock。json:没有这样的文件或目录
这是我第一次离线配置 Terraform 并使用 VCD 提供程序。
我错过了什么吗?
我找到问题了。
在 URL 时,我使用的是 Vcloud api 的 IP 地址,但出于某种原因,terraform 不喜欢这样并导致崩溃,在更改为 FQDN 后,terraform 再次开始工作。
亲切的问候
我正在尝试使用 terraform 在 Vcloud 中自动部署 VM。 我使用的服务器没有互联网连接,所以我不得不离线安装 terraform 和 VCD 提供程序。 Terrafom init 工作但是当我使用 terraform plan 时崩溃了...... 地形版本:1.0.11 VCD提供商版本:3.2.0(我使用这个版本是因为我们有vcloud 9.7)。 这是一个测试脚本,看看 terraform 是否有效
terraform {
required_providers {
vcd = {
source = "vmware/vcd"
version = "3.2.0"
}
}
}
provider "vcd" {
user = "test"
password = "test"
url = "https://test/api"
auth_type = "integrated"
vdc = "Org1VDC"
org = "System"
max_retry_timeout = "60"
allow_unverified_ssl = "true"
}
resource "vcd_org_user" "my-org-admin" {
org = "my-org"
name = "my-org-admin"
description = "a new org admin"
role = "Organization Administrator"
password = "change-me"
}
当我 运行 terraform plan 我得到以下错误:
Error: Plugin did not respond
...
The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ConfigureProvider call. The plugin logs may contain more details
Stack trace from the terraform-provider-vcd_v3.2.0 plugin:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xaf3b75]
...
Error: The terraform-provider-vcd_v3.2.0 plugin crashed!
在日志中,我可以看到提供程序正在尝试连接到 github 的大量 DEBUG 消息。 provider.terraform-provider-vcd_v3.2.0: github.com/vmware/go-vcloud-director/v2/govcd.(*VCDClient).Authenticate(...) 对于错误消息,我只看到 2:
- plugin.(*GRPCProvider).ConfigureProvider: error="rpc error: code = Unavailable desc = transport is closing"
- 无法读取插件锁定文件。terraform/plugins/linux_amd64/lock。json:打开。terraform/plugins/linux_amd64/lock。json:没有这样的文件或目录
这是我第一次离线配置 Terraform 并使用 VCD 提供程序。 我错过了什么吗?
我找到问题了。 在 URL 时,我使用的是 Vcloud api 的 IP 地址,但出于某种原因,terraform 不喜欢这样并导致崩溃,在更改为 FQDN 后,terraform 再次开始工作。
亲切的问候