Skip to content

[Bug] Incorrectly configured STRIMZI_KUBERNETES_VERSION makes the operator stuck #11384

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

Open
scholzj opened this issue Apr 26, 2025 · 4 comments

Comments

@scholzj
Copy link
Member

scholzj commented Apr 26, 2025

If you configure the STRIMZI_KUBERNETES_VERSION environment variable in the CO to something that is not a map (e.g. set it to STRIMZI_KUBERNETES_VERSION=1.33.0 instead of a valid map such as STRIMZI_KUBERNETES_VERSION="major=1, minor=33"), it will fail to parse the map and get an exception which is not handled. But because the futures are not failed properly, it remains stuck in a running state without terminating forever.

The full log from the CO is here:

Auto-detected KUBERNETES_SERVICE_DNS_DOMAIN: cluster.local
+ exec /usr/bin/tini -w -e 143 -- java -Dlog4j2.configurationFile=file:/opt/strimzi/custom-config/log4j2.properties -Dvertx.cacheDirBase=/tmp/vertx-cache -Djava.security.egd=file:/dev/./urandom -XX:+ExitOnOutOfMemoryError -XX:MinRAMPercentage=15 -XX:MaxRAMPercentage=20 -classpath :lib/io.strimzi.cluster-operator-0.46.0.jar:lib/io.strimzi.api-0.46.0.jar:lib/io.fabric8.kubernetes-model-apiextensions-7.1.0.jar:lib/io.strimzi.config-model-0.46.0.jar:lib/io.strimzi.operator-common-0.46.0.jar:lib/io.strimzi.crd-annotations-0.46.0.jar:lib/org.quartz-scheduler.quartz-2.3.2.jar:lib/org.eclipse.jetty.jetty-server-12.0.16.jar:lib/org.eclipse.jetty.jetty-io-12.0.16.jar:lib/org.eclipse.jetty.jetty-util-12.0.16.jar:lib/org.eclipse.jetty.jetty-http-12.0.16.jar:lib/javax.servlet.javax.servlet-api-3.1.0.jar:lib/io.fabric8.openshift-client-7.1.0.jar:lib/io.fabric8.openshift-client-api-7.1.0.jar:lib/io.fabric8.openshift-model-autoscaling-7.1.0.jar:lib/io.fabric8.openshift-model-operator-7.1.0.jar:lib/io.fabric8.openshift-model-operatorhub-7.1.0.jar:lib/io.fabric8.openshift-model-machine-7.1.0.jar:lib/io.fabric8.openshift-model-whereabouts-7.1.0.jar:lib/io.fabric8.openshift-model-monitoring-7.1.0.jar:lib/io.fabric8.openshift-model-storageversionmigrator-7.1.0.jar:lib/io.fabric8.openshift-model-tuned-7.1.0.jar:lib/io.fabric8.openshift-model-console-7.1.0.jar:lib/io.fabric8.openshift-model-config-7.1.0.jar:lib/io.fabric8.openshift-model-machineconfiguration-7.1.0.jar:lib/io.fabric8.openshift-model-miscellaneous-7.1.0.jar:lib/io.fabric8.openshift-model-hive-7.1.0.jar:lib/io.fabric8.openshift-model-installer-7.1.0.jar:lib/io.fabric8.kubernetes-client-7.1.0.jar:lib/io.fabric8.kubernetes-httpclient-jdk-7.1.0.jar:lib/io.fabric8.kubernetes-client-api-7.1.0.jar:lib/io.fabric8.kubernetes-model-gatewayapi-7.1.0.jar:lib/io.fabric8.kubernetes-model-resource-7.1.0.jar:lib/io.fabric8.kubernetes-model-admissionregistration-7.1.0.jar:lib/io.fabric8.kubernetes-model-autoscaling-7.1.0.jar:lib/io.fabric8.kubernetes-model-batch-7.1.0.jar:lib/io.fabric8.kubernetes-model-certificates-7.1.0.jar:lib/io.fabric8.kubernetes-model-discovery-7.1.0.jar:lib/io.fabric8.kubernetes-model-extensions-7.1.0.jar:lib/io.fabric8.kubernetes-model-flowcontrol-7.1.0.jar:lib/io.fabric8.kubernetes-model-metrics-7.1.0.jar:lib/io.fabric8.kubernetes-model-scheduling-7.1.0.jar:lib/io.fabric8.kubernetes-model-node-7.1.0.jar:lib/org.slf4j.slf4j-api-1.7.36.jar:lib/org.snakeyaml.snakeyaml-engine-2.9.jar:lib/com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.18.3.jar:lib/io.fabric8.kubernetes-model-core-7.1.0.jar:lib/javax.annotation.javax.annotation-api-1.3.2.jar:lib/io.fabric8.kubernetes-model-common-7.1.0.jar:lib/io.fabric8.kubernetes-model-events-7.1.0.jar:lib/io.fabric8.kubernetes-model-policy-7.1.0.jar:lib/io.fabric8.kubernetes-model-rbac-7.1.0.jar:lib/io.fabric8.kubernetes-model-apps-7.1.0.jar:lib/io.fabric8.kubernetes-model-storageclass-7.1.0.jar:lib/io.fabric8.kubernetes-model-networking-7.1.0.jar:lib/io.fabric8.kubernetes-model-coordination-7.1.0.jar:lib/io.fabric8.openshift-model-7.1.0.jar:lib/io.fabric8.zjsonpatch-0.3.0.jar:lib/com.fasterxml.jackson.core.jackson-core-2.18.3.jar:lib/com.fasterxml.jackson.core.jackson-databind-2.18.3.jar:lib/com.fasterxml.jackson.core.jackson-annotations-2.18.3.jar:lib/com.fasterxml.jackson.dataformat.jackson-dataformat-yaml-2.18.3.jar:lib/org.yaml.snakeyaml-2.3.jar:lib/io.vertx.vertx-core-4.5.14.jar:lib/io.netty.netty-common-4.1.118.Final.jar:lib/io.netty.netty-buffer-4.1.118.Final.jar:lib/io.netty.netty-handler-4.1.118.Final.jar:lib/io.netty.netty-handler-proxy-4.1.118.Final.jar:lib/io.netty.netty-codec-http-4.1.118.Final.jar:lib/io.netty.netty-codec-http2-4.1.118.Final.jar:lib/io.netty.netty-resolver-4.1.118.Final.jar:lib/io.netty.netty-resolver-dns-4.1.118.Final.jar:lib/io.netty.netty-codec-dns-4.1.118.Final.jar:lib/io.strimzi.certificate-manager-0.46.0.jar:lib/org.apache.logging.log4j.log4j-core-2.17.2.jar:lib/org.apache.logging.log4j.log4j-api-2.17.2.jar:lib/org.apache.logging.log4j.log4j-slf4j-impl-2.17.2.jar:lib/io.strimzi.kafka-oauth-server-0.16.2.jar:lib/io.strimzi.kafka-oauth-server-plain-0.16.2.jar:lib/io.strimzi.kafka-oauth-client-0.16.2.jar:lib/io.strimzi.kafka-oauth-common-0.16.2.jar:lib/com.nimbusds.nimbus-jose-jwt-9.37.2.jar:lib/com.github.stephenc.jcip.jcip-annotations-1.0-1.jar:lib/com.jayway.jsonpath.json-path-2.9.0.jar:lib/net.minidev.json-smart-2.5.2.jar:lib/net.minidev.accessors-smart-2.5.2.jar:lib/org.ow2.asm.asm-9.7.1.jar:lib/org.apache.kafka.kafka-clients-4.0.0.jar:lib/com.github.luben.zstd-jni-1.5.6-6.jar:lib/org.lz4.lz4-java-1.8.0.jar:lib/org.xerial.snappy.snappy-java-1.1.10.5.jar:lib/org.apache.kafka.kafka-server-common-4.0.0.jar:lib/com.yammer.metrics.metrics-core-2.2.0.jar:lib/net.sf.jopt-simple.jopt-simple-5.0.4.jar:lib/org.pcollections.pcollections-4.0.1.jar:lib/io.netty.netty-transport-4.1.118.Final.jar:lib/io.netty.netty-transport-native-epoll-4.1.118.Final-linux-x86_64.jar:lib/io.netty.netty-transport-native-unix-common-4.1.118.Final.jar:lib/io.netty.netty-transport-classes-epoll-4.1.118.Final.jar:lib/io.netty.netty-transport-native-epoll-4.1.118.Final-linux-aarch_64.jar:lib/io.micrometer.micrometer-core-1.12.13.jar:lib/io.micrometer.micrometer-commons-1.12.13.jar:lib/io.micrometer.micrometer-observation-1.12.13.jar:lib/org.hdrhistogram.HdrHistogram-2.1.12.jar:lib/org.latencyutils.LatencyUtils-2.0.3.jar:lib/io.micrometer.micrometer-registry-prometheus-1.12.13.jar:lib/io.prometheus.simpleclient_common-0.16.0.jar:lib/io.prometheus.simpleclient-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_otel-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_common-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_otel_agent-0.16.0.jar:lib/io.vertx.vertx-micrometer-metrics-4.5.14.jar:lib/io.netty.netty-codec-4.1.118.Final.jar:lib/io.netty.netty-codec-socks-4.1.118.Final.jar io.strimzi.operator.cluster.Main
2025-04-26 20:19:39 INFO  Main:59 - ClusterOperator 0.46.0 is starting
2025-04-26 20:19:39 INFO  Util:196 - Using config:
	PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
	container: oci
	STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE: quay.io/strimzi/operator:0.46.0-rc1
	JAVA_OPTS:  -Dlog4j2.configurationFile=file:/opt/strimzi/custom-config/log4j2.properties -Dvertx.cacheDirBase=/tmp/vertx-cache -Djava.security.egd=file:/dev/./urandom  -XX:+ExitOnOutOfMemoryError -XX:MinRAMPercentage=15 -XX:MaxRAMPercentage=20
	STRIMZI_HOME: /opt/strimzi
	PWD: /opt/strimzi
	STRIMZI_LEADER_ELECTION_IDENTITY: strimzi-cluster-operator-657bcf899-kmqpx
	STRIMZI_KUBERNETES_VERSION: 1.33.0
	JAVA_MAIN: io.strimzi.operator.cluster.Main
	KUBERNETES_PORT_443_TCP: tcp://10.96.0.1:443
	STRIMZI_LEADER_ELECTION_ENABLED: true
	STRIMZI_VERSION: 0.46.0
	STRIMZI_DEFAULT_KANIKO_EXECUTOR_IMAGE: quay.io/strimzi/kaniko-executor:0.46.0-rc1
	STRIMZI_NAMESPACE: myproject
	TINI_SHA256_S390X: 931b70a182af879ca249ae9de87ef68423121b38d235c78997fafc680ceab32d
	STRIMZI_DEFAULT_MAVEN_BUILDER: quay.io/strimzi/maven-builder:0.46.0-rc1
	STRIMZI_FEATURE_GATES:
	TINI_SHA256_AMD64: 93dcc18adc78c65a028a84799ecf8ad40c936fdfc5f2a57b1acda5a8117fa82c
	KUBERNETES_SERVICE_DNS_DOMAIN: cluster.local
	STRIMZI_LEADER_ELECTION_LEASE_NAME: strimzi-cluster-operator
	KUBERNETES_SERVICE_PORT_HTTPS: 443
	SHLVL: 0
	STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE: quay.io/strimzi/kafka-bridge:0.32.0
	KUBERNETES_PORT: tcp://10.96.0.1:443
	JAVA_HOME: /usr/lib/jvm/jre-17
	TERM: xterm
	STRIMZI_FULL_RECONCILIATION_INTERVAL_MS: 120000
	KUBERNETES_SERVICE_HOST: 10.96.0.1
	JAVA_CLASSPATH: :lib/io.strimzi.cluster-operator-0.46.0.jar:lib/io.strimzi.api-0.46.0.jar:lib/io.fabric8.kubernetes-model-apiextensions-7.1.0.jar:lib/io.strimzi.config-model-0.46.0.jar:lib/io.strimzi.operator-common-0.46.0.jar:lib/io.strimzi.crd-annotations-0.46.0.jar:lib/org.quartz-scheduler.quartz-2.3.2.jar:lib/org.eclipse.jetty.jetty-server-12.0.16.jar:lib/org.eclipse.jetty.jetty-io-12.0.16.jar:lib/org.eclipse.jetty.jetty-util-12.0.16.jar:lib/org.eclipse.jetty.jetty-http-12.0.16.jar:lib/javax.servlet.javax.servlet-api-3.1.0.jar:lib/io.fabric8.openshift-client-7.1.0.jar:lib/io.fabric8.openshift-client-api-7.1.0.jar:lib/io.fabric8.openshift-model-autoscaling-7.1.0.jar:lib/io.fabric8.openshift-model-operator-7.1.0.jar:lib/io.fabric8.openshift-model-operatorhub-7.1.0.jar:lib/io.fabric8.openshift-model-machine-7.1.0.jar:lib/io.fabric8.openshift-model-whereabouts-7.1.0.jar:lib/io.fabric8.openshift-model-monitoring-7.1.0.jar:lib/io.fabric8.openshift-model-storageversionmigrator-7.1.0.jar:lib/io.fabric8.openshift-model-tuned-7.1.0.jar:lib/io.fabric8.openshift-model-console-7.1.0.jar:lib/io.fabric8.openshift-model-config-7.1.0.jar:lib/io.fabric8.openshift-model-machineconfiguration-7.1.0.jar:lib/io.fabric8.openshift-model-miscellaneous-7.1.0.jar:lib/io.fabric8.openshift-model-hive-7.1.0.jar:lib/io.fabric8.openshift-model-installer-7.1.0.jar:lib/io.fabric8.kubernetes-client-7.1.0.jar:lib/io.fabric8.kubernetes-httpclient-jdk-7.1.0.jar:lib/io.fabric8.kubernetes-client-api-7.1.0.jar:lib/io.fabric8.kubernetes-model-gatewayapi-7.1.0.jar:lib/io.fabric8.kubernetes-model-resource-7.1.0.jar:lib/io.fabric8.kubernetes-model-admissionregistration-7.1.0.jar:lib/io.fabric8.kubernetes-model-autoscaling-7.1.0.jar:lib/io.fabric8.kubernetes-model-batch-7.1.0.jar:lib/io.fabric8.kubernetes-model-certificates-7.1.0.jar:lib/io.fabric8.kubernetes-model-discovery-7.1.0.jar:lib/io.fabric8.kubernetes-model-extensions-7.1.0.jar:lib/io.fabric8.kubernetes-model-flowcontrol-7.1.0.jar:lib/io.fabric8.kubernetes-model-metrics-7.1.0.jar:lib/io.fabric8.kubernetes-model-scheduling-7.1.0.jar:lib/io.fabric8.kubernetes-model-node-7.1.0.jar:lib/org.slf4j.slf4j-api-1.7.36.jar:lib/org.snakeyaml.snakeyaml-engine-2.9.jar:lib/com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.18.3.jar:lib/io.fabric8.kubernetes-model-core-7.1.0.jar:lib/javax.annotation.javax.annotation-api-1.3.2.jar:lib/io.fabric8.kubernetes-model-common-7.1.0.jar:lib/io.fabric8.kubernetes-model-events-7.1.0.jar:lib/io.fabric8.kubernetes-model-policy-7.1.0.jar:lib/io.fabric8.kubernetes-model-rbac-7.1.0.jar:lib/io.fabric8.kubernetes-model-apps-7.1.0.jar:lib/io.fabric8.kubernetes-model-storageclass-7.1.0.jar:lib/io.fabric8.kubernetes-model-networking-7.1.0.jar:lib/io.fabric8.kubernetes-model-coordination-7.1.0.jar:lib/io.fabric8.openshift-model-7.1.0.jar:lib/io.fabric8.zjsonpatch-0.3.0.jar:lib/com.fasterxml.jackson.core.jackson-core-2.18.3.jar:lib/com.fasterxml.jackson.core.jackson-databind-2.18.3.jar:lib/com.fasterxml.jackson.core.jackson-annotations-2.18.3.jar:lib/com.fasterxml.jackson.dataformat.jackson-dataformat-yaml-2.18.3.jar:lib/org.yaml.snakeyaml-2.3.jar:lib/io.vertx.vertx-core-4.5.14.jar:lib/io.netty.netty-common-4.1.118.Final.jar:lib/io.netty.netty-buffer-4.1.118.Final.jar:lib/io.netty.netty-handler-4.1.118.Final.jar:lib/io.netty.netty-handler-proxy-4.1.118.Final.jar:lib/io.netty.netty-codec-http-4.1.118.Final.jar:lib/io.netty.netty-codec-http2-4.1.118.Final.jar:lib/io.netty.netty-resolver-4.1.118.Final.jar:lib/io.netty.netty-resolver-dns-4.1.118.Final.jar:lib/io.netty.netty-codec-dns-4.1.118.Final.jar:lib/io.strimzi.certificate-manager-0.46.0.jar:lib/org.apache.logging.log4j.log4j-core-2.17.2.jar:lib/org.apache.logging.log4j.log4j-api-2.17.2.jar:lib/org.apache.logging.log4j.log4j-slf4j-impl-2.17.2.jar:lib/io.strimzi.kafka-oauth-server-0.16.2.jar:lib/io.strimzi.kafka-oauth-server-plain-0.16.2.jar:lib/io.strimzi.kafka-oauth-client-0.16.2.jar:lib/io.strimzi.kafka-oauth-common-0.16.2.jar:lib/com.nimbusds.nimbus-jose-jwt-9.37.2.jar:lib/com.github.stephenc.jcip.jcip-annotations-1.0-1.jar:lib/com.jayway.jsonpath.json-path-2.9.0.jar:lib/net.minidev.json-smart-2.5.2.jar:lib/net.minidev.accessors-smart-2.5.2.jar:lib/org.ow2.asm.asm-9.7.1.jar:lib/org.apache.kafka.kafka-clients-4.0.0.jar:lib/com.github.luben.zstd-jni-1.5.6-6.jar:lib/org.lz4.lz4-java-1.8.0.jar:lib/org.xerial.snappy.snappy-java-1.1.10.5.jar:lib/org.apache.kafka.kafka-server-common-4.0.0.jar:lib/com.yammer.metrics.metrics-core-2.2.0.jar:lib/net.sf.jopt-simple.jopt-simple-5.0.4.jar:lib/org.pcollections.pcollections-4.0.1.jar:lib/io.netty.netty-transport-4.1.118.Final.jar:lib/io.netty.netty-transport-native-epoll-4.1.118.Final-linux-x86_64.jar:lib/io.netty.netty-transport-native-unix-common-4.1.118.Final.jar:lib/io.netty.netty-transport-classes-epoll-4.1.118.Final.jar:lib/io.netty.netty-transport-native-epoll-4.1.118.Final-linux-aarch_64.jar:lib/io.micrometer.micrometer-core-1.12.13.jar:lib/io.micrometer.micrometer-commons-1.12.13.jar:lib/io.micrometer.micrometer-observation-1.12.13.jar:lib/org.hdrhistogram.HdrHistogram-2.1.12.jar:lib/org.latencyutils.LatencyUtils-2.0.3.jar:lib/io.micrometer.micrometer-registry-prometheus-1.12.13.jar:lib/io.prometheus.simpleclient_common-0.16.0.jar:lib/io.prometheus.simpleclient-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_otel-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_common-0.16.0.jar:lib/io.prometheus.simpleclient_tracer_otel_agent-0.16.0.jar:lib/io.vertx.vertx-micrometer-metrics-4.5.14.jar:lib/io.netty.netty-codec-4.1.118.Final.jar:lib/io.netty.netty-codec-socks-4.1.118.Final.jar
	STRIMZI_DEFAULT_CRUISE_CONTROL_IMAGE: quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0
	TINI_VERSION: v0.19.0
	STRIMZI_OPERATION_TIMEOUT_MS: 300000
	KUBERNETES_PORT_443_TCP_ADDR: 10.96.0.1
	STRIMZI_LEADER_ELECTION_LEASE_NAMESPACE: myproject
	STRIMZI_KAFKA_MIRROR_MAKER_2_IMAGES: 3.9.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0
