@@ -21,7 +21,6 @@ import (
2121 extensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
2222 "k8s.io/apimachinery/pkg/api/equality"
2323 k8serrors "k8s.io/apimachinery/pkg/api/errors"
24- "k8s.io/apimachinery/pkg/api/meta"
2524 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2726 "k8s.io/apimachinery/pkg/labels"
@@ -49,7 +48,10 @@ const (
4948 ControllerName string = "policy-template-sync"
5049)
5150
52- var log = ctrl .Log .WithName (ControllerName )
51+ var (
52+ log = ctrl .Log .WithName (ControllerName )
53+ errGroupDiscoveryFailed * discovery.ErrGroupDiscoveryFailed
54+ )
5355
5456//+kubebuilder:rbac:groups=policy.open-cluster-management.io,resources=*,verbs=get;list;watch;create;update;patch;delete
5557//+kubebuilder:rbac:groups=templates.gatekeeper.sh,resources=constrainttemplates,verbs=get;list;watch;create;update;patch;delete
@@ -995,7 +997,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
995997 namespaced : false ,
996998 })
997999 }
998- } else if meta . IsNoMatchError (err ) {
1000+ } else if errors . As (err , & errGroupDiscoveryFailed ) {
9991001 // If there's no v1 ConstraintTemplate, try the v1beta1 version
10001002 gkConstraintTemplateListv1beta1 := gktemplatesv1beta1.ConstraintTemplateList {}
10011003 err := r .List (ctx , & gkConstraintTemplateListv1beta1 , & client.ListOptions {})
@@ -1026,7 +1028,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
10261028 })
10271029 }
10281030 // Log and ignore other errors to allow cleanup to continue since Gatekeeper may not be installed
1029- } else if meta . IsNoMatchError (err ) {
1031+ } else if errors . As (err , & errGroupDiscoveryFailed ) {
10301032 reqLogger .Info ("The ConstraintTemplate CRD is not installed" )
10311033 r .setCreatedGkConstraint (false )
10321034 } else {
@@ -1059,7 +1061,7 @@ func (r *PolicyReconciler) cleanUpExcessTemplates(
10591061 })
10601062 }
10611063 }
1062- } else if meta . IsNoMatchError (err ) {
1064+ } else if errors . As (err , & errGroupDiscoveryFailed ) {
10631065 crdsv1beta1 := extensionsv1beta1.CustomResourceDefinitionList {}
10641066 err := r .List (ctx , & crdsv1beta1 , & crdQuery )
10651067 if err != nil {
@@ -1427,7 +1429,7 @@ func (r *PolicyReconciler) hasPolicyTemplateLabel(
14271429 err := r .Get (ctx , crdName , & crd )
14281430 if err == nil {
14291431 return crd .GetLabels ()[utils .PolicyTypeLabel ] == "template" , nil
1430- } else if meta . IsNoMatchError (err ) {
1432+ } else if errors . As (err , & errGroupDiscoveryFailed ) {
14311433 betaCrd := extensionsv1beta1.CustomResourceDefinition {}
14321434
14331435 err = r .Get (ctx , crdName , & betaCrd )
0 commit comments