I observed this error when some agents would not start properly. The cluster namespace was set on the Cluster resource, but the namespace did not exist.
The effect is that no bundledeployments will be created for clusters that follow after the incomplete one in the sort order.
fleet-controller-65878c55bc-4sfvx fleet-controller {
"level": "error",
"ts": "2025-06-17T15:10:51Z",
"logger": "bundle",
"msg": "Reconcile failed to create or update bundledeployment",
"controller": "bundle",
"controllerGroup": "fleet.cattle.io",
"controllerKind": "Bundle",
"Bundle": {
"name": "simple-simple-chart",
"namespace": "fleet-default"
},
"namespace": "fleet-default",
"name": "simple-simple-chart",
"reconcileID": "7e3155b2-2dd1-4d68-9517-5c05ad16ffe2",
"gitrepo": "simple",
"commit": "990e73f981599dfa5c9a86e0cf0fab5307294f34",
"manifestID": "s-e4322f59a9c7b048553c01f1bb419415afc9e659d0f8f65ce2c414ba60399",
"bundledeployment": {
"metadata": {
"name": "simple-simple-chart",
"namespace": "cluster-fleet-default-downstream-1002-ab4388254ea0",
"creationTimestamp": null,
"labels": {
"fleet.cattle.io/bundle-name": "simple-simple-chart",
"fleet.cattle.io/bundle-namespace": "fleet-default",
"fleet.cattle.io/cluster": "downstream-1002",
"fleet.cattle.io/cluster-namespace": "fleet-default",
"fleet.cattle.io/commit": "990e73f981599dfa5c9a86e0cf0fab5307294f34",
"fleet.cattle.io/managed": "true",
"fleet.cattle.io/repo-name": "simple"
},
"finalizers": [
"fleet.cattle.io/bundle-deployment-finalizer"
]
},
"spec": {
"stagedOptions": {
"namespace": "simple",
"helm": {
"chart": "config-chart",
"takeOwnership": true
},
"ignore": {}
},
"stagedDeploymentID": "s-e4322f59a9c7b048553c01f1bb419415afc9e659d0f8f65ce2c414ba60399:bfd04481357ba785826df113b6dfc57fd1ca056ccb36e683e6507a0261f26d18",
"options": {
"namespace": "simple",
"helm": {
"chart": "config-chart",
"takeOwnership": true
},
"ignore": {}
},
"deploymentID": "s-e4322f59a9c7b048553c01f1bb419415afc9e659d0f8f65ce2c414ba60399:bfd04481357ba785826df113b6dfc57fd1ca056ccb36e683e6507a0261f26d18",
"valuesHash": "d17af820d450e45949052174f2ec303cfe46875266445fe5815eca79535ba54c"
},
"status": {
"display": {},
"resourceCounts": {
"ready": 0,
"desiredReady": 0,
"waitApplied": 0,
"modified": 0,
"orphaned": 0,
"missing": 0,
"unknown": 0,
"notReady": 0
}
}
},
"deploymentID": "s-e4322f59a9c7b048553c01f1bb419415afc9e659d0f8f65ce2c414ba60399:bfd04481357ba785826df113b6dfc57fd1ca056ccb36e683e6507a0261f26d18",
"operation": "unchanged",
"error": "namespaces \"cluster-fleet-default-downstream-1002-ab4388254ea0\" not found",
"stacktrace": "github.com/rancher/fleet/internal/cmd/controller/reconciler.(*BundleReconciler).createBundleDeployment\n\t/home/runner/_work/fleet/fleet/internal/cmd/controller/reconciler/bundle_controller.go:515\ngithub.com/rancher/fleet/internal/cmd/controller/reconciler.(*BundleReconciler).Reconcile\n\t/home/runner/_work/fleet/fleet/internal/cmd/controller/reconciler/bundle_controller.go:366\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:340\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:300\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.21.0/pkg/internal/controller/controller.go:202"
}
I observed this error when some agents would not start properly. The cluster namespace was set on the Cluster resource, but the namespace did not exist.
The effect is that no bundledeployments will be created for clusters that follow after the incomplete one in the sort order.
To reproduce, create a Cluster resource, set
Status.Namespace, but don't create it. Or delete the namespace of an existing cluster.Workaround: Add a label to affected clusters (or any other change), that will trigger the handler again and create the namespace.
Actual error:
Maybe the agentmanagement controller (cluster/controller.go -> OnClusterChange) did miss a reconcile? Though, it updated the status but failed to create the namespace.