4.0.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0

	KUBERNETES_PORT_443_TCP_PROTO: tcp
	STRIMZI_DEFAULT_USER_OPERATOR_IMAGE: quay.io/strimzi/operator:0.46.0-rc1
	KUBERNETES_SERVICE_PORT: 443
	STRIMZI_DEFAULT_KAFKA_EXPORTER_IMAGE: quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0
	TINI_SHA256_ARM64: 07952557df20bfd2a95f9bef198b445e006171969499a1d361bd9e6f8e5e0e81
	STRIMZI_DEFAULT_KAFKA_INIT_IMAGE: quay.io/strimzi/operator:0.46.0-rc1
	TINI_SHA256_PPC64LE: 3f658420974768e40810001a038c29d003728c5fe86da211cff5059e48cfdfde
	HOSTNAME: strimzi-cluster-operator-657bcf899-kmqpx
	STRIMZI_KAFKA_CONNECT_IMAGES: 3.9.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0
4.0.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0

	STRIMZI_KAFKA_IMAGES: 3.9.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0
4.0.0=quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0

	KUBERNETES_PORT_443_TCP_PORT: 443
	STRIMZI_OPERATOR_NAME: strimzi-cluster-operator-657bcf899-kmqpx
	HOME: /home/strimzi
	STRIMZI_OPERATOR_NAMESPACE: myproject
	MALLOC_ARENA_MAX: 2

2025-04-26 20:19:40 INFO  Main:62 - Cluster Operator configuration is ClusterOperatorConfig{
	namespaces='[myproject]'
	reconciliationIntervalMs=120000
	operationTimeoutMs=300000
	connectBuildTimeoutMs=300000
	networkPolicyGeneration=true
	versions='versions{3.9.0={metadata: 3.9 kafka-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0 connect-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0 mirrormaker2-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-3.9.0}, 4.0.0={metadata: 4.0 kafka-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0 connect-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0 mirrormaker2-image: quay.io/strimzi/kafka:0.46.0-rc1-kafka-4.0.0}}'
	imagePullPolicy='null'
	imagePullSecrets='null'
	operatorNamespace='myproject'
	operatorNamespaceLabels='null'
	customResourceSelector='null'
	featureGates='FeatureGates(DummyFeatureGate=false)'
	dnsCacheTtlSec=30
	podSetReconciliationOnly=false
	podSetControllerWorkQueueSize=1024
	operatorName='strimzi-cluster-operator-657bcf899-kmqpx'
	podSecurityProviderClass='io.strimzi.plugin.security.profiles.impl.BaselinePodSecurityProvider'
	leaderElectionConfig='LeaderElectionConfig{leaseName='strimzi-cluster-operator', namespace='myproject', identity='strimzi-cluster-operator-657bcf899-kmqpx', leaseDuration=PT15S, renewDeadline=PT10S, retryPeriod=PT2S}'
	podDisruptionBudgetGeneration=true}
2025-04-26 20:19:42 INFO  Main:274 - Health and metrics server is ready on port 8080)
2025-04-26 20:19:42 INFO  Main:236 - Waiting to become a leader
2025-04-26 20:19:42 INFO  LeaderElectionManager:69 - Starting the Leader Elector
2025-04-26 20:19:44 INFO  LeaderElectionManager:121 - The new leader is strimzi-cluster-operator-657bcf899-nbpx6
2025-04-26 20:19:44 INFO  LeaderElectionManager:121 - The new leader is strimzi-cluster-operator-657bcf899-kmqpx
2025-04-26 20:19:44 INFO  LeaderElectionManager:103 - Started being a leader
2025-04-26 20:19:44 INFO  Main:218 - I'm the new leader
2025-04-26 20:19:44 ERROR Main:90 - Unable to start operator for 1 or more namespace
java.lang.RuntimeException: Failed to parse Map from String
	at io.strimzi.operator.common.Util.parseMap(Util.java:104) ~[io.strimzi.operator-common-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.PlatformFeaturesAvailability.parseVersionInfo(PlatformFeaturesAvailability.java:112) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.PlatformFeaturesAvailability.getVersionInfo(PlatformFeaturesAvailability.java:100) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.PlatformFeaturesAvailability.create(PlatformFeaturesAvailability.java:46) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.Main.createPlatformFeaturesAvailability(Main.java:108) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.Main.lambda$main$2(Main.java:86) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.vertx.core.impl.future.Composition.onSuccess(Composition.java:38) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:66) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:259) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.impl.future.Composition$1.onSuccess(Composition.java:62) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.impl.future.FutureBase.emitSuccess(FutureBase.java:66) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.impl.future.FutureImpl.tryComplete(FutureImpl.java:259) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.Promise.tryComplete(Promise.java:121) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.vertx.core.Promise.complete(Promise.java:77) ~[io.vertx.vertx-core-4.5.14.jar:4.5.14]
	at io.strimzi.operator.cluster.Main.lambda$leaderElection$8(Main.java:219) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.strimzi.operator.cluster.leaderelection.LeaderElectionManager.startLeadershipHandler(LeaderElectionManager.java:104) ~[io.strimzi.cluster-operator-0.46.0.jar:0.46.0]
	at io.fabric8.kubernetes.client.extended.leaderelection.LeaderCallbacks.onStartLeading(LeaderCallbacks.java:34) ~[io.fabric8.kubernetes-client-api-7.1.0.jar:?]
	at io.fabric8.kubernetes.client.extended.leaderelection.LeaderElector.updateObserved(LeaderElector.java:266) ~[io.fabric8.kubernetes-client-api-7.1.0.jar:?]
	at io.fabric8.kubernetes.client.extended.leaderelection.LeaderElector.tryAcquireOrRenew(LeaderElector.java:248) ~[io.fabric8.kubernetes-client-api-7.1.0.jar:?]
	at io.fabric8.kubernetes.client.extended.leaderelection.LeaderElector.lambda$acquire$4(LeaderElector.java:177) ~[io.fabric8.kubernetes-client-api-7.1.0.jar:?]
	at io.fabric8.kubernetes.client.extended.leaderelection.LeaderElector.lambda$loop$8(LeaderElector.java:292) ~[io.fabric8.kubernetes-client-api-7.1.0.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]
2025-04-26 20:19:44 INFO  ShutdownHook:35 - Shutdown hook started
2025-04-26 20:19:44 INFO  LeaderElectionManager:82 - Stopping the Leader Elector

The same seems to happen when we catch the ParseException in the code. We do not fail the future either when we catch it, so it if fails to parse the date (which is what throws it - STRIMZI_KUBERNETES_VERSION="major=1, minor=33, buildDate=not-a-build-date") it remains also stuck and never terminates.

But it does start the shutdown hook regardless the future not being failed. So I'm not sure it is as simple as failing the future. The problem might be that the shutdown hook gets stuck when things fail too early?

@ppatierno
Copy link
Member

As last log is about the leader elector, could it be something related to it which is not able to stop properly for any reasons? Just guessing.

@scholzj
Copy link
Member Author

scholzj commented Apr 30, 2025

As last log is about the leader elector, could it be something related to it which is not able to stop properly for any reasons? Just guessing.

I don't really know. It seems to get stuck in the shutdown, so seemingly unrelated to the version decoding. But that said, I did not observed it when the Kube client failed to decode the version. Only in the branch where we fail decode the version from the environment variable :-/

@im-konge
Copy link
Member

Triaged on 29.5.2025: We should investigate where the operator gets stuck and we should fix it.

@XBeg9
Copy link

XBeg9 commented May 30, 2025

I just got this on k3s, after setting extraEnv operator was able to start: STRIMZI_KUBERNETES_VERSION="major=1, minor=33

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

No branches or pull requests

4 participants