From 9bb0edddf044a084c4856795baee828e2f7a1520 Mon Sep 17 00:00:00 2001 From: Yi Rae Kim Date: Mon, 8 May 2023 13:47:14 -0400 Subject: [PATCH] Bug: crash-looping config-policy-controller-uninstaller Signed-off-by: Yi Rae Kim (cherry picked from commit 7c79594924c40adf6f63091038addf7a125bf65e) --- controllers/configurationpolicy_controller.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/controllers/configurationpolicy_controller.go b/controllers/configurationpolicy_controller.go index c7426439..d6bf5288 100644 --- a/controllers/configurationpolicy_controller.go +++ b/controllers/configurationpolicy_controller.go @@ -195,7 +195,14 @@ func (r *ConfigurationPolicyReconciler) PeriodicallyExecConfigPolicies( _ = r.refreshDiscoveryInfo() } - if discoveryErr == nil { + cleanupImmediately, err := r.cleanupImmediately() + if err != nil { + log.Error(err, "Failed to determine if it's time to cleanup immediately") + + skipLoop = true + } + + if !skipLoop && (discoveryErr == nil || cleanupImmediately) { // This retrieves the policies from the controller-runtime cache populated by the watch. err := r.List(context.TODO(), &policiesList) if err != nil { @@ -207,13 +214,6 @@ func (r *ConfigurationPolicyReconciler) PeriodicallyExecConfigPolicies( skipLoop = true } - cleanupImmediately, err := r.cleanupImmediately() - if err != nil { - log.Error(err, "Failed to determine if it's time to cleanup immediately") - - skipLoop = true - } - // This is done every loop cycle since the channel needs to be variable in size to account for the number of // policies changing. policyQueue := make(chan *policyv1.ConfigurationPolicy, len(policiesList.Items))