Skip to content

Not able to spin up a full cloned VM using ClonedVirtualMachine class #907

Description

@Aayush-1333

I have configured the Proxmox VE API with appropriate credentials. However, whenever I am trying to create a full clone ubuntu-24.04 VM using the following code:

"""A Python Pulumi program"""

import os

import pulumi
import pulumi_proxmoxve as proxmox
from dotenv import load_dotenv

__ = load_dotenv()

# Setup proxmox provider creds
pve_provider = proxmox.Provider(
    resource_name="pve_provider",
    endpoint=os.getenv("PVE_ENDPOINT"),
    insecure=True,
    username=os.getenv("PVE_USER"),
    password=os.getenv("PVE_PASS"),
)

# Create a new full cloned VM
ub_vm1 = proxmox.vm.ClonedVirtualMachine(
    "ub_vm1",
    vm_id="101",
    name="ub-vm1",
    node_name="ace-proxmox",
    clone={
        "source_node_name": "ace-proxmox",
        "source_vm_id": 9000,
        "full": True,
        "target_datastore": "local-lvm",
        "target_format": "raw",
    },
    cpu={"cores": 4, "type": "host"},
    memory={"size": 4096, "balloon": 0},
    vga={"type": "std"},
    opts=pulumi.ResourceOptions(
        provider=pve_provider,
        delete_before_replace=True,  # helps avoid inconsistent state
    ),
)

pulumi.export(
    name="ub_vm_1",
    value={"vm_id": ub_vm1.vm_id, "name": ub_vm1.name, "cpu_cores": ub_vm1.cpu},
)

The VM is getting created in proxmox but the provider is throwing exception with the following stack trace:

Updating (dev):
     Type                                  Name             Status                  Info
     pulumi:pulumi:Stack                   proxmox_lab-dev  **failed**              2 errors
 +   └─ proxmoxve:VM:ClonedVirtualMachine  ub_vm1           **creating failed**     2 errors

Diagnostics:
  pulumi:pulumi:Stack (proxmox_lab-dev):
    error: update failed

    error: Detected that /Users/aayushchaurasia/.pulumi/plugins/resource-proxmoxve-v7.13.0/pulumi-resource-proxmoxve exited prematurely.
           This is *always* a bug in the provider. Please report the issue to the provider author as appropriate.
           To assist with debugging we have dumped the STDOUT and STDERR streams of the plugin:panic: interface conversion: interface {} is nil, not int [recovered, repanicked]

    goroutine 47 [running]:
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create.func1()
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:339 +0xfe
    panic({0x5a59960?, 0xc000e022a0?})
    	/opt/hostedtoolcache/go/1.25.6/x64/src/runtime/panic.go:783 +0x132
    github.com/muhlba91/pulumi-proxmoxve/provider.Provider.func3({0xc000eaf470?, 0x0?}, 0xc000fc1178?)
    	/home/runner/work/pulumi-proxmoxve/pulumi-proxmoxve/provider/resources.go:199 +0x65
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge.extractID({0x5e23e48?, 0xc000d6b650?}, {0xc000b64e40?, 0xc00087d170?}, 0x0?, 0xc000eb9680)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/tfbridge/ids.go:34 +0x4d
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge.(*provider).CreateWithContext(0xc000cf8008, {0x5e23e48?, 0xc000d6b0b0?}, {0xc000b2cd20, 0x5b}, 0xc000d6b0e0, 0x5db6f80?, 0x0)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/tfbridge/provider_create.go:125 +0x876
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/internal/plugin.(*providerServer).Create(0xc000cf6750, {0x5e23e48, 0xc000d6b0b0}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/internal/plugin/provider_server.go:412 +0x11c
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create(0xc000a800c0, {0x5e23e48, 0xc000d6b080}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:343 +0x14c
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.(*muxer).Create.func1({0x5e53380?, 0xc000a800c0?})
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:399 +0x30
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.resourceMethod[...](0xc000810120?, 0xc000791648, 0xc000791628?)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:366 +0xb5
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.(*muxer).Create(0x5e23e48?, {0x5e23e48?, 0xc000d6b080?}, 0x71b1c20?)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:398 +0x4a
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create(0xc000810180, {0x5e23e48, 0xc000d6b050}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:343 +0x14c
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler.func1({0x5e23e48?, 0xc000d6b050?}, {0x5ce75c0?, 0xc000cab440?})
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.219.0/proto/go/provider_grpc.pb.go:951 +0xcb
    github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x5e23e48, 0xc000d6aa20}, {0x5ce75c0, 0xc000cab440}, 0xc000b1b960, 0xc000ccb578)
    	/home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x3b5
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler({0x5d949c0, 0xc000810180}, {0x5e23e48, 0xc000d6aa20}, 0xc000cd1380, 0xc0009d99e0)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.219.0/proto/go/provider_grpc.pb.go:953 +0x143
    google.golang.org/grpc.(*Server).processUnaryRPC(0xc0008606c8, {0x5e23e48, 0xc000d6a990}, 0xc000b22b60, 0xc000cf67e0, 0x7173bb0, 0x0)
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1428 +0x1192
    google.golang.org/grpc.(*Server).handleStream(0xc0008606c8, {0x5e27c90, 0xc00066e680}, 0xc000b22b60)
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1832 +0xdc6
    google.golang.org/grpc.(*Server).serveStreams.func2.1()
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1063 +0x7f
    created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 23
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1074 +0x11d

  proxmoxve:VM:ClonedVirtualMachine (ub_vm1):
    error: Bridged provider panic (provider=proxmoxve v=v7.13.0 resourceURN=urn:pulumi:dev::proxmox_lab::proxmoxve:VM/clonedVirtualMachine:ClonedVirtualMachine::ub_vm1 method=Create): interface conversion: interface {} is nil, not int
    goroutine 47 [running]:
    runtime/debug.Stack()
    	/opt/hostedtoolcache/go/1.25.6/x64/src/runtime/debug/stack.go:26 +0x5e
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create.func1()
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:336 +0x6b
    panic({0x5a59960?, 0xc000e022a0?})
    	/opt/hostedtoolcache/go/1.25.6/x64/src/runtime/panic.go:783 +0x132
    github.com/muhlba91/pulumi-proxmoxve/provider.Provider.func3({0xc000eaf470?, 0x0?}, 0xc000fc1178?)
    	/home/runner/work/pulumi-proxmoxve/pulumi-proxmoxve/provider/resources.go:199 +0x65
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge.extractID({0x5e23e48?, 0xc000d6b650?}, {0xc000b64e40?, 0xc00087d170?}, 0x0?, 0xc000eb9680)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/tfbridge/ids.go:34 +0x4d
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/tfbridge.(*provider).CreateWithContext(0xc000cf8008, {0x5e23e48?, 0xc000d6b0b0?}, {0xc000b2cd20, 0x5b}, 0xc000d6b0e0, 0x5db6f80?, 0x0)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/tfbridge/provider_create.go:125 +0x876
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/pf/internal/plugin.(*providerServer).Create(0xc000cf6750, {0x5e23e48, 0xc000d6b0b0}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/pf/internal/plugin/provider_server.go:412 +0x11c
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create(0xc000a800c0, {0x5e23e48, 0xc000d6b080}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:343 +0x14c
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.(*muxer).Create.func1({0x5e53380?, 0xc000a800c0?})
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:399 +0x30
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.resourceMethod[...](0xc000810120?, 0xc000791648, 0xc000791628?)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:366 +0xb5
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/x/muxer.(*muxer).Create(0x5e23e48?, {0x5e23e48?, 0xc000d6b080?}, 0x71b1c20?)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/x/muxer/muxer.go:398 +0x4a
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/providerserver.(*PanicRecoveringProviderServer).Create(0xc000810180, {0x5e23e48, 0xc000d6b050}, 0xc000cab440)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.120.0/pkg/providerserver/panic_recovering_provider.go:343 +0x14c
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler.func1({0x5e23e48?, 0xc000d6b050?}, {0x5ce75c0?, 0xc000cab440?})
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.219.0/proto/go/provider_grpc.pb.go:951 +0xcb
    github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x5e23e48, 0xc000d6aa20}, {0x5ce75c0, 0xc000cab440}, 0xc000b1b960, 0xc000ccb578)
    	/home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x3b5
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Create_Handler({0x5d949c0, 0xc000810180}, {0x5e23e48, 0xc000d6aa20}, 0xc000cd1380, 0xc0009d99e0)
    	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.219.0/proto/go/provider_grpc.pb.go:953 +0x143
    google.golang.org/grpc.(*Server).processUnaryRPC(0xc0008606c8, {0x5e23e48, 0xc000d6a990}, 0xc000b22b60, 0xc000cf67e0, 0x7173bb0, 0x0)
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1428 +0x1192
    google.golang.org/grpc.(*Server).handleStream(0xc0008606c8, {0x5e27c90, 0xc00066e680}, 0xc000b22b60)
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1832 +0xdc6
    google.golang.org/grpc.(*Server).serveStreams.func2.1()
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1063 +0x7f
    created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 23
    	/home/runner/go/pkg/mod/google.golang.org/grpc@v1.77.0/server.go:1074 +0x11d
    error: error reading from server: EOF

Resources:
    2 unchanged
    2 errored

Duration: 7s

What is going wrong? It's telling me it is due to some issue in interface or something.

Proxmox VE version - 9.1.6
pulumi_proxmoxve version: 7.13.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions