Open tcrasset opened 11 months ago
This is my current nodepool. Uncommenting the taints spec I added yields an error.
taints
const enum NodeType { GeneralPurpose = "generalPurpose", Small = "small", Medium = "medium", Huge = "huge", } const smallMemoryNodePools = new ovh.cloudproject.KubeNodePool( "ovh-nodepool-small", { serviceName: projectId, kubeId: cluster.id, desiredNodes: 1, flavorName: "r2-30", // Choose from https://www.ovhcloud.com/fr/public-cloud/prices/ maxNodes: 3, minNodes: 1, autoscale: true, antiAffinity: false, monthlyBilled: false, template: { metadata: { annotations: {}, finalizers: [], labels: { nodeType: NodeType.Small, }, spec: { taints: [], // taints: [{ // key: "highMemory", // value: "true", // effect: "NoExecute", // }], unschedulable: false, }, }, }, { provider: ovhProvider }, );
The error:
❯ pulumi up -t urn:pulumi:test-pulumi2::avatar-ovh::ovh:CloudProject/kubeNodePool:KubeNodePool::ovh-nodepool-small Previewing update (test-pulumi2): Type Name Plan Info pulumi:pulumi:Stack avatar-ovh-test-pulumi2 1 error; 30 messages ~ └─ ovh:CloudProject:KubeNodePool ovh-nodepool-small update [diff: ~template]; 1 error Diagnostics: pulumi:pulumi:Stack (avatar-ovh-test-pulumi2): panic: fatal: A failure has occurred: Unexpected multiple elements in array with MaxItems=1 goroutine 99 [running]: github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.failfast(...) /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.81.0/go/common/util/contract/failfast.go:23 github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.Failf({0x14ce6c9?, 0xc000316000?}, {0x0?, 0x12b16a0?, 0x1463920?}) /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.81.0/go/common/util/contract/fail.go:32 +0xcd github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutput.func1({0x16d24b8, 0xc000232180}, {0x140e720, 0xc000a80c40}, {0x16d36c0, 0xc000316000}, 0x0, 0xc000af5ef0, 0x0, 0x1) /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.59.0/pkg/tfbridge/schema.go:1057 +0xb9e github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutput({0x16d24b8?, 0xc000232180?}, {0x140e720?, 0xc000a80c40?}, {0x16d36c0?, 0xc000316000?}, 0xc000af4e10?, 0xc0009bc000?, 0x20?, 0x1) /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.59.0/pkg/tfbridge/schema.go:1085 +0x70 github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformOutputs({0x16d24b8, 0xc000232180}, 0xc0003458f0?, {0x16c8b28, 0xc0003458f0}, 0x115c468?, 0x13f0bc0?, 0x0?, 0x48?) /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.59.0/pkg/tfbridge/schema.go:958 +0x1a6 github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.MakeTerraformResult({0x16d24b8?, 0xc000232180?}, {0x16c5030, 0xc000a56cc0}, {0x16c8b28?, 0xc0003458f0?}, 0xc0003458f0?, 0x1f?, 0x10?) /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.59.0/pkg/tfbridge/schema.go:933 +0xe5 github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.(*Provider).Update(0xc0001622c0, {0x16c4188?, 0xc000af4810?}, 0xc0003c6990) /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.59.0/pkg/tfbridge/provider.go:983 +0xae5 github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Update_Handler.func1({0x16c4188, 0xc000af4810}, {0x13f88e0?, 0xc0003c6990}) /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.81.0/proto/go/provider_grpc.pb.go:609 +0x7b github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x16c4188, 0xc000a8de00}, {0x13f88e0, 0xc0003c6990}, 0xc000a7a940, 0xc000a4eaf8) /home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x3e8 github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Update_Handler({0x144f680?, 0xc0001622c0}, {0x16c4188, 0xc000a8de00}, 0xc000199a40, 0xc000232d00) /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.81.0/proto/go/provider_grpc.pb.go:611 +0x138 google.golang.org/grpc.(*Server).processUnaryRPC(0xc000446000, {0x16ce920, 0xc000552000}, 0xc000920b40, 0xc0003b4960, 0x2112cf0, 0x0) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:1360 +0xe23 google.golang.org/grpc.(*Server).handleStream(0xc000446000, {0x16ce920, 0xc000552000}, 0xc000920b40, 0x0) /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:1737 +0xa36 google.golang.org/grpc.(*Server).serveStreams.func1.1() /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:982 +0x98 created by google.golang.org/grpc.(*Server).serveStreams.func1 /home/runner/go/pkg/mod/google.golang.org/grpc@v1.57.0/server.go:980 +0x18c error: preview failed ovh:CloudProject:KubeNodePool (ovh-nodepool-small): error: Preview failed: error reading from server: EOF
and the current state known to pulumi:
pulumi
{ "urn": "urn:pulumi:test-pulumi2::avatar-ovh::ovh:CloudProject/kubeNodePool:KubeNodePool::ovh-nodepool-small", "custom": true, "id": "7cb6b01e-01cf-4ac5-97b0-f5cb9a6c9ed8", "type": "ovh:CloudProject/kubeNodePool:KubeNodePool", "inputs": { "__defaults": [ "name" ], "antiAffinity": false, "autoscale": true, "desiredNodes": 1, "flavorName": "r2-30", "kubeId": "7fd80973-ea87-4798-b199-5ffdb53e7974", "maxNodes": 3, "minNodes": 1, "monthlyBilled": false, "name": "ovh-nodepool-small-b905dfa", "serviceName": "a40323b0eccb4606a325ef743c5dd17d", "template": { "__defaults": [], "metadata": { "__defaults": [], "annotations": { "__defaults": [] }, "finalizers": [], "labels": { "__defaults": [], "nodeType": "small" } }, "spec": { "__defaults": [], "taints": [], "unschedulable": false } } }, "outputs": { "__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"default\":600000000000,\"delete\":600000000000,\"read\":300000000000,\"update\":600000000000}}", "antiAffinity": false, "autoscale": true, "availableNodes": 1, "createdAt": "2023-10-06T15:45:30Z", "currentNodes": 1, "desiredNodes": 1, "flavor": "r2-30", "flavorName": "r2-30", "id": "7cb6b01e-01cf-4ac5-97b0-f5cb9a6c9ed8", "kubeId": "7fd80973-ea87-4798-b199-5ffdb53e7974", "maxNodes": 3, "minNodes": 1, "monthlyBilled": false, "name": "ovh-small-nodepool-b905dfa", "projectId": "a40323b0eccb4606a325ef743c5dd17d", "serviceName": "a40323b0eccb4606a325ef743c5dd17d", "sizeStatus": "CAPACITY_OK", "status": "READY", "template": { "metadata": { "annotations": {}, "finalizers": [], "labels": { "nodeType": "small" } }, "spec": { "taints": [], "unschedulable": false } }, "upToDateNodes": 1, "updatedAt": "2023-10-11T15:55:43Z" }, "parent": "urn:pulumi:test-pulumi2::avatar-ovh::pulumi:pulumi:Stack::avatar-ovh-test-pulumi2", "dependencies": [ "urn:pulumi:test-pulumi2::avatar-ovh::ovh:CloudProject/kube:Kube::test-pulumi2-app" ], "provider": "urn:pulumi:test-pulumi2::avatar-ovh::pulumi:providers:ovh::ovh-provider::05245939-c1d9-4bc8-ad0b-f9ce3c350d5a", "propertyDependencies": { "antiAffinity": null, "autoscale": null, "desiredNodes": null, "flavorName": null, "kubeId": [ "urn:pulumi:test-pulumi2::avatar-ovh::ovh:CloudProject/kube:Kube::test-pulumi2-app" ], "maxNodes": null, "minNodes": null, "monthlyBilled": null, "serviceName": null, "template": null }, "created": "2023-10-06T15:50:03.05906Z", "modified": "2023-10-11T15:55:43.476637361Z", "sourcePosition": "project:///cluster.ts#57,30" },
Changing anything else makes the pulumi up preview work correctly.
pulumi up
Hey @tcrasset, thanks for reporting! I will have a look onto this!
Does it work on the latest version?
This is my current nodepool. Uncommenting the
taints
spec I added yields an error.The error:
and the current state known to
pulumi
:Changing anything else makes the
pulumi up
preview work correctly.