You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Planning multiple kubernetes_manifest resources panicked 💥. Applying Kubegres operator - from a locally-stored kubegres.yaml. I use regex to break the file into separate documents and apply them with for_each.
Stack trace from the terraform-provider-kubernetes_v2.6.1_x5 plugin:
panic: lists must only contain one type of element, saw tftypes.Object["args":tftypes.List[tftypes.String],...........
Terraform Version, Provider Version and Kubernetes Version
data"google_client_config""current" {}
data"google_container_cluster""cluster" {
name=var.cluster_namelocation=local.cluster_location
}
provider"kubernetes" {
host="https://${data.google_container_cluster.cluster.endpoint}"token=data.google_client_config.current.access_tokencluster_ca_certificate=base64decode(data.google_container_cluster.cluster.master_auth.0.cluster_ca_certificate)
}
locals {
# yamldecode() does not support multi-document YAML, so work around that# See https://github.com/hashicorp/terraform/issues/29729# Use regex tricks to split multi-document yaml file into single yaml document blobs# Must use \n---\n to avoid splitting on strings and comments containing "---".# YAML allows "---" to be the first and last line of a file, so make sure# raw yaml begins and ends with a newline.# The "---" can be followed by spaces and comments, so need to remove those too.# Skip blocks that are empty or comments-only in case yaml began with a comment before "---".kubegres_yaml_blobs=[
foryaml_blobinsplit(
"\n---\n",
"\n${replace(file("kubegres.yaml"), "/(?m)^---[[:blank:]]*(#.*)?$/", "---")}\n"
) :yaml_blobiftrimspace(replace(yaml_blob, "/(?m)(^[[:blank:]]*(#.*)?$)+/", "")) !=""
]
}
resource"kubernetes_manifest""kubegres" {
# Create a map { "kind--name" => yaml_doc } from the multi-document yaml text.for_each={
forvaluein [
foryamlinlocal.kubegres_yaml_blobs:yamldecode(yaml)
] :"${value["kind"]}--${value["metadata"]["name"]}"=> value
}
manifest=each.value
}
Debug Output
Panic Output
Click to expand: Unfortunately we run all Terraforms inside docker containers that loose crash logs, so just the screen output
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["ServiceAccount--kubegres-controller-manager"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["ClusterRole--kubegres-manager-role"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["Deployment--kubegres-controller-manager"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["Service--kubegres-controller-manager-metrics-service"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["ClusterRoleBinding--kubegres-proxy-rolebinding"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["ClusterRoleBinding--kubegres-manager-rolebinding"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
╷
│ Error: Forbidden attribute key in "manifest" value
│
│ with kubernetes_manifest.kubegres["CustomResourceDefinition--kubegres.kubegres.reactive-tech.io"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ 'status' attribute key is not allowed in manifest configuration
╵
╷
│ Error: Plugin did not respond
│
│ with kubernetes_manifest.kubegres["RoleBinding--kubegres-leader-election-rolebinding"],
│ on kubegres.tf line 29, in resource "kubernetes_manifest" "kubegres":
│ 29: resource "kubernetes_manifest" "kubegres" {
│
│ The plugin encountered an error, and failed to respond to the plugin.(*GRPCProvider).PlanResourceChange call. The plugin logs may contain more details.
╵
Stack trace from the terraform-provider-kubernetes_v2.6.1_x5 plugin:
panic: lists must only contain one type of element, saw tftypes.Object["args":tftypes.List[tftypes.String], "command":tftypes.List[tftypes.String], "env":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String, "valueFrom":tftypes.Object["configMapKeyRef":tftypes.Object["key":tftypes.String, "name":tftypes.String, "optional":tftypes.Bool], "fieldRef":tftypes.Object["apiVersion":tftypes.String, "fieldPath":tftypes.String], "resourceFieldRef":tftypes.Object["containerName":tftypes.String, "divisor":tftypes.String, "resource":tftypes.String], "secretKeyRef":tftypes.Object["key":tftypes.String, "name":tftypes.String, "optional":tftypes.Bool]]]], "envFrom":tftypes.List[tftypes.Object["configMapRef":tftypes.Object["name":tftypes.String, "optional":tftypes.Bool], "prefix":tftypes.String, "secretRef":tftypes.Object["name":tftypes.String, "optional":tftypes.Bool]]], "image":tftypes.String, "imagePullPolicy":tftypes.String, "lifecycle":tftypes.Object["postStart":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType]], "preStop":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType]]], "livenessProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "name":tftypes.String, "ports":tftypes.List[tftypes.Object["containerPort":tftypes.Number, "hostIP":tftypes.String, "hostPort":tftypes.Number, "name":tftypes.String, "protocol":tftypes.String]], "readinessProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "resources":tftypes.Object["limits":tftypes.Map[tftypes.String], "requests":tftypes.Map[tftypes.String]], "securityContext":tftypes.Object["allowPrivilegeEscalation":tftypes.Bool, "capabilities":tftypes.Object["add":tftypes.List[tftypes.String], "drop":tftypes.List[tftypes.String]], "privileged":tftypes.Bool, "procMount":tftypes.String, "readOnlyRootFilesystem":tftypes.Bool, "runAsGroup":tftypes.Number, "runAsNonRoot":tftypes.Bool, "runAsUser":tftypes.Number, "seLinuxOptions":tftypes.Object["level":tftypes.String, "role":tftypes.String, "type":tftypes.String, "user":tftypes.String], "seccompProfile":tftypes.Object["localhostProfile":tftypes.String, "type":tftypes.String], "windowsOptions":tftypes.Object["gmsaCredentialSpec":tftypes.String, "gmsaCredentialSpecName":tftypes.String, "runAsUserName":tftypes.String]], "startupProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "stdin":tftypes.Bool, "stdinOnce":tftypes.Bool, "terminationMessagePath":tftypes.String, "terminationMessagePolicy":tftypes.String, "tty":tftypes.Bool, "volumeDevices":tftypes.List[tftypes.Object["devicePath":tftypes.String, "name":tftypes.String]], "volumeMounts":tftypes.List[tftypes.Object["mountPath":tftypes.String, "mountPropagation":tftypes.String, "name":tftypes.String, "readOnly":tftypes.Bool, "subPath":tftypes.String, "subPathExpr":tftypes.String]], "workingDir":tftypes.String] and tftypes.Object["args":tftypes.List[tftypes.String], "command":tftypes.List[tftypes.String], "env":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String, "valueFrom":tftypes.Object["configMapKeyRef":tftypes.Object["key":tftypes.String, "name":tftypes.String, "optional":tftypes.Bool], "fieldRef":tftypes.Object["apiVersion":tftypes.String, "fieldPath":tftypes.String], "resourceFieldRef":tftypes.Object["containerName":tftypes.String, "divisor":tftypes.String, "resource":tftypes.String], "secretKeyRef":tftypes.Object["key":tftypes.String, "name":tftypes.String, "optional":tftypes.Bool]]]], "envFrom":tftypes.List[tftypes.Object["configMapRef":tftypes.Object["name":tftypes.String, "optional":tftypes.Bool], "prefix":tftypes.String, "secretRef":tftypes.Object["name":tftypes.String, "optional":tftypes.Bool]]], "image":tftypes.String, "imagePullPolicy":tftypes.String, "lifecycle":tftypes.Object["postStart":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType]], "preStop":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType]]], "livenessProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.Number, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "name":tftypes.String, "ports":tftypes.List[tftypes.Object["containerPort":tftypes.Number, "hostIP":tftypes.String, "hostPort":tftypes.Number, "name":tftypes.String, "protocol":tftypes.String]], "readinessProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.Number, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "resources":tftypes.Object["limits":tftypes.Map[tftypes.String], "requests":tftypes.Map[tftypes.String]], "securityContext":tftypes.Object["allowPrivilegeEscalation":tftypes.Bool, "capabilities":tftypes.Object["add":tftypes.List[tftypes.String], "drop":tftypes.List[tftypes.String]], "privileged":tftypes.Bool, "procMount":tftypes.String, "readOnlyRootFilesystem":tftypes.Bool, "runAsGroup":tftypes.Number, "runAsNonRoot":tftypes.Bool, "runAsUser":tftypes.Number, "seLinuxOptions":tftypes.Object["level":tftypes.String, "role":tftypes.String, "type":tftypes.String, "user":tftypes.String], "seccompProfile":tftypes.Object["localhostProfile":tftypes.String, "type":tftypes.String], "windowsOptions":tftypes.Object["gmsaCredentialSpec":tftypes.String, "gmsaCredentialSpecName":tftypes.String, "runAsUserName":tftypes.String]], "startupProbe":tftypes.Object["exec":tftypes.Object["command":tftypes.List[tftypes.String]], "failureThreshold":tftypes.Number, "httpGet":tftypes.Object["host":tftypes.String, "httpHeaders":tftypes.List[tftypes.Object["name":tftypes.String, "value":tftypes.String]], "path":tftypes.String, "port":tftypes.DynamicPseudoType, "scheme":tftypes.String], "initialDelaySeconds":tftypes.Number, "periodSeconds":tftypes.Number, "successThreshold":tftypes.Number, "tcpSocket":tftypes.Object["host":tftypes.String, "port":tftypes.DynamicPseudoType], "timeoutSeconds":tftypes.Number], "stdin":tftypes.Bool, "stdinOnce":tftypes.Bool, "terminationMessagePath":tftypes.String, "terminationMessagePolicy":tftypes.String, "tty":tftypes.Bool, "volumeDevices":tftypes.List[tftypes.Object["devicePath":tftypes.String, "name":tftypes.String]], "volumeMounts":tftypes.List[tftypes.Object["mountPath":tftypes.String, "mountPropagation":tftypes.String, "name":tftypes.String, "readOnly":tftypes.Bool, "subPath":tftypes.String, "subPathExpr":tftypes.String]], "workingDir":tftypes.String]
goroutine 130 [running]:
github.com/hashicorp/terraform-plugin-go/tftypes.NewValue(...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-go/tftypes/value.go:277
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.morphTupleIntoType(0x26a7860, 0xc0012b97a0, 0x1f1e2a0, 0xc0001235d8, 0x26a7740, 0xc00217ae70, 0xc00133e4c8, 0x0, 0x203000, 0x203000, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:193 +0x1b85
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.ValueToType(0x26a7860, 0xc0012b97a0, 0x1f1e2a0, 0xc0001235d8, 0x26a7740, 0xc00217ae70, 0xc00133e4c8, 0x6, 0x0, 0x0, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:30 +0xa09
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.morphObjectToType(0x26a77d0, 0xc0012e7620, 0x202db80, 0xc001284870, 0x26a77d0, 0xc003a588d0, 0xc00133e4b0, 0x1100000000203000, 0xc003c52870, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:301 +0x425
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.ValueToType(0x26a77d0, 0xc0012e7620, 0x202db80, 0xc001284870, 0x26a77d0, 0xc003a588d0, 0xc00133e4b0, 0x4, 0xc003c52870, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:36 +0x709
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.morphObjectToType(0x26a77d0, 0xc0012ef3b0, 0x202db80, 0xc00127ba10, 0x26a77d0, 0xc003a58900, 0xc003647f50, 0x11000000026a77d0, 0xc003c50960, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:301 +0x425
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.ValueToType(0x26a77d0, 0xc0012ef3b0, 0x202db80, 0xc00127ba10, 0x26a77d0, 0xc003a58900, 0xc003647f50, 0x2, 0xc003c50960, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:36 +0x709
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.morphObjectToType(0x26a77d0, 0xc0012fb1d0, 0x202db80, 0xc00127a9f0, 0x26a77d0, 0xc003ad0a20, 0xc003647d70, 0x1100000000203000, 0xc003c4d740, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:301 +0x425
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.ValueToType(0x26a77d0, 0xc0012fb1d0, 0x202db80, 0xc00127a9f0, 0x26a77d0, 0xc003ad0a20, 0xc003647d70, 0x1, 0xc003c4d740, 0x202db80, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:36 +0x709
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.morphObjectToType(0x26a77d0, 0xc001301b90, 0x202db80, 0xc001245680, 0x26a77d0, 0xc003c33740, 0xc003647920, 0x0, 0xc002709a10, 0x8, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:301 +0x425
github.com/hashicorp/terraform-provider-kubernetes/manifest/morph.ValueToType(0x26a77d0, 0xc001301b90, 0x202db80, 0xc001245680, 0x26a77d0, 0xc003c33740, 0xc003647920, 0x2, 0xa, 0x0, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/morph/morph.go:36 +0x709
github.com/hashicorp/terraform-provider-kubernetes/manifest/provider.(*RawProviderServer).PlanResourceChange(0xc000c1e400, 0x2699848, 0xc0005f6100, 0xc0002961e0, 0xc0012c0818, 0x1, 0x30)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/manifest/provider/plan.go:315 +0x1cbb
github.com/hashicorp/terraform-plugin-mux.SchemaServer.PlanResourceChange(0xc000c1c990, 0xc000c1c9c0, 0xc001615fa0, 0x2, 0x2, 0xc000c1e300, 0x1, 0x2699848, 0xc0005f6100, 0xc0002961e0, ...)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-mux/schema_server.go:276 +0x98
github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).PlanResourceChange(0xc001615fc0, 0x26998f0, 0xc0005f6100, 0xc0002a6070, 0xc001615fc0, 0xc0005f8180, 0xc001776ba0)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-go/tfprotov5/server/server.go:315 +0xb5
github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_PlanResourceChange_Handler(0x220b4e0, 0xc001615fc0, 0x26998f0, 0xc0005f8180, 0xc0004d6120, 0x0, 0x26998f0, 0xc0005f8180, 0xc000361500, 0x1351)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:362 +0x214
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0003108c0, 0x26b14b8, 0xc000502c00, 0xc0005fe000, 0xc000c1ca50, 0x351bae8, 0x0, 0x0, 0x0)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:1217 +0x52b
google.golang.org/grpc.(*Server).handleStream(0xc0003108c0, 0x26b14b8, 0xc000502c00, 0xc0005fe000, 0x0)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:1540 +0xd0c
google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc000b14bf0, 0xc0003108c0, 0x26b14b8, 0xc000502c00, 0xc0005fe000)
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:878 +0xab
created by google.golang.org/grpc.(*Server).serveStreams.func1
/opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/hashicorp/terraform-provider-kubernetes/vendor/google.golang.org/grpc/server.go:876 +0x1fd
Error: The terraform-provider-kubernetes_v2.6.1_x5 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.
@nyurik This seem like it would be a duplicate of #1359 as your original error message is similar and the spec has anyOf defined for some of the schema properties. We're running into this issue too with our IstioOperator and EnvoyFilters.
Thanks @GenPage , it does look like a dup, so will close. I wonder if the regex-way of splitting multi-document yaml would be helpful to anyone else, and should go into docs somewhere?
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
Planning multiple
kubernetes_manifest
resources panicked 💥. Applying Kubegres operator - from a locally-stored kubegres.yaml. I use regex to break the file into separate documents and apply them withfor_each
.Terraform Version, Provider Version and Kubernetes Version
Affected Resource(s)
kubernetes_manifest
Terraform Configuration Files
Debug Output
Panic Output
Click to expand: Unfortunately we run all Terraforms inside docker containers that loose crash logs, so just the screen output
Steps to Reproduce
terraform plan
Expected Behavior
Not crash. Not show
Error: Plugin did not respond
errors.Actual Behavior
💥
References
Community Note
The text was updated successfully, but these errors were encountered: