Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIGSEGV invalid memory address or nil pointer dereference #6848

Closed
ziouf opened this issue May 23, 2023 · 7 comments · Fixed by #6849
Closed

SIGSEGV invalid memory address or nil pointer dereference #6848

ziouf opened this issue May 23, 2023 · 7 comments · Fixed by #6849

Comments

@ziouf
Copy link

ziouf commented May 23, 2023

Bug Report

What did you do?

Installed ECK operator from operatorhub with OLM.

What did you expect to see?

ECK operator up and running

What did you see instead? Under which circumstances?

$ kubectl -n operators get pod
NAME                                                READY   STATUS             RESTARTS       AGE
elastic-operator-7d6fbcc855-kfkgd                   0/1     CrashLoopBackOff   12 (44s ago)   37m
$ kubectl -n operators logs -f pod/elastic-operator-7d6fbcc855-kfkgd manager 
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"maxprocs: Updating GOMAXPROCS=1: determined from CPU quota","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"Setting default container registry","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0","container_registry":"docker.elastic.co"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"Setting up scheme","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.471Z","log.logger":"manager","message":"Operator configured to manage all namespaces","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x14a6510]

Environment

  • ECK version:
    * docker.elastic.co/eck/eck-operator:2.7.0

  • Kubernetes information:

    • Cloud: Scaleway
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.1", GitCommit:"4c9411232e10168d7b050c49a1b59f6df9d7ea4b", GitTreeState:"clean", BuildDate:"2023-04-14T13:21:19Z", GoVersion:"go1.20.3", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.1", GitCommit:"4c9411232e10168d7b050c49a1b59f6df9d7ea4b", GitTreeState:"clean", BuildDate:"2023-04-14T13:14:42Z", GoVersion:"go1.20.3", Compiler:"gc", Platform:"linux/amd64"}

  • Resource definition:
