diff --git a/pkg/operators/v1alpha1/clusterserviceversion.go b/pkg/operators/v1alpha1/clusterserviceversion.go index ffc357b12..fcc3c2223 100644 --- a/pkg/operators/v1alpha1/clusterserviceversion.go +++ b/pkg/operators/v1alpha1/clusterserviceversion.go @@ -120,12 +120,16 @@ func (c *ClusterServiceVersion) IsObsolete() bool { // IsCopied returns true if the CSV has been copied and false otherwise. func (c *ClusterServiceVersion) IsCopied() bool { - operatorNamespace, ok := c.GetAnnotations()[OperatorGroupNamespaceAnnotationKey] - if c.Status.Reason == CSVReasonCopied || ok && c.GetNamespace() != operatorNamespace { + return c.Status.Reason == CSVReasonCopied || IsCopied(c) +} + +func IsCopied(o metav1.Object) bool { + operatorNamespace, ok := o.GetAnnotations()[OperatorGroupNamespaceAnnotationKey] + if ok && o.GetNamespace() != operatorNamespace { return true } - if labels := c.GetLabels(); labels != nil { + if labels := o.GetLabels(); labels != nil { if _, ok := labels[CopiedLabelKey]; ok { return true }