@@ -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