$ kubectl -n operators get deployment/elastic-operator -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "11"
  creationTimestamp: "2022-10-06T10:45:28Z"
  generation: 208
  labels:
    olm.deployment-spec-hash: 796c8ff8c9
    olm.owner: elastic-cloud-eck.v2.7.0
    olm.owner.kind: ClusterServiceVersion
    olm.owner.namespace: operators
    operators.coreos.com/elastic-cloud-eck.operators: ""
  name: elastic-operator
  namespace: operators
  ownerReferences:
  - apiVersion: operators.coreos.com/v1alpha1
    blockOwnerDeletion: false
    controller: false
    kind: ClusterServiceVersion
    name: elastic-cloud-eck.v2.7.0
    uid: 12605028-5f3e-437f-af74-5b3666300c12
  resourceVersion: "10798287392"
  uid: 252abf12-741b-4d4b-88c8-68d7a11ff153
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 1
  selector:
    matchLabels:
      control-plane: elastic-operator
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      annotations:
        alm-examples: |-
          [
              {
                  "apiVersion": "elasticsearch.k8s.elastic.co/v1",
                  "kind": "Elasticsearch",
                  "metadata": {
                      "name": "elasticsearch-sample"
                  },
                  "spec": {
                      "version": "8.7.0",
                      "nodeSets": [
                          {
                              "name": "default",
                              "config": {
                                  "node.roles": ["master", "data"],
                                  "node.attr.attr_name": "attr_value",
                                  "node.store.allow_mmap": false
                              },
                              "podTemplate": {
                                  "metadata": {
                                      "labels": {
                                          "foo": "bar"
                                      }
                                  },
                                  "spec": {
                                      "containers": [
                                          {
                                              "name": "elasticsearch",
                                              "resources": {
                                                  "requests": {
                                                      "memory": "4Gi",
                                                      "cpu": 1
                                                  },
                                                  "limits": {
                                                      "memory": "4Gi",
                                                      "cpu": 2
                                                  }
                                              }
                                          }
                                      ]
                                  }
                              },
                              "count": 3
                          }
                      ]
                  }
              },
              {
                  "apiVersion": "kibana.k8s.elastic.co/v1",
                  "kind": "Kibana",
                  "metadata": {
                      "name": "kibana-sample"
                  },
                  "spec": {
                      "version": "8.7.0",
                      "count": 1,
                      "elasticsearchRef": {
                          "name": "elasticsearch-sample"
                      },
                      "podTemplate": {
                          "metadata": {
                              "labels": {
                                  "foo": "bar"
                              }
                          },
                          "spec": {
                              "containers": [
                                  {
                                      "name": "kibana",
                                      "resources": {
                                          "requests": {
                                              "memory": "1Gi",
                                              "cpu": 0.5
                                          },
                                          "limits": {
                                              "memory": "2Gi",
                                              "cpu": 2
                                          }
                                      }
                                  }
                              ]
                          }
                      }
                  }
              },
              {
                  "apiVersion": "apm.k8s.elastic.co/v1",
                  "kind": "ApmServer",
                  "metadata": {
                      "name": "apmserver-sample"
                  },
                  "spec": {
                      "version": "8.7.0",
                      "count": 1,
                      "elasticsearchRef": {
                          "name": "elasticsearch-sample"
                      }
                  }
              },
              {
                  "apiVersion": "enterprisesearch.k8s.elastic.co/v1",
                  "kind": "EnterpriseSearch",
                  "metadata": {
                      "name": "ent-sample"
                  },
                  "spec": {
                      "version": "8.7.0",
                      "config": {
                          "ent_search.external_url": "https://localhost:3002"
                      },
                      "count": 1,
                      "elasticsearchRef": {
                          "name": "elasticsearch-sample"
                      }
                  }
              },
              {
                "apiVersion": "beat.k8s.elastic.co/v1beta1",
                "kind": "Beat",
                "metadata": {
                  "name": "heartbeat-sample"
                },
                "spec": {
                  "type": "heartbeat",
                  "version": "8.7.0",
                  "elasticsearchRef": {
                    "name": "elasticsearch-sample"
                  },
                  "config": {
                    "heartbeat.monitors": [
                      {
                        "type": "tcp",
                        "schedule": "@every 5s",
                        "hosts": [
                          "elasticsearch-sample-es-http.default.svc:9200"
                        ]
                      }
                    ]
                  },
                  "deployment": {
                    "replicas": 1,
                    "podTemplate": {
                      "spec": {
                        "securityContext": {
                          "runAsUser": 0
                        }
                      }
                    }
                  }
                }
              },
              {
                "apiVersion": "agent.k8s.elastic.co/v1alpha1",
                "kind": "Agent",
                "metadata": {
                  "name": "agent-sample"
                },
                "spec": {
                  "version": "8.7.0",
                  "elasticsearchRefs": [
                    {
                      "name": "elasticsearch-sample"
                    }
                  ],
                  "daemonSet": {},
                  "config": {
                    "inputs": [
                      {
                        "name": "system-1",
                        "revision": 1,
                        "type": "system/metrics",
                        "use_output": "default",
                        "meta": {
                          "package": {
                            "name": "system",
                            "version": "0.9.1"
                          }
                        },
                        "data_stream": {
                          "namespace": "default"
                        },
                        "streams": [
                          {
                            "id": "system/metrics-system.cpu",
                            "data_stream": {
                              "dataset": "system.cpu",
                              "type": "metrics"
                            },
                            "metricsets": [
                              "cpu"
                            ],
                            "cpu.metrics": [
                              "percentages",
                              "normalized_percentages"
                            ],
                            "period": "10s"
                          }
                        ]
                      }
                    ]
                  }
                }
              },
              {
                  "apiVersion": "maps.k8s.elastic.co/v1alpha1",
                  "kind": "ElasticMapsServer",
                  "metadata": {
                      "name": "ems-sample"
                  },
                  "spec": {
                      "version": "8.7.0",
                      "count": 1,
                      "elasticsearchRef": {
                          "name": "elasticsearch-sample"
                      }
                  }
              }
          ]
        capabilities: Deep Insights
        categories: Database
        certified: "false"
        co.elastic.logs/raw: '[{"type":"container","json.keys_under_root":true,"paths":["/var/log/containers/*${data.kubernetes.container.id}.log"],"processors":[{"convert":{"mode":"rename","ignore_missing":true,"fields":[{"from":"error","to":"_error"}]}},{"convert":{"mode":"rename","ignore_missing":true,"fields":[{"from":"_error","to":"error.message"}]}},{"convert":{"mode":"rename","ignore_missing":true,"fields":[{"from":"source","to":"_source"}]}},{"convert":{"mode":"rename","ignore_missing":true,"fields":[{"from":"_source","to":"event.source"}]}}]}]'
        containerImage: docker.elastic.co/eck/eck-operator:2.7.0
        createdAt: "2023-03-31 14:32:53"
        description: Run Elasticsearch, Kibana, APM Server, Beats, Enterprise Search,
          Elastic Agent and Elastic Maps Server on Kubernetes and OpenShift
        olm.operatorGroup: global-operators
        olm.operatorNamespace: operators
        olm.targetNamespaces: ""
        olmcahash: 02f1c20fd912ad7e2ea92e979d0d648141026f57a66eda615eaec1d7ab76eae2
        operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"agent.k8s.elastic.co","kind":"Agent","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"apm.k8s.elastic.co","kind":"ApmServer","version":"v1"}},{"type":"olm.gvk","value":{"group":"apm.k8s.elastic.co","kind":"ApmServer","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"apm.k8s.elastic.co","kind":"ApmServer","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"autoscaling.k8s.elastic.co","kind":"ElasticsearchAutoscaler","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"beat.k8s.elastic.co","kind":"Beat","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"elasticsearch.k8s.elastic.co","kind":"Elasticsearch","version":"v1"}},{"type":"olm.gvk","value":{"group":"elasticsearch.k8s.elastic.co","kind":"Elasticsearch","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"elasticsearch.k8s.elastic.co","kind":"Elasticsearch","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"enterprisesearch.k8s.elastic.co","kind":"EnterpriseSearch","version":"v1"}},{"type":"olm.gvk","value":{"group":"enterprisesearch.k8s.elastic.co","kind":"EnterpriseSearch","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"kibana.k8s.elastic.co","kind":"Kibana","version":"v1"}},{"type":"olm.gvk","value":{"group":"kibana.k8s.elastic.co","kind":"Kibana","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"kibana.k8s.elastic.co","kind":"Kibana","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"maps.k8s.elastic.co","kind":"ElasticMapsServer","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"stackconfigpolicy.k8s.elastic.co","kind":"StackConfigPolicy","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"elastic-cloud-eck","version":"2.7.0"}}]}'
        repository: https://github.com/elastic/cloud-on-k8s
        support: elastic.co
      creationTimestamp: null
      labels:
        control-plane: elastic-operator
    spec:
      containers:
      - args:
        - manager
        - --config=/conf/eck.yaml
        - --manage-webhook-certs=false
        - --enable-webhook
        - --distribution-channel=community-operators
        env:
        - name: NAMESPACES
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['olm.targetNamespaces']
        - name: OPERATOR_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['olm.operatorNamespace']
        - name: OPERATOR_IMAGE
          value: docker.elastic.co/eck/eck-operator:2.7.0
        - name: OPERATOR_CONDITION_NAME
          value: elastic-cloud-eck.v2.7.0
        image: docker.elastic.co/eck/eck-operator:2.7.0
        imagePullPolicy: IfNotPresent
        name: manager
        ports:
        - containerPort: 9443
          name: https-webhook
          protocol: TCP
        resources:
          limits:
            cpu: "1"
            memory: 1Gi
          requests:
            cpu: 100m
            memory: 150Mi
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /apiserver.local.config/certificates
          name: apiservice-cert
        - mountPath: /tmp/k8s-webhook-server/serving-certs
          name: webhook-cert
      dnsPolicy: ClusterFirst
      nodeSelector:
        miimosa.scope: infra
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: elastic-operator
      serviceAccountName: elastic-operator
      terminationGracePeriodSeconds: 10
      tolerations:
      - effect: NoSchedule
        key: miimosa.scope.infra
        operator: Exists
      volumes:
      - name: apiservice-cert
        secret:
          defaultMode: 420
          items:
          - key: tls.crt
            path: apiserver.crt
          - key: tls.key
            path: apiserver.key
          secretName: elastic-operator-service-cert
      - name: webhook-cert
        secret:
          defaultMode: 420
          items:
          - key: tls.crt
            path: tls.crt
          - key: tls.key
            path: tls.key
          secretName: elastic-operator-service-cert
