adding taints to nodepools results in panic
tcrasset opened this issue · 2 comments
tcrasset commented
This is my current nodepool. Uncommenting the taints
spec I added yields an error.
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
:
{
"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.
scraly commented
Does it work on the latest version?