Telmate / terraform-provider-proxmox

Terraform provider plugin for proxmox
MIT License
2.19k stars 531 forks source link

Plugin Crashed #718

Closed justinKocian closed 1 year ago

justinKocian commented 1 year ago

Plugin crashed

Trying to run a test to create an ubuntu focal 22.04 template in Proxmox and saw this error. Double checked my configs and couldn't find anything other than a plugin error to be the issue.

Terraform: v1.3.9 Telmate/Proxmox: v2.9.3

I've also tried v2.8.0 and 2.9.2-2.9.0 and I still get the same result.

Output from the error:

**Error**: Plugin did not respond
│
│   with proxmox_vm_qemu.ubuntu-focal-docker[0],
│   on ubuntu-server-templates.tf line 1, in resource "proxmox_vm_qemu" "ubuntu-focal-docker":
│    1: resource "proxmox_vm_qemu" "ubuntu-focal-docker" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵

Stack trace from the terraform-provider-proxmox_v2.9.3 plugin:

panic: interface conversion: interface {} is nil, not []interface {}

goroutine 59 [running]:
github.com/Telmate/proxmox-api-go/proxmox.(*Client).GetVmRefsByName(0xc0002e41e0, 0xc000034240, 0x13, 0x1, 0x1, 0x0, 0x0, 0xc000130200)
        github.com/Telmate/proxmox-api-go@v0.0.0-20211123192920-062fd1a6ab10/proxmox/client.go:190 +0x845
github.com/Telmate/proxmox-api-go/proxmox.(*Client).GetVmRefByName(...)
        github.com/Telmate/proxmox-api-go@v0.0.0-20211123192920-062fd1a6ab10/proxmox/client.go:180
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc00046dd80, 0xbc5cc0, 0xc0002e4230, 0xc, 0xffffffffffffffff)
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:738 +0x1886
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xc0002b4460, 0xe0a8b8, 0xc000175540, 0xc00046dd80, 0xbc5cc0, 0xc0002e4230, 0x0, 0x0, 0x0)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.9.0/helper/schema/resource.go:329 +0x1ee
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0002b4460, 0xe0a8b8, 0xc000175540, 0xc0005292b0, 0xc00046db80, 0xbc5cc0, 0xc0002e4230, 0x0, 0x0, 0x0, ...)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.9.0/helper/schema/resource.go:467 +0x67b
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc0002240c0, 0xe0a8b8, 0xc000175540, 0xc0002e49b0, 0xc000175540, 0xcd0560, 0xc0002ce900)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.9.0/helper/schema/grpc_provider.go:977 +0xacf
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc000494360, 0xe0a960, 0xc000175540, 0xc000386a80, 0xc000494360, 0xc0002ce9f0, 0xc0001bbba0)
        github.com/hashicorp/terraform-plugin-go@v0.4.0/tfprotov5/tf5server/server.go:332 +0xb5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler(0xcd0560, 0xc000494360, 0xe0a960, 0xc0002ce9f0, 0xc00036e4e0, 0x0, 0xe0a960, 0xc0002ce9f0, 0xc000416a80, 0xa41)
        github.com/hashicorp/terraform-plugin-go@v0.4.0/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:380 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0001fc540, 0xe12198, 0xc00050a900, 0xc0000b1e60, 0xc0006065a0, 0x1251e00, 0x0, 0x0, 0x0)
        google.golang.org/grpc@v1.42.0/server.go:1282 +0x52b
google.golang.org/grpc.(*Server).handleStream(0xc0001fc540, 0xe12198, 0xc00050a900, 0xc0000b1e60, 0x0)
        google.golang.org/grpc@v1.42.0/server.go:1616 +0xd0c
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc0002283a0, 0xc0001fc540, 0xe12198, 0xc00050a900, 0xc0000b1e60)
        google.golang.org/grpc@v1.42.0/server.go:921 +0xab
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.42.0/server.go:919 +0x1fd

Error: The terraform-provider-proxmox_v2.9.3 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.
AntonioBriPerez commented 1 year ago

Have you got an HDD or similar attached to the VM? The plugin crash everytime if you have it. The solution is to dettached it maunally and then run terraform plan again.

justinKocian commented 1 year ago

Thanks for the response. Just to clarify - do you mean it crashes if I have a disk in the .tf file? Or it crashes if there is a HDD attached to the proxmox template?

I've removed the HDD attached to the template, and still see a crash every time. Same result if I comment out the disk in the .tf file. Any other suggestions? I had it working at one point, and now - even using the exact same files - I can't get it to work.

AntonioBriPerez commented 1 year ago

I meant if you have it attached to the VM (not just the template).

mleone87 commented 1 year ago

try latest version please

AntonioBriPerez commented 1 year ago

Hello @mleone87 , thanks for your reply but terraform is still crashing for this problem.

PS C:\Users\anton\git_repos\proxmox-terraform> terraform init -upgrade

Initializing the backend...

Initializing provider plugins...
- Finding telmate/proxmox versions matching "2.9.14"...
- Installing telmate/proxmox v2.9.14...
- Installed telmate/proxmox v2.9.14 (self-signed, key ID A9EBBE091B35AFCE)

Partner and community providers are signed by their developers.
If you'd like to know more about provider signing, you can read about it here:
https://www.terraform.io/docs/cli/plugins/signing.html