status:
  conditions:
  - lastTransitionTime: "2022-10-06T10:45:28Z"
    lastUpdateTime: "2023-03-31T18:26:23Z"
    message: ReplicaSet "elastic-operator-7d6fbcc855" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  - lastTransitionTime: "2023-05-23T21:50:13Z"
    lastUpdateTime: "2023-05-23T21:50:13Z"
    message: Deployment does not have minimum availability.
    reason: MinimumReplicasUnavailable
    status: "False"
    type: Available
  observedGeneration: 208
  replicas: 1
  unavailableReplicas: 1
  updatedReplicas: 1

  • Logs:
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"maxprocs: Updating GOMAXPROCS=1: determined from CPU quota","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"Setting default container registry","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0","container_registry":"docker.elastic.co"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.469Z","log.logger":"manager","message":"Setting up scheme","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
{"log.level":"info","@timestamp":"2023-05-23T21:39:53.471Z","log.logger":"manager","message":"Operator configured to manage all namespaces","service.version":"2.7.0+0ef8d5e3","service.type":"eck","ecs.version":"1.4.0"}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x14a6510]

goroutine 31 [running]:
k8s.io/client-go/discovery.convertAPIResource(...)
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/aggregated_discovery.go:88
k8s.io/client-go/discovery.convertAPIGroup({{{0x0, 0x0}, {0x0, 0x0}}, {{0xc0000c54e8, 0x15}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/aggregated_discovery.go:69 +0x570
k8s.io/client-go/discovery.SplitGroupsAndResources({{{0xc000060168, 0x15}, {0xc00038c680, 0x1b}}, {{0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, ...}, ...})
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/aggregated_discovery.go:35 +0x118
k8s.io/client-go/discovery.(*DiscoveryClient).downloadAPIs(0x13cb234?)
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:310 +0x47c
k8s.io/client-go/discovery.(*DiscoveryClient).GroupsAndMaybeResources(0x14aa753?)
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:198 +0x5c
k8s.io/client-go/discovery.ServerGroupsAndResources({0x229d9b0, 0xc0002a6480})
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:392 +0x59
k8s.io/client-go/discovery.(*DiscoveryClient).ServerGroupsAndResources.func1()
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:356 +0x25
k8s.io/client-go/discovery.withRetries(0x2, 0xc0002dcad8)
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:621 +0x71
k8s.io/client-go/discovery.(*DiscoveryClient).ServerGroupsAndResources(0x0?)
	/go/pkg/mod/k8s.io/client-go@v0.26.2/discovery/discovery_client.go:355 +0x3a
k8s.io/client-go/restmapper.GetAPIGroupResources({0x229d9b0?, 0xc0002a6480?})
	/go/pkg/mod/k8s.io/client-go@v0.26.2/restmapper/discovery.go:148 +0x42
sigs.k8s.io/controller-runtime/pkg/client/apiutil.NewDynamicRESTMapper.func1()
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/client/apiutil/dynamicrestmapper.go:94 +0x25
sigs.k8s.io/controller-runtime/pkg/client/apiutil.(*dynamicRESTMapper).setStaticMapper(...)
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/client/apiutil/dynamicrestmapper.go:130
sigs.k8s.io/controller-runtime/pkg/client/apiutil.NewDynamicRESTMapper(0xc00053e2d0?, {0x0, 0x0, 0xc1136a8a5c173001?})
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/client/apiutil/dynamicrestmapper.go:110 +0x182
sigs.k8s.io/controller-runtime/pkg/cluster.setOptionsDefaults.func1(0xc00031ec40?)
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/cluster/cluster.go:217 +0x25
sigs.k8s.io/controller-runtime/pkg/cluster.New(0xc0003befc0, {0xc0002b7480, 0x1, 0x2297678?})
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/cluster/cluster.go:159 +0x18d
sigs.k8s.io/controller-runtime/pkg/manager.New(_, {0xc00031ec40, 0x0, 0x0, {{0x2297678, 0xc0004eddd0}, 0x0}, 0x1, {0x1f5c64a, 0x10}, ...})
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.5/pkg/manager/manager.go:351 +0xf9
github.com/elastic/cloud-on-k8s/v2/cmd/manager.startOperator({0x2294988?, 0xc000200960})
	/go/src/github.com/elastic/cloud-on-k8s/cmd/manager/main.go:561 +0x139d
github.com/elastic/cloud-on-k8s/v2/cmd/manager.doRun.func2()
	/go/src/github.com/elastic/cloud-on-k8s/cmd/manager/main.go:381 +0x2e
created by github.com/elastic/cloud-on-k8s/v2/cmd/manager.doRun
	/go/src/github.com/elastic/cloud-on-k8s/cmd/manager/main.go:380 +0x5ca
@ziouf
Copy link
Author

ziouf commented May 24, 2023

controller-runtime 0.15.x has been released with support of 1.27 glient-go (https://github.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.0)

@pebrc @thbkrkr @barkbay Maybe an upgrade will fix the issue (#6847)

@barkbay
Copy link
Contributor

barkbay commented May 24, 2023

It does not seem to be related to the k8s version, I just did a quick test on Kind using 1.27.1 images and it works as expected (see my test below).
It seems that the API server returns a resource with a nil ResponseKind, not sure if it is a side effect of another CRD or if there is an issue with your cluster settings.

(⎈|?:N/A)➜ kind create cluster --name v271 --image=kindest/node:v1.27.1
Creating cluster "v271" ...
 ✓ Ensuring node image (kindest/node:v1.27.1) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹️
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-v271"
You can now use your cluster with:

kubectl cluster-info --context kind-v271
(⎈|kind-v271:N/A)➜  k apply -f https://download.elastic.co/downloads/eck/2.7.0/crds.yaml
customresourcedefinition.apiextensions.k8s.io/agents.agent.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/beats.beat.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticmapsservers.maps.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticsearchautoscalers.autoscaling.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/elasticsearches.elasticsearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/enterprisesearches.enterprisesearch.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/kibanas.kibana.k8s.elastic.co created
customresourcedefinition.apiextensions.k8s.io/stackconfigpolicies.stackconfigpolicy.k8s.elastic.co created
(⎈|kind-v271:N/A)➜ k apply -f https://download.elastic.co/downloads/eck/2.7.0/operator.yaml
namespace/elastic-system created
serviceaccount/elastic-operator created
secret/elastic-webhook-server-cert created
configmap/elastic-operator created
clusterrole.rbac.authorization.k8s.io/elastic-operator created
clusterrole.rbac.authorization.k8s.io/elastic-operator-view created
clusterrole.rbac.authorization.k8s.io/elastic-operator-edit created
clusterrolebinding.rbac.authorization.k8s.io/elastic-operator created
service/elastic-webhook-server created
statefulset.apps/elastic-operator created
validatingwebhookconfiguration.admissionregistration.k8s.io/elastic-webhook.k8s.elastic.co created
(⎈|kind-v271:N/A)➜  k get pods -n elastic-system
NAME                 READY   STATUS    RESTARTS   AGE
elastic-operator-0   1/1     Running   0          5m16s

@ziouf
Copy link
Author

ziouf commented May 24, 2023

this comment looks interesting : metallb/metallb#1893 (comment)

maybe a quick win ?

@barkbay
Copy link
Contributor

barkbay commented May 24, 2023

It seems that the API server returns a resource with a nil ResponseKind

Yes: kubernetes/kubernetes#116603

I will check if the fix has made its way into k8s.io/client-go v0.26.3 which is used in the next ECK release (2.8.0)

@barkbay
Copy link
Contributor

barkbay commented May 24, 2023

I will check if the fix has made its way into k8s.io/client-go v0.26.3 which is used in the next ECK release (2.8.0)

Nope, fix has been backported to v1.26.4
I'll update main to v0.26.5 which is the last patch version for v0.26.x and backport to 2.8

@barkbay
Copy link
Contributor

barkbay commented May 24, 2023

I was wrong about a potential CRD side-effect, according to this comment the culprit could be a custom metrics server:

Makes the aggregated discovery client resilient to a nil GVK in the discovery response, since some aggregated api servers (cough-metrics-cough) returns malformed discovery.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants