-
Bug
-
Resolution: Done
-
Critical
-
ACM 2.15.0
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
-
-
-
None
advanced-cluster-management.v2.15.0-95
multicluster-engine.v2.10.0-76
When the additionalNTPSources field in a ClusterInstance is empty / not specified, the template generates additionalNTPSources: null in the rendered InfraEnv manifest. However, the Kubernetes API server's schema validation requires this field to be either an array or omitted entirely - it cannot be null.
The spoke deployment doesn't start and the following error is shown in logs of siteconfig-controller-manager
2025-09-25T14:29:57Z ERROR Reconciler error {"controller": "clusterinstance", "controllerGroup": "siteconfig.open-cluster-management.io", "controllerKind": "ClusterInstance", "ClusterInstance": {"name":"mdhcp-0","namespace":"mdhcp-0"}, "namespace": "mdhcp-0", "name": "mdhcp-0", "reconcileID": "7f342ed7-281c-4cfe-94a4-7432860da497", "error": "[failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-0\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\", failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-2\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\", failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-0\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\", failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-1\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\", failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-1\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\", failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-2\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\"]", "errorCauses": [{"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-0\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}, {"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-2\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}, {"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-0\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}, {"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-1\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}, {"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-worker-0-1\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}, {"error": "failed to apply object using Server-Side Apply: InfraEnv.agent-install.openshift.io \"mdhcp-master-0-2\" is invalid: spec.additionalNTPSources: Invalid value: \"null\": spec.additionalNTPSources in body must be of type array: \"null\""}]} sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler /opt/app-root/src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem /opt/app-root/src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:263 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2 /opt/app-root/src/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:224