terraform-provider-kubernetes-alpha icon indicating copy to clipboard operation
terraform-provider-kubernetes-alpha copied to clipboard

inconsistent map element types on postgresql.acid.zalan.do

Open a0s opened this issue 3 years ago • 3 comments

Terraform, Provider, Kubernetes versions

Terraform version: v0.14.8
Provider version: 0.3.1
Kubernetes version: v1.20.4

Affected Resource(s)

  • kubernetes_manifest

Terraform Configuration Files

resource "kubernetes_namespace" "postgres" {
  metadata {
    name = "postgres"
  }
}

data "http" "postgres_operator_crd" {
  url = "https://raw.githubusercontent.com/flant/postgres-operator/master/charts/postgres-operator/values-crd.yaml"
}

resource "helm_release" "postgres_operator" {
  name = "postgres-operator"
  repository = "git+https://github.com/flant/postgres-operator@charts?ref=master&sparse=1"
  chart = "postgres-operator"
  namespace = kubernetes_namespace.postgres.metadata[0].name

  wait = true

  values = [
    data.http.postgres_operator_crd.body
  ]
}

resource "kubernetes_manifest" "minimal_postgres_manifest" {
  depends_on = [helm_release.postgres_operator]
  provider = kubernetes-alpha
  manifest = {
    apiVersion = "acid.zalan.do/v1"
    kind = "postgresql"
    metadata = {
      name = "acid-minimal-cluster"
      namespace = kubernetes_namespace.postgres.metadata[0].name
    }
    spec = {
      teamId = "acid"
      volume = {
        size = "1Gi"
      }
      numberOfInstances = 2
      users = {
        zalando = [
          "superuser",
          "createdb"
        ]
        foo_user = [] // <= adding second user (ever empty) cause crash
      }
      databases = {
        foo = "zalando"
      }
      postgresql = {
        version = "12"
      }
    }
  }
}

Panic Output

https://gist.github.com/a0s/c422871f0cbb4fdffaabb56ad3dfad65

Steps to Reproduce

  1. terraform apply

Expected Behavior

Should create postgresql resource

Actual Behavior

Crash

Important Factoids

I am trying to run this example. The same kubectl example works fine

cat <<EOF | kubectl apply -f -
apiVersion: "acid.zalan.do/v1"
kind: postgresql
metadata:
  name: acid-minimal-cluster
  namespace: postgres
spec:
  teamId: "acid"
  volume:
    size: 1Gi
  numberOfInstances: 2
  users:
    # database owner
    zalando:
    - superuser
    - createdb

    # role for application foo
    foo_user: [] 

  #databases: name->owner
  databases:
    foo: zalando
  postgresql:
    version: "12"
EOF
postgresql.acid.zalan.do/acid-minimal-cluster created

References

Community Note

a0s avatar Mar 22 '21 09:03 a0s

I can reproduce this as well. Seems to be an issue with the translation of the CRD openApiV3 schema into the OpenAPI v2 that the API server offers to the provider. I'll have to clarify with API machinery maintainers exactly why this is happening.

In the mean time, it seems you can work around the issue by always having the same number of roles for all users in the list. This isn't going to always work, but here's how I fixed it for your example:

      users = {
        zalando = [
          "superuser",
          "createdb"
        ]
        foo_user = [
            "superuser",
            "SUPERUSER"
        ]
      }

This is a terrible workaround. I will follow up with the Kubernetes API maintainers to figure out what can be done about the OpenAPI issue.

alexsomesan avatar Mar 24 '21 14:03 alexsomesan

@alexsomesan Thank you for this workaround, it really better than nothing!

a0s avatar Mar 24 '21 15:03 a0s

I found another repro for what I believe is essentially the same problem. I was able to reduce it to two containers in a Deployment having different livenessProbes (one with, one without, or both with different types of livenessProbe will trigger the crash)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: "${name}"
  namespace: "${namespace}"
  labels:
    app: "${name}"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: "${name}"
  template:
    metadata:
      labels:
        app: "${name}"
    spec:
      containers:
        - name: "php"
          image: "${php_image}"
        - name: "nginx"
          image: "${nginx_image}"
          livenessProbe:
            httpGet:
              path: "/nginx_status"
              port: "http"
            initialDelaySeconds: 3
            periodSeconds: 10

Throws:

