@@ -11,7 +11,6 @@ import (
11
11
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12
12
13
13
"github.com/operator-framework/api/pkg/operators/v1alpha1"
14
- olmErrors "github.com/operator-framework/operator-lifecycle-manager/pkg/controller/errors"
15
14
"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/install"
16
15
"github.com/operator-framework/operator-lifecycle-manager/pkg/lib/ownerutil"
17
16
)
@@ -156,7 +155,7 @@ func (a *Operator) requirementStatus(strategyDetailsDeployment *v1alpha1.Strateg
156
155
}
157
156
158
157
// Check if GVK exists
159
- if err := a .isGVKRegistered (r .Group , r .Version , r .Kind ); err != nil {
158
+ if ok , err := a .isGVKRegistered (r .Group , r .Version , r .Kind ); ! ok || err != nil {
160
159
status .Status = "NotPresent"
161
160
met = false
162
161
statuses = append (statuses , status )
@@ -219,7 +218,7 @@ func (a *Operator) requirementStatus(strategyDetailsDeployment *v1alpha1.Strateg
219
218
Name : name ,
220
219
}
221
220
222
- if err := a .isGVKRegistered (r .Group , r .Version , r .Kind ); err != nil {
221
+ if ok , err := a .isGVKRegistered (r .Group , r .Version , r .Kind ); ! ok || err != nil {
223
222
status .Status = v1alpha1 .RequirementStatusReasonNotPresent
224
223
status .Message = "Native API does not exist"
225
224
met = false
@@ -397,7 +396,7 @@ func (a *Operator) requirementAndPermissionStatus(csv *v1alpha1.ClusterServiceVe
397
396
return met , statuses , nil
398
397
}
399
398
400
- func (a * Operator ) isGVKRegistered (group , version , kind string ) error {
399
+ func (a * Operator ) isGVKRegistered (group , version , kind string ) ( bool , error ) {
401
400
logger := a .logger .WithFields (logrus.Fields {
402
401
"group" : group ,
403
402
"version" : version ,
@@ -408,15 +407,15 @@ func (a *Operator) isGVKRegistered(group, version, kind string) error {
408
407
resources , err := a .opClient .KubernetesInterface ().Discovery ().ServerResourcesForGroupVersion (gv .String ())
409
408
if err != nil {
410
409
logger .WithField ("err" , err ).Info ("could not query for GVK in api discovery" )
411
- return err
410
+ return false , err
412
411
}
413
412
414
413
for _ , r := range resources .APIResources {
415
414
if r .Kind == kind {
416
- return nil
415
+ return true , nil
417
416
}
418
417
}
419
418
420
419
logger .Info ("couldn't find GVK in api discovery" )
421
- return olmErrors. GroupVersionKindNotFoundError { group , version , kind }
420
+ return false , nil
422
421
}
0 commit comments