diff --git a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go index 4ca90cb792a..70d51168b1f 100644 --- a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go +++ b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go @@ -422,7 +422,8 @@ func (d *namespacedResourcesDeleter) deleteEachItem(gvr schema.GroupVersionResou } type gvrDeletionMetadata struct { - // finalizerEstimateSeconds is an estimate of how much longer to wait + // finalizerEstimateSeconds is an estimate of how much longer to wait. zero means that no estimate has made and does not + // mean that all content has been removed. finalizerEstimateSeconds int64 // numRemaining is how many instances of the gvr remain numRemaining int diff --git a/pkg/controller/namespace/deletion/status_condition_utils.go b/pkg/controller/namespace/deletion/status_condition_utils.go index 18820972771..e9656675523 100644 --- a/pkg/controller/namespace/deletion/status_condition_utils.go +++ b/pkg/controller/namespace/deletion/status_condition_utils.go @@ -56,14 +56,14 @@ var ( v1.NamespaceDeletionGVParsingFailure: "All legacy kube types successfully parsed", v1.NamespaceDeletionContentFailure: "All content successfully deleted, may be waiting on finalization", v1.NamespaceContentRemaining: "All content successfully removed", - v1.NamespaceFinalizersRemaining: "All content successfully removed", + v1.NamespaceFinalizersRemaining: "All content-preserving finalizers finished", } okReasons = map[v1.NamespaceConditionType]string{ v1.NamespaceDeletionDiscoveryFailure: "ResourcesDiscovered", v1.NamespaceDeletionGVParsingFailure: "ParsedGroupVersions", v1.NamespaceDeletionContentFailure: "ContentDeleted", v1.NamespaceContentRemaining: "ContentRemoved", - v1.NamespaceFinalizersRemaining: "ContentRemoved", + v1.NamespaceFinalizersRemaining: "ContentHasNoFinalizers", } ) @@ -133,8 +133,8 @@ func (u *namespaceConditionUpdater) ProcessContentTotals(contentTotals allGVRDel Type: v1.NamespaceFinalizersRemaining, Status: v1.ConditionTrue, LastTransitionTime: metav1.Now(), - Reason: "SomeFinalizerRemain", - Message: fmt.Sprintf("Some finalizers are remaining: %s", strings.Join(remainingByFinalizer, ", ")), + Reason: "SomeFinalizersRemain", + Message: fmt.Sprintf("Some content in the namespace has finalizers remaining: %s", strings.Join(remainingByFinalizer, ", ")), }) } } diff --git a/pkg/controller/namespace/deletion/status_condition_utils_test.go b/pkg/controller/namespace/deletion/status_condition_utils_test.go index 424e3d064ba..3155d6acc2f 100644 --- a/pkg/controller/namespace/deletion/status_condition_utils_test.go +++ b/pkg/controller/namespace/deletion/status_condition_utils_test.go @@ -188,7 +188,7 @@ func TestProcessContentTotals(t *testing.T) { }, }, expecteds: []v1.NamespaceCondition{ - {Type: v1.NamespaceFinalizersRemaining, Status: v1.ConditionTrue, Reason: "SomeFinalizerRemain", Message: `Some finalizers are remaining: kubedb in 5 resource instances, service-catalog in 6 resource instances`}, + {Type: v1.NamespaceFinalizersRemaining, Status: v1.ConditionTrue, Reason: "SomeFinalizersRemain", Message: `Some content in the namespace has finalizers remaining: kubedb in 5 resource instances, service-catalog in 6 resource instances`}, }, }, { @@ -206,7 +206,7 @@ func TestProcessContentTotals(t *testing.T) { }, expecteds: []v1.NamespaceCondition{ {Type: v1.NamespaceContentRemaining, Status: v1.ConditionTrue, Reason: "SomeResourcesRemain", Message: `Some resources are remaining: daemonsets.apps.k8s.io has 5 resource instances, deployments.apps.k8s.io has 5 resource instances`}, - {Type: v1.NamespaceFinalizersRemaining, Status: v1.ConditionTrue, Reason: "SomeFinalizerRemain", Message: `Some finalizers are remaining: kubedb in 5 resource instances, service-catalog in 6 resource instances`}, + {Type: v1.NamespaceFinalizersRemaining, Status: v1.ConditionTrue, Reason: "SomeFinalizersRemain", Message: `Some content in the namespace has finalizers remaining: kubedb in 5 resource instances, service-catalog in 6 resource instances`}, }, }, } diff --git a/test/integration/namespace/ns_conditions_test.go b/test/integration/namespace/ns_conditions_test.go index e9c565ccee7..bba492be6c4 100644 --- a/test/integration/namespace/ns_conditions_test.go +++ b/test/integration/namespace/ns_conditions_test.go @@ -101,7 +101,7 @@ func TestNamespaceCondition(t *testing.T) { if condition.Type == corev1.NamespaceContentRemaining && condition.Message == `Some resources are remaining: deployments.apps has 1 resource instances` { conditionsFound++ } - if condition.Type == corev1.NamespaceFinalizersRemaining && condition.Message == `Some finalizers are remaining: custom.io/finalizer in 1 resource instances` { + if condition.Type == corev1.NamespaceFinalizersRemaining && condition.Message == `Some content in the namespace has finalizers remaining: custom.io/finalizer in 1 resource instances` { conditionsFound++ } }