panic: inconsistent list element types (cty.Object(map[string]cty.Type{"args":cty.List(cty.String), "command":cty.List(cty.String), "env":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String, "valueFrom":cty.Object(map[string]cty.Type{"configMapKeyRef":cty.Object(map[string]cty.Type{"key":cty.String, "name":cty.String, "optional":cty.Bool}), "fieldRef":cty.Object(map[string]cty.Type{"apiVersion":cty.String, "fieldPath":cty.String}), "resourceFieldRef":cty.Object(map[string]cty.Type{"containerName":cty.String, "divisor":cty.String, "resource":cty.String}), "secretKeyRef":cty.Object(map[string]cty.Type{"key":cty.String, "name":cty.String, "optional":cty.Bool})})})), "envFrom":cty.List(cty.Object(map[string]cty.Type{"configMapRef":cty.Object(map[string]cty.Type{"name":cty.String, "optional":cty.Bool}), "prefix":cty.String, "secretRef":cty.Object(map[string]cty.Type{"name":cty.String, "optional":cty.Bool})})), "image":cty.String, "imagePullPolicy":cty.String, "lifecycle":cty.Object(map[string]cty.Type{"postStart":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType})}), "preStop":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType})})}), "livenessProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "name":cty.String, "ports":cty.List(cty.Object(map[string]cty.Type{"containerPort":cty.Number, "hostIP":cty.String, "hostPort":cty.Number, "name":cty.String, "protocol":cty.String})), "readinessProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "resources":cty.Object(map[string]cty.Type{"limits":cty.Map(cty.String), "requests":cty.Map(cty.String)}), "securityContext":cty.Object(map[string]cty.Type{"allowPrivilegeEscalation":cty.Bool, "capabilities":cty.Object(map[string]cty.Type{"add":cty.List(cty.String), "drop":cty.List(cty.String)}), "privileged":cty.Bool, "procMount":cty.String, "readOnlyRootFilesystem":cty.Bool, "runAsGroup":cty.Number, "runAsNonRoot":cty.Bool, "runAsUser":cty.Number, "seLinuxOptions":cty.Object(map[string]cty.Type{"level":cty.String, "role":cty.String, "type":cty.String, "user":cty.String}), "seccompProfile":cty.Object(map[string]cty.Type{"localhostProfile":cty.String, "type":cty.String}), "windowsOptions":cty.Object(map[string]cty.Type{"gmsaCredentialSpec":cty.String, "gmsaCredentialSpecName":cty.String, "runAsUserName":cty.String})}), "startupProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "stdin":cty.Bool, "stdinOnce":cty.Bool, "terminationMessagePath":cty.String, "terminationMessagePolicy":cty.String, "tty":cty.Bool, "volumeDevices":cty.List(cty.Object(map[string]cty.Type{"devicePath":cty.String, "name":cty.String})), "volumeMounts":cty.List(cty.Object(map[string]cty.Type{"mountPath":cty.String, "mountPropagation":cty.String, "name":cty.String, "readOnly":cty.Bool, "subPath":cty.String, "subPathExpr":cty.String})), "workingDir":cty.String}) then cty.Object(map[string]cty.Type{"args":cty.List(cty.String), "command":cty.List(cty.String), "env":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String, "valueFrom":cty.Object(map[string]cty.Type{"configMapKeyRef":cty.Object(map[string]cty.Type{"key":cty.String, "name":cty.String, "optional":cty.Bool}), "fieldRef":cty.Object(map[string]cty.Type{"apiVersion":cty.String, "fieldPath":cty.String}), "resourceFieldRef":cty.Object(map[string]cty.Type{"containerName":cty.String, "divisor":cty.String, "resource":cty.String}), "secretKeyRef":cty.Object(map[string]cty.Type{"key":cty.String, "name":cty.String, "optional":cty.Bool})})})), "envFrom":cty.List(cty.Object(map[string]cty.Type{"configMapRef":cty.Object(map[string]cty.Type{"name":cty.String, "optional":cty.Bool}), "prefix":cty.String, "secretRef":cty.Object(map[string]cty.Type{"name":cty.String, "optional":cty.Bool})})), "image":cty.String, "imagePullPolicy":cty.String, "lifecycle":cty.Object(map[string]cty.Type{"postStart":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType})}), "preStop":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType})})}), "livenessProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.String, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "name":cty.String, "ports":cty.List(cty.Object(map[string]cty.Type{"containerPort":cty.Number, "hostIP":cty.String, "hostPort":cty.Number, "name":cty.String, "protocol":cty.String})), "readinessProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "resources":cty.Object(map[string]cty.Type{"limits":cty.Map(cty.String), "requests":cty.Map(cty.String)}), "securityContext":cty.Object(map[string]cty.Type{"allowPrivilegeEscalation":cty.Bool, "capabilities":cty.Object(map[string]cty.Type{"add":cty.List(cty.String), "drop":cty.List(cty.String)}), "privileged":cty.Bool, "procMount":cty.String, "readOnlyRootFilesystem":cty.Bool, "runAsGroup":cty.Number, "runAsNonRoot":cty.Bool, "runAsUser":cty.Number, "seLinuxOptions":cty.Object(map[string]cty.Type{"level":cty.String, "role":cty.String, "type":cty.String, "user":cty.String}), "seccompProfile":cty.Object(map[string]cty.Type{"localhostProfile":cty.String, "type":cty.String}), "windowsOptions":cty.Object(map[string]cty.Type{"gmsaCredentialSpec":cty.String, "gmsaCredentialSpecName":cty.String, "runAsUserName":cty.String})}), "startupProbe":cty.Object(map[string]cty.Type{"exec":cty.Object(map[string]cty.Type{"command":cty.List(cty.String)}), "failureThreshold":cty.Number, "httpGet":cty.Object(map[string]cty.Type{"host":cty.String, "httpHeaders":cty.List(cty.Object(map[string]cty.Type{"name":cty.String, "value":cty.String})), "path":cty.String, "port":cty.DynamicPseudoType, "scheme":cty.String}), "initialDelaySeconds":cty.Number, "periodSeconds":cty.Number, "successThreshold":cty.Number, "tcpSocket":cty.Object(map[string]cty.Type{"host":cty.String, "port":cty.DynamicPseudoType}), "timeoutSeconds":cty.Number}), "stdin":cty.Bool, "stdinOnce":cty.Bool, "terminationMessagePath":cty.String, "terminationMessagePolicy":cty.String, "tty":cty.Bool, "volumeDevices":cty.List(cty.Object(map[string]cty.Type{"devicePath":cty.String, "name":cty.String})), "volumeMounts":cty.List(cty.Object(map[string]cty.Type{"mountPath":cty.String, "mountPropagation":cty.String, "name":cty.String, "readOnly":cty.Bool, "subPath":cty.String, "subPathExpr":cty.String})), "workingDir":cty.String}))                                                                                                                                                                                                                                                