Terraform has made some changes to the provider dependency selections recorded
PS C:\Users\anton\git_repos\proxmox-terraform> terraform plan
proxmox_vm_qemu.wireguard-server[0]: Refreshing state... [id=torre-linux/qemu/102]
proxmox_vm_qemu.samba-server[0]: Refreshing state... [id=torre-linux/qemu/100]
proxmox_vm_qemu.plex-server[0]: Refreshing state... [id=torre-linux/qemu/101] 
╷
│ Error: Plugin did not respond
│ 
│   with proxmox_vm_qemu.plex-server[0],
│   on plex-server.tf line 1, in resource "proxmox_vm_qemu" "plex-server":
│    1: resource "proxmox_vm_qemu" "plex-server" {
│ 
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.samba-server[0],
│   on samba.tf line 1, in resource "proxmox_vm_qemu" "samba-server":
│    1: resource "proxmox_vm_qemu" "samba-server" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.      
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.wireguard-server[0],
│   on wire-guard.tf line 1, in resource "proxmox_vm_qemu" "wireguard-server":
│    1: resource "proxmox_vm_qemu" "wireguard-server" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.      
╵

Stack trace from the terraform-provider-proxmox_v2.9.14.exe plugin:

panic: interface conversion: interface {} is nil, not string

goroutine 78 [running]:
github.com/Telmate/terraform-provider-proxmox/proxmox._resourceVmQemuRead(0xc0005bc380, {0x1208680?, 0xc00048f9a0})
google.golang.org/grpc.(*Server).handleStream(0xc0003fa000, {0x148e3e0, 0xc000484340}, 0xc000356120, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        google.golang.org/grpc@v1.53.0/server.go:965 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-proxmox_v2.9.14.exe plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

Those samba and plex servers are the machines that have an HDD attached to them. I attach this HDD with this command from an ansible Playbook: /sbin/qm set "{{ hostvars['plex']['vm_id'] }}" -virtio2 /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F4C8RS-part2

mleone87 commented 1 year ago

thanks, pretty sure that device passthrough is not handled well

AntonioBriPerez commented 1 year ago

Hello @mleone87 , have you got any update on this? I paste here the debug trace error of the plan:

PS C:\Users\anton\git_repos\proxmox-terraform> terraform plan                  
2023-03-25T17:01:43.309+0100 [INFO]  Terraform version: 1.3.9
2023-03-25T17:01:43.346+0100 [DEBUG] using github.com/hashicorp/go-tfe v1.9.0
2023-03-25T17:01:43.346+0100 [DEBUG] using github.com/hashicorp/hcl/v2 v2.16.0
2023-03-25T17:01:43.346+0100 [DEBUG] using github.com/hashicorp/terraform-config-inspect v0.0.0-20210209133302-4fd17a0faac2
2023-03-25T17:01:43.346+0100 [DEBUG] using github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734
2023-03-25T17:01:43.346+0100 [DEBUG] using github.com/zclconf/go-cty v1.12.1
2023-03-25T17:01:43.347+0100 [INFO]  Go runtime version: go1.19.6
2023-03-25T17:01:43.347+0100 [INFO]  CLI args: []string{"C:\\ProgramData\\chocolatey\\lib\\terraform\\tools\\terraform.exe", "plan"}
2023-03-25T17:01:43.353+0100 [DEBUG] Attempting to open CLI config file: C:\Users\anton\AppData\Roaming\terraform.rc
2023-03-25T17:01:43.353+0100 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2023-03-25T17:01:43.354+0100 [DEBUG] ignoring non-existing provider search directory terraform.d/plugins
2023-03-25T17:01:43.355+0100 [DEBUG] ignoring non-existing provider search directory C:\Users\anton\AppData\Roaming\terraform.d\plugins
2023-03-25T17:01:43.357+0100 [DEBUG] ignoring non-existing provider search directory C:\Users\anton\AppData\Roaming\HashiCorp\Terraform\plugins
2023-03-25T17:01:43.357+0100 [INFO]  CLI command args: []string{"plan"}
2023-03-25T17:01:43.363+0100 [DEBUG] New state was assigned lineage "37726a09-8f71-452f-8520-f3db6d3530d4"
2023-03-25T17:01:43.427+0100 [DEBUG] checking for provisioner in "."
2023-03-25T17:01:43.428+0100 [DEBUG] checking for provisioner in "C:\\ProgramData\\chocolatey\\lib\\terraform\\tools"
2023-03-25T17:01:43.431+0100 [INFO]  backend/local: starting Plan operation
2023-03-25T17:01:43.441+0100 [DEBUG] created provider logger: level=debug
2023-03-25T17:01:43.441+0100 [INFO]  provider: configuring client automatic mTLS
2023-03-25T17:01:43.467+0100 [DEBUG] provider: starting plugin: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe args=[.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe]
2023-03-25T17:01:43.473+0100 [DEBUG] provider: plugin started: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=2752
2023-03-25T17:01:43.473+0100 [DEBUG] provider: waiting for RPC address: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe
2023-03-25T17:01:43.533+0100 [INFO]  provider.terraform-provider-proxmox_v2.9.14.exe: configuring server automatic mTLS: timestamp=2023-03-25T17:01:43.494+0100
2023-03-25T17:01:43.557+0100 [DEBUG] provider: using plugin: version=5
2023-03-25T17:01:43.557+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2023-03-25T17:01:43.557+0100
2023-03-25T17:01:43.584+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-03-25T17:01:43.615+0100 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=2752
2023-03-25T17:01:43.616+0100 [DEBUG] provider: plugin exited
2023-03-25T17:01:43.616+0100 [DEBUG] Building and walking validate graph
2023-03-25T17:01:43.617+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.samba-server" (*terraform.NodeValidatableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.617+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.linux-ws-server" (*terraform.NodeValidatableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.617+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.plex-server" (*terraform.NodeValidatableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.618+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.wireguard-server" (*terraform.NodeValidatableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.619+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.linux-ws-server" references: []
2023-03-25T17:01:43.619+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_url" references: []
2023-03-25T17:01:43.619+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_token_id" references: []
2023-03-25T17:01:43.620+0100 [DEBUG] ReferenceTransformer: "output.mac_address_linux_server (expand)" references: [proxmox_vm_qemu.linux-ws-server]
2023-03-25T17:01:43.620+0100 [DEBUG] ReferenceTransformer: "output.ip_address_samba_server (expand)" references: [proxmox_vm_qemu.samba-server]
2023-03-25T17:01:43.620+0100 [DEBUG] ReferenceTransformer: "output.mac_address_samba_server (expand)" references: [proxmox_vm_qemu.samba-server]
2023-03-25T17:01:43.621+0100 [DEBUG] ReferenceTransformer: "output.ip_address_wireguard_server (expand)" references: [proxmox_vm_qemu.wireguard-server]
2023-03-25T17:01:43.621+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.plex-server" references: []
2023-03-25T17:01:43.621+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.wireguard-server" references: []
2023-03-25T17:01:43.621+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_token_secret" references: []
2023-03-25T17:01:43.622+0100 [DEBUG] ReferenceTransformer: "provider[\"registry.terraform.io/telmate/proxmox\"]" references: [var.proxmox_api_url var.proxmox_api_token_id var.proxmox_api_token_secret]
2023-03-25T17:01:43.622+0100 [DEBUG] ReferenceTransformer: "output.ip_address_linux_server (expand)" references: [proxmox_vm_qemu.linux-ws-server]
2023-03-25T17:01:43.623+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.samba-server" references: []
2023-03-25T17:01:43.623+0100 [DEBUG] ReferenceTransformer: "output.ip_address_plex_server (expand)" references: [proxmox_vm_qemu.plex-server]
2023-03-25T17:01:43.623+0100 [DEBUG] ReferenceTransformer: "output.mac_address_plex_server (expand)" references: [proxmox_vm_qemu.plex-server]
2023-03-25T17:01:43.623+0100 [DEBUG] ReferenceTransformer: "output.mac_address_wireguard_server (expand)" references: [proxmox_vm_qemu.wireguard-server]
2023-03-25T17:01:43.625+0100 [DEBUG] Starting graph walk: walkValidate
2023-03-25T17:01:43.626+0100 [DEBUG] created provider logger: level=debug
2023-03-25T17:01:43.626+0100 [INFO]  provider: configuring client automatic mTLS
2023-03-25T17:01:43.639+0100 [DEBUG] provider: starting plugin: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe args=[.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe]
2023-03-25T17:01:43.644+0100 [DEBUG] provider: plugin started: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=3548
2023-03-25T17:01:43.645+0100 [DEBUG] provider: waiting for RPC address: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe
2023-03-25T17:01:43.699+0100 [INFO]  provider.terraform-provider-proxmox_v2.9.14.exe: configuring server automatic mTLS: timestamp=2023-03-25T17:01:43.665+0100
2023-03-25T17:01:43.730+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: plugin address: address=127.0.0.1:10000 network=tcp timestamp=2023-03-25T17:01:43.730+0100
2023-03-25T17:01:43.730+0100 [DEBUG] provider: using plugin: version=5
2023-03-25T17:01:43.770+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-03-25T17:01:43.785+0100 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=3548
2023-03-25T17:01:43.785+0100 [DEBUG] provider: plugin exited
2023-03-25T17:01:43.786+0100 [INFO]  backend/local: plan calling Plan
2023-03-25T17:01:43.786+0100 [DEBUG] Building and walking plan graph for NormalMode
2023-03-25T17:01:43.787+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.samba-server (expand)" (*terraform.nodeExpandPlannableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.787+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.wireguard-server (expand)" (*terraform.nodeExpandPlannableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.787+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.linux-ws-server (expand)" (*terraform.nodeExpandPlannableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.787+0100 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.plex-server (expand)" (*terraform.nodeExpandPlannableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-03-25T17:01:43.788+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.plex-server (expand)" references: []
2023-03-25T17:01:43.789+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.samba-server (expand)" references: []
2023-03-25T17:01:43.789+0100 [DEBUG] ReferenceTransformer: "output.mac_address_samba_server (expand)" references: [proxmox_vm_qemu.samba-server (expand)]
2023-03-25T17:01:43.789+0100 [DEBUG] ReferenceTransformer: "output.mac_address_wireguard_server (expand)" references: [proxmox_vm_qemu.wireguard-server (expand)]   
2023-03-25T17:01:43.789+0100 [DEBUG] ReferenceTransformer: "provider[\"registry.terraform.io/telmate/proxmox\"]" references: [var.proxmox_api_token_secret var.proxmox_api_url var.proxmox_api_token_id]
2023-03-25T17:01:43.789+0100 [DEBUG] ReferenceTransformer: "output.mac_address_plex_server (expand)" references: [proxmox_vm_qemu.plex-server (expand)]
2023-03-25T17:01:43.790+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.wireguard-server (expand)" references: []
2023-03-25T17:01:43.790+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_token_id" references: []
2023-03-25T17:01:43.790+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_token_secret" references: []
2023-03-25T17:01:43.791+0100 [DEBUG] ReferenceTransformer: "output.ip_address_samba_server (expand)" references: [proxmox_vm_qemu.samba-server (expand)]
2023-03-25T17:01:43.791+0100 [DEBUG] ReferenceTransformer: "output.ip_address_linux_server (expand)" references: [proxmox_vm_qemu.linux-ws-server (expand)]
2023-03-25T17:01:43.791+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.linux-ws-server (expand)" references: []
2023-03-25T17:01:43.791+0100 [DEBUG] ReferenceTransformer: "output.ip_address_wireguard_server (expand)" references: [proxmox_vm_qemu.wireguard-server (expand)]    
2023-03-25T17:01:43.792+0100 [DEBUG] ReferenceTransformer: "output.mac_address_linux_server (expand)" references: [proxmox_vm_qemu.linux-ws-server (expand)]        
2023-03-25T17:01:43.792+0100 [DEBUG] ReferenceTransformer: "output.ip_address_plex_server (expand)" references: [proxmox_vm_qemu.plex-server (expand)]
2023-03-25T17:01:43.792+0100 [DEBUG] ReferenceTransformer: "var.proxmox_api_url" references: []
2023-03-25T17:01:43.793+0100 [DEBUG] Starting graph walk: walkPlan
2023-03-25T17:01:43.794+0100 [DEBUG] created provider logger: level=debug
2023-03-25T17:01:43.795+0100 [INFO]  provider: configuring client automatic mTLS
2023-03-25T17:01:43.805+0100 [DEBUG] provider: starting plugin: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe args=[.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe]
2023-03-25T17:01:43.809+0100 [DEBUG] provider: plugin started: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=9060
2023-03-25T17:01:43.809+0100 [DEBUG] provider: waiting for RPC address: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe
2023-03-25T17:01:43.863+0100 [INFO]  provider.terraform-provider-proxmox_v2.9.14.exe: configuring server automatic mTLS: timestamp=2023-03-25T17:01:43.829+0100
2023-03-25T17:01:43.889+0100 [DEBUG] provider: using plugin: version=5
2023-03-25T17:01:43.889+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: plugin address: network=tcp address=127.0.0.1:10000 timestamp=2023-03-25T17:01:43.889+0100
2023-03-25T17:01:43.912+0100 [WARN]  ValidateProviderConfig from "provider[\"registry.terraform.io/telmate/proxmox\"]" changed the config value, but that value is unused
2023-03-25T17:01:43.924+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.plex-server[0]" references: []
2023-03-25T17:01:43.927+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.samba-server[0]" references: []
2023-03-25T17:01:43.928+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.linux-ws-server[0]" references: []
2023-03-25T17:01:43.929+0100 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.wireguard-server[0]" references: []
proxmox_vm_qemu.wireguard-server[0]: Refreshing state... [id=torre-linux/qemu/102]
proxmox_vm_qemu.linux-ws-server[0]: Refreshing state... [id=torre-linux/qemu/104]
proxmox_vm_qemu.samba-server[0]: Refreshing state... [id=torre-linux/qemu/100]
proxmox_vm_qemu.plex-server[0]: Refreshing state... [id=torre-linux/qemu/101]
2023-03-25T17:01:44.573+0100 [INFO]  provider.terraform-provider-proxmox_v2.9.14.exe: 2023/03/25 17:01:44 [DEBUG] VM status: running: timestamp=2023-03-25T17:01:44.573+0100
2023-03-25T17:01:44.608+0100 [WARN]  Provider "registry.terraform.io/telmate/proxmox" produced an invalid plan for proxmox_vm_qemu.wireguard-server[0], but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .hotplug: planned value cty.StringVal("network,disk,usb") for a non-computed attribute
      - .automatic_reboot: planned value cty.True for a non-computed attribute
      - .cicustom: planned value cty.StringVal("") for a non-computed attribute
      - .guest_agent_ready_timeout: planned value cty.NumberIntVal(100) for a non-computed attribute
      - .additional_wait: planned value cty.NumberIntVal(5) for a non-computed attribute
      - .ipconfig15: planned value cty.StringVal("") for a non-computed attribute
      - .bios: planned value cty.StringVal("seabios") for a non-computed attribute
      - .full_clone: planned value cty.True for a non-computed attribute
      - .ipconfig11: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig4: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig9: planned value cty.StringVal("") for a non-computed attribute
      - .numa: planned value cty.False for a non-computed attribute
      - .oncreate: planned value cty.True for a non-computed attribute
      - .vlan: planned value cty.NumberIntVal(-1) for a non-computed attribute
      - .balloon: planned value cty.NumberIntVal(0) for a non-computed attribute
      - .define_connection_info: planned value cty.True for a non-computed attribute
      - .force_create: planned value cty.False for a non-computed attribute
      - .tags: planned value cty.StringVal("") for a non-computed attribute
      - .hastate: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig2: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig6: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig7: planned value cty.StringVal("") for a non-computed attribute
      - .machine: planned value cty.StringVal("") for a non-computed attribute
      - .pool: planned value cty.StringVal("") for a non-computed attribute
      - .hagroup: planned value cty.StringVal("") for a non-computed attribute
      - .clone_wait: planned value cty.NumberIntVal(10) for a non-computed attribute
      - .ipconfig1: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig10: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig12: planned value cty.StringVal("") for a non-computed attribute
      - .kvm: planned value cty.True for a non-computed attribute
      - .preprovision: planned value cty.True for a non-computed attribute
      - .args: planned value cty.StringVal("") for a non-computed attribute
      - .cipassword: sensitive planned value for a non-computed attribute
      - .tablet: planned value cty.True for a non-computed attribute
      - .ipconfig3: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig5: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig8: planned value cty.StringVal("") for a non-computed attribute
      - .startup: planned value cty.StringVal("") for a non-computed attribute
      - .vcpus: planned value cty.NumberIntVal(0) for a non-computed attribute
      - .ipconfig13: planned value cty.StringVal("") for a non-computed attribute
      - .ipconfig14: planned value cty.StringVal("") for a non-computed attribute
2023-03-25T17:01:44.830+0100 [INFO]  provider.terraform-provider-proxmox_v2.9.14.exe: 2023/03/25 17:01:44 [DEBUG] VM status: running: timestamp=2023-03-25T17:01:44.830+0100
2023-03-25T17:01:44.833+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: panic: interface conversion: interface {} is nil, not string
2023-03-25T17:01:44.833+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:
2023-03-25T17:01:44.833+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: goroutine 87 [running]:
2023-03-25T17:01:44.833+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/Telmate/terraform-provider-proxmox/proxmox._resourceVmQemuRead(0xc0002c2700, {0x1068680?, 0xc0001297c0})
2023-03-25T17:01:44.834+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1586 +0x363d
2023-03-25T17:01:44.834+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuRead(0x0?, {0x1068680?, 0xc0001297c0?})
2023-03-25T17:01:44.835+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1446 +0x25
2023-03-25T17:01:44.835+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).read(0x12ea800?, {0x12ea800?, 0xc00000def0?}, 0xd?, {0x1068680?, 0xc0001297c0?})
2023-03-25T17:01:44.835+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:712 +0x178
2023-03-25T17:01:44.836+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc0004567e0, {0x12ea800, 0xc00000def0}, 0xc0005b92b0, {0x1068680, 0xc0001297c0})
2023-03-25T17:01:44.836+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:1015 +0x585
2023-03-25T17:01:44.836+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ReadResource(0xc0004e0c48, {0x12ea800?, 0xc00000ddd0?}, 0xc0000ff840)
2023-03-25T17:01:44.837+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:613 +0x4a5
2023-03-25T17:01:44.837+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ReadResource(0xc00039a3c0, {0x12ea800?, 0xc00000d620?}, 0xc000580240)
2023-03-25T17:01:44.837+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:748 +0x4b1
2023-03-25T17:01:44.838+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadResource_Handler({0x116f460?, 0xc00039a3c0}, {0x12ea800, 0xc00000d620}, 0xc0003e8070, 0x0)
2023-03-25T17:01:44.838+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:349 +0x170
2023-03-25T17:01:44.838+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004fa000, {0x12ee3e0, 0xc000284340}, 0xc0003c0b40, 0xc0004fcb70, 0x17b0850, 0x0)
2023-03-25T17:01:44.839+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
2023-03-25T17:01:44.840+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: google.golang.org/grpc.(*Server).handleStream(0xc0004fa000, {0x12ee3e0, 0xc000284340}, 0xc0003c0b40, 0x0)
2023-03-25T17:01:44.840+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
2023-03-25T17:01:44.840+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: google.golang.org/grpc.(*Server).serveStreams.func1.2()
2023-03-25T17:01:44.841+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   google.golang.org/grpc@v1.53.0/server.go:965 +0x98
2023-03-25T17:01:44.841+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe: created by google.golang.org/grpc.(*Server).serveStreams.func1
2023-03-25T17:01:44.841+0100 [DEBUG] provider.terraform-provider-proxmox_v2.9.14.exe:   google.golang.org/grpc@v1.53.0/server.go:963 +0x28a
2023-03-25T17:01:44.850+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:50291->127.0.0.1:10000: wsarecv: Se ha forzado la interrupción de una conexión existente por el host remoto."
2023-03-25T17:01:44.850+0100 [ERROR] plugin.(*GRPCProvider).ReadResource: error="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:50291->127.0.0.1:10000: wsarecv: Se ha forzado la interrupción de una conexión existente por el host remoto."
2023-03-25T17:01:44.850+0100 [ERROR] vertex "proxmox_vm_qemu.samba-server[0]" error: Plugin did not respond
2023-03-25T17:01:44.850+0100 [ERROR] vertex "proxmox_vm_qemu.samba-server (expand)" error: Plugin did not respond
2023-03-25T17:01:44.850+0100 [ERROR] plugin.(*GRPCProvider).ReadResource: error="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:50291->127.0.0.1:10000: wsarecv: Se ha forzado la interrupción de una conexión existente por el host remoto."
2023-03-25T17:01:44.852+0100 [ERROR] vertex "proxmox_vm_qemu.plex-server[0]" error: Plugin did not respond
2023-03-25T17:01:44.850+0100 [ERROR] plugin.(*GRPCProvider).ReadResource: error="rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:50291->127.0.0.1:10000: wsarecv: Se ha forzado la interrupción de una conexión existente por el host remoto."
2023-03-25T17:01:44.852+0100 [ERROR] vertex "proxmox_vm_qemu.plex-server (expand)" error: Plugin did not respond
2023-03-25T17:01:44.852+0100 [ERROR] vertex "proxmox_vm_qemu.linux-ws-server[0]" error: Plugin did not respond
2023-03-25T17:01:44.853+0100 [ERROR] vertex "proxmox_vm_qemu.linux-ws-server (expand)" error: Plugin did not respond
2023-03-25T17:01:44.854+0100 [INFO]  backend/local: plan operation completed
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.linux-ws-server[0],
│   on linux-workstation-server.tf line 2, in resource "proxmox_vm_qemu" "linux-ws-server":
│    2: resource "proxmox_vm_qemu" "linux-ws-server" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.plex-server[0],
│   on plex-server.tf line 1, in resource "proxmox_vm_qemu" "plex-server":
│    1: resource "proxmox_vm_qemu" "plex-server" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.samba-server[0],
│   on samba.tf line 1, in resource "proxmox_vm_qemu" "samba-server":
│    1: resource "proxmox_vm_qemu" "samba-server" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more details.
╵
2023-03-25T17:01:44.864+0100 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/windows_amd64/terraform-provider-proxmox_v2.9.14.exe pid=9060 error="exit status 2"

Stack trace from the terraform-provider-proxmox_v2.9.14.exe plugin:

panic: interface conversion: interface {} is nil, not string

goroutine 87 [running]:
github.com/Telmate/terraform-provider-proxmox/proxmox._resourceVmQemuRead(0xc0002c2700, {0x1068680?, 0xc0001297c0})
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1586 +0x363d
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuRead(0x0?, {0x1068680?, 0xc0001297c0?})
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1446 +0x25
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).read(0x12ea800?, {0x12ea800?, 0xc00000def0?}, 0xd?, {0x1068680?, 0xc0001297c0?})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:712 +0x178
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).RefreshWithoutUpgrade(0xc0004567e0, {0x12ea800, 0xc00000def0}, 0xc0005b92b0, {0x1068680, 0xc0001297c0})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:1015 +0x585
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ReadResource(0xc0004e0c48, {0x12ea800?, 0xc00000ddd0?}, 0xc0000ff840)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:613 +0x4a5
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ReadResource(0xc00039a3c0, {0x12ea800?, 0xc00000d620?}, 0xc000580240)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:748 +0x4b1
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadResource_Handler({0x116f460?, 0xc00039a3c0}, {0x12ea800, 0xc00000d620}, 0xc0003e8070, 0x0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:349 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004fa000, {0x12ee3e0, 0xc000284340}, 0xc0003c0b40, 0xc0004fcb70, 0x17b0850, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
google.golang.org/grpc.(*Server).handleStream(0xc0004fa000, {0x12ee3e0, 0xc000284340}, 0xc0003c0b40, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        google.golang.org/grpc@v1.53.0/server.go:965 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-proxmox_v2.9.14.exe plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

2023-03-25T17:01:44.905+0100 [DEBUG] provider: plugin exited
PS C:\Users\anton\git_repos\proxmox-terraform>
LeoShivas commented 1 year ago

Hi,

I also encounter this issue.

Here is my main.tf file :

terraform {
  required_providers {
    proxmox = {
      source  = "Telmate/proxmox"
      version = "~> 2.0"
    }
  }
}

provider "proxmox" {
}

Here is my proxmox_vm_qemu.tf file :

resource "proxmox_vm_qemu" "pfsense" {
  name                   = "pfSense"
  target_node            = "xxxxxx"
  clone                  = "pfsensetpl"
  full_clone             = false
  agent                  = 1
  balloon                = 0
  bios                   = "seabios"
  boot                   = "order=sata0;ide2;net0"
  cores                  = 2
  cpu                    = "host"
  define_connection_info = false
  desc                   = "pfSense, generated on 03 Apr 2023 09:46 UTC"
  force_create           = false
  hotplug                = "network,disk,usb"
  kvm                    = true
  memory                 = 2048
  numa                   = false
  onboot                 = true
  oncreate               = false
  qemu_os                = "l26"
  scsihw                 = "lsi"
  sockets                = 1
  tablet                 = true
  vcpus                  = 0

  disk {
    media              = "disk"
    backup             = true
    cache              = "none"
    file               = "100/base-100-disk-0.raw/102/vm-102-disk-0.qcow2"
    format             = "qcow2"
    iops               = 0
    iops_max           = 0
    iops_max_length    = 0
    iops_rd            = 0
    iops_rd_max        = 0
    iops_rd_max_length = 0
    iops_wr            = 0
    iops_wr_max        = 0
    iops_wr_max_length = 0
    iothread           = 0
    mbps               = 0
    mbps_rd            = 0
    mbps_rd_max        = 0
    mbps_wr            = 0
    mbps_wr_max        = 0
    replicate          = 0
    size               = "15G"
    slot               = 0
    ssd                = 0
    storage            = "local"
    type               = "sata"
    volume             = "local:100/base-100-disk-0.raw/102/vm-102-disk-0.qcow2"
  }

  network {
    bridge  = "vmbr0"
    macaddr = "xx:xx:xx:xx:xx:xx"
    model   = "e1000"
  }
  network {
    bridge = "vmbr1"
    model  = "e1000"
  }
}

After declaring the PM_API_URL, PM_API_TOKEN_ID and PM_API_TOKEN_SECRET variables, I run a tf plan successfully.

But when I run a tf apply, I encounter the same error as above :

2023-04-23T12:48:55.778+0200 [INFO]  backend/local: apply calling Apply
2023-04-23T12:48:55.778+0200 [DEBUG] Building and walking apply graph for NormalMode plan
2023-04-23T12:48:55.778+0200 [DEBUG] Resource state not found for node "proxmox_vm_qemu.pfsense", instance proxmox_vm_qemu.pfsense
2023-04-23T12:48:55.779+0200 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.pfsense (expand)" (*terraform.nodeExpandApplyableResource) needs provider["registry.terraform.io/telmate/proxmox"]
2023-04-23T12:48:55.779+0200 [DEBUG] ProviderTransformer: "proxmox_vm_qemu.pfsense" (*terraform.NodeApplyableResourceInstance) needs provider["registry.terraform.io/telmate/proxmox"]
2023-04-23T12:48:55.779+0200 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.pfsense (expand)" references: []
2023-04-23T12:48:55.779+0200 [DEBUG] ReferenceTransformer: "proxmox_vm_qemu.pfsense" references: []
2023-04-23T12:48:55.779+0200 [DEBUG] ReferenceTransformer: "provider[\"registry.terraform.io/telmate/proxmox\"]" references: []
2023-04-23T12:48:55.779+0200 [DEBUG] Starting graph walk: walkApply
2023-04-23T12:48:55.779+0200 [DEBUG] created provider logger: level=debug
2023-04-23T12:48:55.780+0200 [INFO]  provider: configuring client automatic mTLS
2023-04-23T12:48:55.786+0200 [DEBUG] provider: starting plugin: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/linux_amd64/terraform-provider-proxmox_v2.9.14 args=[.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/linux_amd64/terraform-provider-proxmox_v2.9.14]
2023-04-23T12:48:55.786+0200 [DEBUG] provider: plugin started: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/linux_amd64/terraform-provider-proxmox_v2.9.14 pid=1252
2023-04-23T12:48:55.786+0200 [DEBUG] provider: waiting for RPC address: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/linux_amd64/terraform-provider-proxmox_v2.9.14
2023-04-23T12:48:55.794+0200 [INFO]  provider.terraform-provider-proxmox_v2.9.14: configuring server automatic mTLS: timestamp=2023-04-23T12:48:55.794+0200
2023-04-23T12:48:55.810+0200 [DEBUG] provider: using plugin: version=5
2023-04-23T12:48:55.810+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: plugin address: address=/tmp/plugin3397851075 network=unix timestamp=2023-04-23T12:48:55.810+0200
2023-04-23T12:48:55.825+0200 [WARN]  ValidateProviderConfig from "provider[\"registry.terraform.io/telmate/proxmox\"]" changed the config value, but that value is unused
2023-04-23T12:48:55.954+0200 [WARN]  Provider "registry.terraform.io/telmate/proxmox" produced an invalid plan for proxmox_vm_qemu.pfsense, but we are tolerating it because it is using the legacy plugin SDK.
    The following problems may be the cause of any confusing errors from downstream operations:
      - .preprovision: planned value cty.True for a non-computed attribute
      - .clone_wait: planned value cty.NumberIntVal(10) for a non-computed attribute
      - .automatic_reboot: planned value cty.True for a non-computed attribute
      - .guest_agent_ready_timeout: planned value cty.NumberIntVal(100) for a non-computed attribute
      - .additional_wait: planned value cty.NumberIntVal(5) for a non-computed attribute
      - .vlan: planned value cty.NumberIntVal(-1) for a non-computed attribute
      - .network[0].firewall: planned value cty.False for a non-computed attribute
      - .network[0].tag: planned value cty.NumberIntVal(-1) for a non-computed attribute
      - .network[0].link_down: planned value cty.False for a non-computed attribute
      - .network[1].tag: planned value cty.NumberIntVal(-1) for a non-computed attribute
      - .network[1].firewall: planned value cty.False for a non-computed attribute
      - .network[1].link_down: planned value cty.False for a non-computed attribute
proxmox_vm_qemu.pfsense: Creating...
2023-04-23T12:48:55.954+0200 [INFO]  Starting apply for proxmox_vm_qemu.pfsense
2023-04-23T12:48:55.955+0200 [DEBUG] proxmox_vm_qemu.pfsense: applying the planned Create change
2023-04-23T12:48:55.957+0200 [INFO]  provider.terraform-provider-proxmox_v2.9.14: 2023/04/23 12:48:55 [DEBUG] setting computed for "unused_disk" from ComputedKeys: timestamp=2023-04-23T12:48:55.957+0200
2023-04-23T12:48:55.959+0200 [INFO]  provider.terraform-provider-proxmox_v2.9.14: 2023/04/23 12:48:55 [DEBUG][QemuVmCreate] checking for duplicate name: pfSense: timestamp=2023-04-23T12:48:55.959+0200
2023-04-23T12:48:56.018+0200 [INFO]  provider.terraform-provider-proxmox_v2.9.14: 2023/04/23 12:48:56 [DEBUG][QemuVmCreate] cloning VM: timestamp=2023-04-23T12:48:56.018+0200
proxmox_vm_qemu.pfsense: Still creating... [10s elapsed]
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: panic: interface conversion: interface {} is nil, not string
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: goroutine 67 [running]:
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/Telmate/proxmox-api-go/proxmox.(*Client).createVMDisks(0x0?, {0xc00060b9e0, 0x6}, 0xc000384120?)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/client.go:915 +0x5e8
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/Telmate/proxmox-api-go/proxmox.ConfigQemu.UpdateConfig({0x0, {0xc00060b810, 0x7}, {0xc000384120, 0x2b}, {0x0, 0x0}, {0xc00060b4f0, 0x7}, 0x0, ...}, ...)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/config_qemu.go:395 +0xd6f
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc00038fb00, {0xb66f60?, 0xc0003bc2d0})
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:995 +0x3088
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xdd7840?, {0xdd7840?, 0xc000382f60?}, 0xd?, {0xb66f60?, 0xc0003bc2d0?})
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:695 +0x178
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0004587e0, {0xdd7840, 0xc000382f60}, 0xc0002e9520, 0xc00038f980, {0xb66f60, 0xc0003bc2d0})
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:837 +0xa85
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc0004e2b58, {0xdd7840?, 0xc000382e40?}, 0xc0005ceaa0)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:1021 +0xe8d
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0001383c0, {0xdd7840?, 0xc000382390?}, 0xc0002a09a0)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xc6bc20?, 0xc0001383c0}, {0xdd7840, 0xc000382390}, 0xc0002a0930, 0x0)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004fc000, {0xddb420, 0xc00052c680}, 0xc0000f25a0, 0xc0004fec60, 0x128f7a0, 0x0)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: google.golang.org/grpc.(*Server).handleStream(0xc0004fc000, {0xddb420, 0xc00052c680}, 0xc0000f25a0, 0x0)
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: google.golang.org/grpc.(*Server).serveStreams.func1.2()
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       google.golang.org/grpc@v1.53.0/server.go:965 +0x98
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14: created by google.golang.org/grpc.(*Server).serveStreams.func1
2023-04-23T12:49:08.586+0200 [DEBUG] provider.terraform-provider-proxmox_v2.9.14:       google.golang.org/grpc@v1.53.0/server.go:963 +0x28a
2023-04-23T12:49:08.589+0200 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/telmate/proxmox/2.9.14/linux_amd64/terraform-provider-proxmox_v2.9.14 pid=1252 error="exit status 2"
2023-04-23T12:49:08.589+0200 [ERROR] plugin.(*GRPCProvider).ApplyResourceChange: error="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-04-23T12:49:08.589+0200 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"
2023-04-23T12:49:08.596+0200 [ERROR] vertex "proxmox_vm_qemu.pfsense" error: Plugin did not respond
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.pfsense,
│   on proxmox_vm_qemu.tf line 1, in resource "proxmox_vm_qemu" "pfsense":
│    1: resource "proxmox_vm_qemu" "pfsense" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵

Stack trace from the terraform-provider-proxmox_v2.9.14 plugin:

panic: interface conversion: interface {} is nil, not string

goroutine 67 [running]:
github.com/Telmate/proxmox-api-go/proxmox.(*Client).createVMDisks(0x0?, {0xc00060b9e0, 0x6}, 0xc000384120?)
        github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/client.go:915 +0x5e8
github.com/Telmate/proxmox-api-go/proxmox.ConfigQemu.UpdateConfig({0x0, {0xc00060b810, 0x7}, {0xc000384120, 0x2b}, {0x0, 0x0}, {0xc00060b4f0, 0x7}, 0x0, ...}, ...)
        github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/config_qemu.go:395 +0xd6f
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc00038fb00, {0xb66f60?, 0xc0003bc2d0})
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:995 +0x3088
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xdd7840?, {0xdd7840?, 0xc000382f60?}, 0xd?, {0xb66f60?, 0xc0003bc2d0?})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:695 +0x178
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc0004587e0, {0xdd7840, 0xc000382f60}, 0xc0002e9520, 0xc00038f980, {0xb66f60, 0xc0003bc2d0})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:837 +0xa85
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc0004e2b58, {0xdd7840?, 0xc000382e40?}, 0xc0005ceaa0)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:1021 +0xe8d
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc0001383c0, {0xdd7840?, 0xc000382390?}, 0xc0002a09a0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xc6bc20?, 0xc0001383c0}, {0xdd7840, 0xc000382390}, 0xc0002a0930, 0x0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0004fc000, {0xddb420, 0xc00052c680}, 0xc0000f25a0, 0xc0004fec60, 0x128f7a0, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
google.golang.org/grpc.(*Server).handleStream(0xc0004fc000, {0xddb420, 0xc00052c680}, 0xc0000f25a0, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        google.golang.org/grpc@v1.53.0/server.go:965 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-proxmox_v2.9.14 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

2023-04-23T12:49:08.601+0200 [DEBUG] provider: plugin exited
LeoShivas commented 1 year ago

After changing the disk block from :

  disk {
    media              = "disk"
    backup             = true
    cache              = "none"
    file               = "100/base-100-disk-0.raw/102/vm-102-disk-0.qcow2"
    format             = "qcow2"
    iops               = 0
    iops_max           = 0
    iops_max_length    = 0
    iops_rd            = 0
    iops_rd_max        = 0
    iops_rd_max_length = 0
    iops_wr            = 0
    iops_wr_max        = 0
    iops_wr_max_length = 0
    iothread           = 0
    mbps               = 0
    mbps_rd            = 0
    mbps_rd_max        = 0
    mbps_wr            = 0
    mbps_wr_max        = 0
    replicate          = 0
    size               = "15G"
    slot               = 0
    ssd                = 0
    storage            = "local"
    type               = "sata"
    volume             = "local:100/base-100-disk-0.raw/102/vm-102-disk-0.qcow2"
  }

to :

  disk {
    size               = "15G"
    storage            = "local"
    type               = "sata"
  }

it works for me.

DeamonMV commented 1 year ago

I have the same problem

i tried to change disk section, as wrote @LeoShivas, and this seems changed situation about not so good, as I expected, terraform apply command crashes, but resource become available

Output

Plan: 1 to add, 0 to change, 0 to destroy.
proxmox_vm_qemu.test-preseed-tf: Creating...
proxmox_vm_qemu.test-preseed-tf: Still creating... [10s elapsed]
proxmox_vm_qemu.test-preseed-tf: Still creating... [20s elapsed]
╷
│ Error: Plugin did not respond
│
│   with proxmox_vm_qemu.test-preseed-tf,
│   on test-preseed-tf.tf line 2, in resource "proxmox_vm_qemu" "test-preseed-tf":
│    2: resource "proxmox_vm_qemu" "test-preseed-tf" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).ApplyResourceChange call. The plugin logs may contain more details.
╵

Stack trace from the terraform-provider-proxmox_v2.9.14 plugin:

panic: interface conversion: interface {} is nil, not string

goroutine 83 [running]:
github.com/Telmate/proxmox-api-go/proxmox.NewConfigQemuFromApi(0xc00077be00, 0xc0004bde00?)
        github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/config_qemu.go:789 +0x4310
github.com/Telmate/terraform-provider-proxmox/proxmox._resourceVmQemuRead(0xc0000ac300, {0xb66f60?, 0xc0004a92c0})
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1475 +0x457
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuRead(...)
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1446
github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuCreate(0xc0000ac300, {0xb66f60?, 0xc0004a92c0})
        github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1104 +0x292f
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).create(0xdd7840?, {0xdd7840?, 0xc000454990?}, 0xd?, {0xb66f60?, 0xc0004a92c0?})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:695 +0x178
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).Apply(0xc000200ee0, {0xdd7840, 0xc000454990}, 0xc000199380, 0xc0000ad300, {0xb66f60, 0xc0004a92c0})
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:837 +0xa85
github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ApplyResourceChange(0xc00040fea8, {0xdd7840?, 0xc000454870?}, 0xc00025a2d0)
        github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:1021 +0xe8d
github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(*server).ApplyResourceChange(0xc00034c280, {0xdd7840?, 0xc0004ed890?}, 0xc00013ee00)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:818 +0x574
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ApplyResourceChange_Handler({0xc6bc20?, 0xc00034c280}, {0xdd7840, 0xc0004ed890}, 0xc00013ed90, 0x0)
        github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:385 +0x170
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0002ca1e0, {0xddb420, 0xc000007ba0}, 0xc00071b320, 0xc00041d890, 0x128f7a0, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23
google.golang.org/grpc.(*Server).handleStream(0xc0002ca1e0, {0xddb420, 0xc000007ba0}, 0xc00071b320, 0x0)
        google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        google.golang.org/grpc@v1.53.0/server.go:965 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-proxmox_v2.9.14 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely
helpful if you could report the crash with the plugin's maintainers so that it
can be fixed. The output above should help diagnose the issue.

My VM TF config

resource "proxmox_vm_qemu" "test-preseed-tf" {
  name = "test-preseed-tf"
  desc = "Test terraform preseed installation"
  target_node = "pve1"

  onboot = true
  iso = "nas-1:iso/debian-11.6.0-amd64-netinstal.iso"

  memory = 2048
  sockets = 1
  cores = 2
  cpu = "host"

  network {
    bridge    = "vmbr0"
    firewall  = false
    link_down = false
    model     = "e1000"
  }

  disk {
    size= "32G"
    storage = "vms"
    type = "virtio"

  }
}

with plugin version 2.9.3 - everything fine

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 60 days with no activity. Please update the provider to the latest version and, in the issue persist, provide full configuration and debug logs

github-actions[bot] commented 1 year ago

This issue was closed because it has been inactive for 5 days since being marked as stale.

ziehmon commented 11 months ago

No updates on this? :/

DeamonMV commented 11 months ago

@ziehmon As I remember, I was able to solve this problem.

Something in Terraform state had a wrong type, for example state had false but it should be 0 This is in context of updating provider from old version to new one, and when you have already terraform state created with old provider version.

So try to check, somehow, does all options have correct type

ziehmon commented 10 months ago

@DeamonMV many thanks, the invalid data type was the problem with our state too. As noted in other issues, this provider seems to be stale in terms of development, so we migrated to https://github.com/bpg/terraform-provider-proxmox. It works flawlessly with current Proxmox versions and also supports more resource types.

auge02-git commented 8 months ago

[user@any]$ terraform apply proxmox_vm_qemu.awo-mon-03: Refreshing state... [id=extsrv-xxxxx/qemu/116] proxmox_vm_qemu.k3s-ranger-mgmt-02: Refreshing state... [id=extsrv-xxxxx/qemu/117] proxmox_vm_qemu.awo-un-02: Refreshing state... [id=extsrv-xxxxx/qemu/114]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:

Terraform planned the following actions, but then encountered a problem:

proxmox_vm_qemu.mst01 will be created

Plan: 5 to add, 0 to change, 0 to destroy. ╷ │ Warning: Value for undeclared variable │ │ The root module does not declare a variable named "kubernetes_version" but a value │ was found in file "terraform.tfvars". If you meant to use this value, add a │ "variable" block to the configuration. │ │ To silence these warnings, use TFVAR... environment variables to provide certain │ "global" settings to all configurations in your organization. To reduce the │ verbosity of these warnings, use the -compact-warnings option. ╵ ╷ │ Warning: Value for undeclared variable │ │ The root module does not declare a variable named "cluster_name" but a value was │ found in file "terraform.tfvars". If you meant to use this value, add a "variable" │ block to the configuration. │ │ To silence these warnings, use TFVAR... environment variables to provide certain │ "global" settings to all configurations in your organization. To reduce the │ verbosity of these warnings, use the -compact-warnings option. ╵ ╷ │ Warning: Values for undeclared variables │ │ In addition to the other similar warnings shown, 3 other variable(s) defined │ without being declared. ╵ ╷ │ Error: Plugin did not respond │ │ The plugin encountered an error, and failed to respond to the │ plugin.(GRPCProvider).ReadResource call. The plugin logs may contain more │ details. ╵ ╷ │ Error: Plugin did not respond │ │ The plugin encountered an error, and failed to respond to the │ plugin.(GRPCProvider).ReadResource call. The plugin logs may contain more │ details. ╵ ╷ │ Error: Plugin did not respond │ │ The plugin encountered an error, and failed to respond to the │ plugin.(*GRPCProvider).ReadResource call. The plugin logs may contain more │ details. ╵

