From b8496f03e5f5c70a5a03ff72476f85669e1652e7 Mon Sep 17 00:00:00 2001 From: Ryotaro Banno Date: Fri, 29 Mar 2024 09:05:48 +0000 Subject: [PATCH] fix provision_observer2 to delete failing Jobs correctly The new provision observer (provision_observer2.go) introduced in #101 tries to remove the owned jobs that is failing for a while, but it doesn't work well because it looks for them by a wrong prefix. This PR fixes the above problem by using constants.MountProbeNamePrefix and constants.ProvisionProbeNamePrefix instead of constants.ProbeNamePrefix when the provision observer looks for the jobs. Signed-off-by: Ryotaro Banno --- internal/controller/provision_observer2.go | 2 +- test/e2e/suite_test.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/controller/provision_observer2.go b/internal/controller/provision_observer2.go index 2ab6ecf..e940991 100644 --- a/internal/controller/provision_observer2.go +++ b/internal/controller/provision_observer2.go @@ -104,7 +104,7 @@ func (p *provisionObserver2) getNodeNameAndStorageClass(ctx context.Context, nam } func isProbeJob2(o metav1.OwnerReference) bool { - return o.Kind == "Job" && strings.HasPrefix(o.Name, constants.ProbeNamePrefix) + return o.Kind == "Job" && (strings.HasPrefix(o.Name, constants.MountProbeNamePrefix) || strings.HasPrefix(o.Name, constants.ProvisionProbeNamePrefix)) } func (p *provisionObserver2) deleteOwnerJobOfPod(ctx context.Context, namespace, podName string) error { diff --git a/test/e2e/suite_test.go b/test/e2e/suite_test.go index 19a39ba..08d4b5b 100644 --- a/test/e2e/suite_test.go +++ b/test/e2e/suite_test.go @@ -218,6 +218,13 @@ var _ = Describe("PieProbe resource", func() { } } }).Should(Succeed()) + + // Check that failing Jobs are correctly removed. + Eventually(func(g Gomega) { + stdout, _, err := kubectl("get", "job", "-n", ns, "-l", "pie-probe=pie-probe-dummy-sc") + g.Expect(err).NotTo(HaveOccurred()) + g.Expect(stdout).Should(BeEmpty()) + }).Should(Succeed()) }) })