goroutine 268 [running]:
github.com/zclconf/go-cty/cty.ListVal(0xc001ab8880, 0x2, 0x2, 0xc00124a280, 0x6, 0x8, 0x2c36928)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/value_init.go:166 +0x57e
github.com/zclconf/go-cty/cty/msgpack.unmarshalList(0xc00170ea98, 0x2c36928, 0xc0010cff20, 0xc00124a280, 0x6, 0x8, 0xc000a5f210, 0xc001692880, 0xc000091400, 0x0, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:161 +0x3ec
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c368b8, 0xc0010cff30, 0xc00124a280, 0x5, 0x8, 0x2c36848, 0xc00005c491, 0x23d1b60, 0x3d0f100, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:52 +0x594
github.com/zclconf/go-cty/cty/msgpack.unmarshalObject(0xc00170ea98, 0xc0018a3da0, 0xc00124a280, 0x5, 0x8, 0x7f70681dae18, 0x28, 0xc001692880, 0xc000091400, 0x7f70681dae18, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:297 +0x4c8
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36928, 0xc000cab520, 0xc001ab8840, 0x4, 0x4, 0x2c36928, 0xc000cabd40, 0x23fb5c0, 0xc000ea02a0, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:60 +0x8dc
github.com/zclconf/go-cty/cty/msgpack.unmarshalObject(0xc00170ea98, 0xc0018a3dd0, 0xc001ab8840, 0x4, 0x4, 0x80, 0x8, 0xc001692880, 0xc000091400, 0x0, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:297 +0x4c8
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36928, 0xc000cab540, 0xc001ab8840, 0x3, 0x4, 0x2c36928, 0xc000cabb90, 0x23fb5c0, 0xc000ea00f0, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:60 +0x8dc
github.com/zclconf/go-cty/cty/msgpack.unmarshalObject(0xc00170ea98, 0xc0018a3e00, 0xc001ab8840, 0x3, 0x4, 0x80, 0x4, 0xc001692880, 0xc000091400, 0x0, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:297 +0x4c8
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36928, 0xc000cab580, 0xc001abb920, 0x2, 0x2, 0x2c36928, 0xc000caba20, 0x23fb5c0, 0xc0018a3e90, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:60 +0x8dc
github.com/zclconf/go-cty/cty/msgpack.unmarshalObject(0xc00170ea98, 0xc0018a3e30, 0xc001abb920, 0x2, 0x2, 0x2bdaa20, 0xc0000a2070, 0xc00170e340, 0x780f67, 0xc00162ef20, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:297 +0x4c8
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36928, 0xc000cab5a0, 0xc000f4a070, 0x1, 0x1, 0x0, 0x6, 0x23fb501, 0x6, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:60 +0x8dc
github.com/zclconf/go-cty/cty/msgpack.unmarshalDynamic(0xc00170ea98, 0xc000f4a070, 0x1, 0x1, 0x203000, 0xc00170e588, 0x40f28c, 0x7f706834aaa8, 0x100, 0x0)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:333 +0x998
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36880, 0x3d0f608, 0xc000f4a070, 0x1, 0x1, 0x2c36928, 0xc000f4afb0, 0x23fb5c0, 0xc0018e6960, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:37 +0xb1d
github.com/zclconf/go-cty/cty/msgpack.unmarshalObject(0xc00170ea98, 0xc0016fb050, 0xc000f4a070, 0x1, 0x1, 0x7f7068197680, 0xc0016fb080, 0x2bfe468, 0xc0016fb080, 0x5000101, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:297 +0x4c8
github.com/zclconf/go-cty/cty/msgpack.unmarshal(0xc00170ea98, 0x2c36928, 0xc000f4a060, 0x0, 0x0, 0x0, 0xc001542268, 0x8, 0xc001542280, 0x6, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:60 +0x8dc
github.com/zclconf/go-cty/cty/msgpack.Unmarshal(0xc0014a6000, 0x71fc, 0x8000, 0x2c36928, 0xc000f4a060, 0x0, 0x0, 0x0, 0x0, 0xc00170eb98, ...)
        /tmp/portage/app-admin/terraform-0.15.0/homedir/go/pkg/mod/github.com/zclconf/[email protected]/cty/msgpack/unmarshal.go:22 +0x10b
github.com/hashicorp/terraform/plugin.decodeDynamicValue(0xc0005a8fc0, 0x2c36928, 0xc000f4a060, 0xc00170ec78, 0x1, 0x1, 0x0, 0x0, 0x0)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/plugin/grpc_provider.go:616 +0x13a
github.com/hashicorp/terraform/plugin.(*GRPCProvider).PlanResourceChange(0xc001166080, 0xc000057080, 0x13, 0x2c36928, 0xc00076acf0, 0x0, 0x0, 0x2c36928, 0xc00076bd80, 0x23fb5c0, ...) 
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/plugin/grpc_provider.go:426 +0x7b2
github.com/hashicorp/terraform/terraform.(*NodeAbstractResourceInstance).plan(0xc001ae2000, 0x2c6c6b0, 0xc001134270, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0004acb80, ...)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/terraform/node_resource_abstract_instance.go:654 +0xf76
github.com/hashicorp/terraform/terraform.(*NodePlannableResourceInstance).managedResourceExecute(0xc000ed5a30, 0x2c6c6b0, 0xc001134270, 0xc000000001, 0xc001ade318, 0xc00111bc80)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/terraform/node_resource_plan_instance.go:156 +0x4fc
github.com/hashicorp/terraform/terraform.(*NodePlannableResourceInstance).Execute(0xc000ed5a30, 0x2c6c6b0, 0xc001134270, 0xc0000c2002, 0xc00111bd18, 0x40d885, 0x2445020)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/terraform/node_resource_plan_instance.go:42 +0xb3
github.com/hashicorp/terraform/terraform.(*ContextGraphWalker).Execute(0xc0003f9200, 0x2c6c6b0, 0xc001134270, 0x7f706837ccc0, 0xc000ed5a30, 0x0, 0x0, 0x0)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/terraform/graph_walk_context.go:127 +0xbf
github.com/hashicorp/terraform/terraform.(*Graph).walk.func1(0x2775ba0, 0xc000ed5a30, 0x0, 0x0, 0x0)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/terraform/graph.go:59 +0xba2
github.com/hashicorp/terraform/dag.(*Walker).walkVertex(0xc0003fc780, 0x2775ba0, 0xc000ed5a30, 0xc001ab9040)
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/dag/walk.go:381 +0x288
created by github.com/hashicorp/terraform/dag.(*Walker).Update
        /tmp/portage/app-admin/terraform-0.15.0/work/terraform-0.15.0/dag/walk.go:304 +0x1246

This is with kubernetes-alpha v0.3.2.

devurandom avatar Apr 25 '21 21:04 devurandom