Stack trace from the terraform-provider-proxmox_v2.9.14 plugin:

panic: interface conversion: interface {} is string, not float64

goroutine 85 [running]: github.com/Telmate/proxmox-api-go/proxmox.NewConfigQemuFromApi(0xc00064b088, 0xc00064b088?) github.com/Telmate/proxmox-api-go@v0.0.0-20230319185744-e7cde7198cdf/proxmox/config_qemu.go:584 +0x4605 github.com/Telmate/terraform-provider-proxmox/proxmox._resourceVmQemuRead(0xc000469200, {0xb66f60?, 0xc0000881e0}) github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1475 +0x457 github.com/Telmate/terraform-provider-proxmox/proxmox.resourceVmQemuRead(0x0?, {0xb66f60?, 0xc0000881e0?}) github.com/Telmate/terraform-provider-proxmox/proxmox/resource_vm_qemu.go:1446 +0x25 github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(Resource).read(0xdd7840?, {0xdd7840?, 0xc0001def60?}, 0xd?, {0xb66f60?, 0xc0000881e0?}) github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:712 +0x178 github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(Resource).RefreshWithoutUpgrade(0xc000190ee0, {0xdd7840, 0xc0001def60}, 0xc00012add0, {0xb66f60, 0xc0000881e0}) github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/resource.go:1015 +0x585 github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(GRPCProviderServer).ReadResource(0xc000419e90, {0xdd7840?, 0xc0001dedb0?}, 0xc0007506c0) github.com/hashicorp/terraform-plugin-sdk/v2@v2.25.0/helper/schema/grpc_provider.go:613 +0x4a5 github.com/hashicorp/terraform-plugin-go/tfprotov5/tf5server.(server).ReadResource(0xc0002b03c0, {0xdd7840?, 0xc0001de3c0?}, 0xc0004982a0) github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/tf5server/server.go:748 +0x4b1 github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadResource_Handler({0xc6bc20?, 0xc0002b03c0}, {0xdd7840, 0xc0001de3c0}, 0xc00018a070, 0x0) github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:349 +0x170 google.golang.org/grpc.(Server).processUnaryRPC(0xc0002581e0, {0xddb420, 0xc00031a4e0}, 0xc0002fa480, 0xc000427a40, 0x128f770, 0x0) google.golang.org/grpc@v1.53.0/server.go:1336 +0xd23 google.golang.org/grpc.(Server).handleStream(0xc0002581e0, {0xddb420, 0xc00031a4e0}, 0xc0002fa480, 0x0) google.golang.org/grpc@v1.53.0/server.go:1704 +0xa2f google.golang.org/grpc.(Server).serveStreams.func1.2() google.golang.org/grpc@v1.53.0/server.go:965 +0x98 created by google.golang.org/grpc.(Server).serveStreams.func1 google.golang.org/grpc@v1.53.0/server.go:963 +0x28a

