Skip to content

Commit 6125983

Browse files
mprahlopenshift-merge-bot[bot]
authored andcommitted
Detect the correct error for resource not found
Updating controller-runtime seems to have changed the error. Relates: https://issues.redhat.com/browse/ACM-11498 Signed-off-by: mprahl <[email protected]>
1 parent cfa2e4f commit 6125983

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

controllers/templatesync/template_sync.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
extensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
2323
"k8s.io/apimachinery/pkg/api/equality"
2424
k8serrors "k8s.io/apimachinery/pkg/api/errors"
25+
apimeta "k8s.io/apimachinery/pkg/api/meta"
2526
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2728
"k8s.io/apimachinery/pkg/labels"
@@ -38,7 +39,6 @@ import (
3839
"open-cluster-management.io/governance-policy-propagator/controllers/common"
3940
ctrl "sigs.k8s.io/controller-runtime"
4041
"sigs.k8s.io/controller-runtime/pkg/client"
41-
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
4242
"sigs.k8s.io/controller-runtime/pkg/controller"
4343
"sigs.k8s.io/controller-runtime/pkg/handler"
4444
"sigs.k8s.io/controller-runtime/pkg/reconcile"
@@ -52,10 +52,7 @@ const (
5252
ControllerName string = "policy-template-sync"
5353
)
5454

55-
var (
56-
log = ctrl.Log.WithName(ControllerName)
57-
errResourceDiscoveryFailed *apiutil.ErrResourceDiscoveryFailed
58-
)
55+
var log = ctrl.Log.WithName(ControllerName)
5956

6057
//+kubebuilder:rbac:groups=policy.open-cluster-management.io,resources=*,verbs=get;list;watch;create;update;patch;delete
6158
//+kubebuilder:rbac:groups=templates.gatekeeper.sh,resources=constrainttemplates,verbs=get;list;watch;create;update;patch;delete
@@ -1024,7 +1021,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
10241021
namespaced: false,
10251022
})
10261023
}
1027-
} else if errors.As(err, &errResourceDiscoveryFailed) {
1024+
} else if apimeta.IsNoMatchError(err) {
10281025
// If there's no v1 ConstraintTemplate, try the v1beta1 version
10291026
gkConstraintTemplateListv1beta1 := gktemplatesv1beta1.ConstraintTemplateList{}
10301027
err := r.List(ctx, &gkConstraintTemplateListv1beta1, &client.ListOptions{})
@@ -1057,7 +1054,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
10571054
})
10581055
}
10591056
// Log and ignore other errors to allow cleanup to continue since Gatekeeper may not be installed
1060-
} else if errors.As(err, &errResourceDiscoveryFailed) {
1057+
} else if apimeta.IsNoMatchError(err) {
10611058
reqLogger.Info("The ConstraintTemplate CRD is not installed")
10621059
r.setCreatedGkConstraint(false)
10631060
} else {
@@ -1092,7 +1089,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
10921089
})
10931090
}
10941091
}
1095-
} else if errors.As(err, &errResourceDiscoveryFailed) {
1092+
} else if apimeta.IsNoMatchError(err) {
10961093
crdsv1beta1 := extensionsv1beta1.CustomResourceDefinitionList{}
10971094
err := r.List(ctx, &crdsv1beta1, &crdQuery)
10981095
if err != nil {
@@ -1548,7 +1545,7 @@ func (r *PolicyReconciler) hasPolicyTemplateLabel(
15481545
err := r.Get(ctx, crdName, &crd)
15491546
if err == nil {
15501547
return crd.GetLabels()[utils.PolicyTypeLabel] == "template", nil
1551-
} else if errors.As(err, &errResourceDiscoveryFailed) {
1548+
} else if apimeta.IsNoMatchError(err) {
15521549
betaCrd := extensionsv1beta1.CustomResourceDefinition{}
15531550

15541551
err = r.Get(ctx, crdName, &betaCrd)

0 commit comments

Comments
 (0)