Error: The terraform-provider-proxmox_v2.9.14 plugin crashed!

This is always indicative of a bug within the plugin. It would be immensely helpful if you could report the crash with the plugin's maintainers so that it can be fixed. The output above should help diagnose the issue.

abdulharb commented 5 months ago

@ziehmon Can you let me know what was the full fix? I'm running into the same issue and trying to fix it but can't seem to make it work :/

Tinyblargon commented 5 months ago

@abdulharb The only fix currently is to migrate to 3.0.0

ziehmon commented 5 months ago

@ziehmon Can you let me know what was the full fix? I'm running into the same issue and trying to fix it but can't seem to make it work :/

It seems the maintainers shipped a new version (as @Tinyblargon already stated) but I didn't tried it out.

We migrated to the alternative provider implementation mentioned in this thread and it was a very easy process. Maybe check both approaches? I remember the alternative provider was even able to handle existing state of this one with some attribute adjustments (primarily vm_id).

maksimsamt commented 5 months ago

@ziehmon Can you let me know what was the full fix? I'm running into the same issue and trying to fix it but can't seem to make it work :/

It seems the maintainers shipped a new version (as @Tinyblargon already stated) but I didn't tried it out.

We migrated to the alternative provider implementation mentioned in this thread and it was a very easy process. Maybe check both approaches? I remember the alternative provider was even able to handle existing state of this one with some attribute adjustments (primarily vm_id).

I would like to warn you before decide to migrate to a mentioned bpg terraform provider.

This provider is quite advanced, has many features that Telmate does not have, frequently updated (but in a chaotic manner!), etc, but on the other hand bpg provider has some serious drawbacks, is quite unstable (especially in some specific scenarios), looks like it hasn't been tested enough, is still quite raw and is more likely not suitable for use in a production environment.

For me personally, currently the main drawback is that the bpg terraform provider cannot handle virtual machine/template cloning operations properly, for instance, on vm changes (e.g. disks) may mistakenly destroy and recreate the virtual machine, etc. This issue is confirmed by the developer himself, as if work on a solution is underway, but when there will be a solution is not known yet...

victor-sys-admin commented 3 months ago

For me it work with telmate latest "3.0.1-rc3"

terraform {
    required_providers {
        proxmox = {
            source = "telmate/proxmox"
            version = "= 3.0.1-rc3"
        }
    }
}