Repository: operator-framework/operator-lifecycle-manager
Pull request #2456 (2021-11-17 18:36:47)

Introduce Maintainers File
This commit introduces the MAINTAINERS.md file in an effort
to decouple project maintainer status from approval and lgtm
permissions relied on by the project automated continuous
integration tooling.


openshift-ci[bot]: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/operator-framework/operator-lifecycle-manager/pull/2456#" title="Author self-approved">awgreene</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=operator-framework%2Foperator-lifecycle-manager).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/OWNERS)~~ [awgreene]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
timflannagan: /lgtm
openshift-ci[bot]: New changes are detected. LGTM label has been removed.
timflannagan: /lgtm
openshift-ci[bot]: New changes are detected. LGTM label has been removed.
timflannagan: /lgtm

Patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c4a8d727b..c7fa0fc9b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,8 +1,6 @@
-name: ci
+name: build
 on:
   pull_request:
-    paths-ignore:
-    - '**/*.md'
 jobs:
   image:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/goreleaser.yaml b/.github/workflows/goreleaser.yaml
index ae0f240bb..536a2b1e5 100644
--- a/.github/workflows/goreleaser.yaml
+++ b/.github/workflows/goreleaser.yaml
@@ -6,7 +6,7 @@ on:
       - 'v*'
 
 jobs:
-  build:
+  release:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
diff --git a/.github/workflows/sanity.yaml b/.github/workflows/sanity.yaml
index 9bf49c7a1..3ef7943f8 100644
--- a/.github/workflows/sanity.yaml
+++ b/.github/workflows/sanity.yaml
@@ -1,13 +1,9 @@
-name: ci
-
+name: sanity
 on:
   push:
     branches:
       - '**'
   pull_request:
-    paths-ignore:
-    - '**/*.md'
-
 jobs:
   sanity:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml
index c277788a2..33b7f3f9c 100644
--- a/.github/workflows/unit.yml
+++ b/.github/workflows/unit.yml
@@ -1,11 +1,9 @@
-name: ci
+name: unit
 on:
   push:
     branches:
       - master
   pull_request:
-    paths-ignore:
-    - '**/*.md'
 jobs:
   unit:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml
index 0fa15aef4..ea69dd344 100644
--- a/.github/workflows/verify.yml
+++ b/.github/workflows/verify.yml
@@ -1,11 +1,9 @@
-name: ci
+name: verify
 on:
   push:
     branches:
       - master
   pull_request:
-    paths-ignore:
-    - '**/*.md'
 jobs:
   verify:
     runs-on: ubuntu-latest
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index f5cf2de21..5af612f37 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -27,6 +27,8 @@
 
 This project uses the built-in testing support for golang.
 
+Envtest is also used and needs to be set up. Follow [controller-runtime instructions] and set `KUBEBUILDER_ASSETS` environment variable to point to the installation directory, for instance: `/usr/local/kubebuilder/bin`.
+
 To run the tests for all go packages outside of the vendor directory, run:
 ```sh
 $ make test
@@ -46,11 +48,14 @@ To run a specific e2e test locally:
 $ make e2e-local TEST=TestCreateInstallPlanManualApproval
 ```
 
+[controller-runtime instructions]: https://pkg.go.dev/sigs.k8s.io/controller-runtime/tools/setup-envtest#section-readme
+
 #### Building
 
-Ensure your version of go is up to date; check that you're running v1.9 with the
-command:
+Ensure your version of go is up to date; check that you're running the same version as in go.mod with the
+commands:
 ```sh
+$ head go.mod
 $ go version
 ```
 
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
new file mode 100644
index 000000000..84221e2ea
--- /dev/null
+++ b/MAINTAINERS.md
@@ -0,0 +1,12 @@
+This page lists all active maintainers of this repository.
+
+See [CONTRIBUTING.md](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/CONTRIBUTING.md)
+for general contribution guidelines.
+
+## Maintainers (in alphabetical order)
+
+- [Alexander Greene](github.com/awgreene), Red Hat
+- [Evan Cordell](github.com/ecordell), Authzed
+- [Kevin Rizza](github.com/kevinrizza), Red Hat
+- [Nick Hale](github.com/njhale), Red Hat
+- [Vu Dinh](github.com/dinhxuanvu), Red Hat
diff --git a/cmd/catalog/main.go b/cmd/catalog/main.go
index 1f9ba6f1d..78f0acc70 100644
--- a/cmd/catalog/main.go
+++ b/cmd/catalog/main.go
@@ -92,8 +92,6 @@ func main() {
 	// Check if version flag was set
 	if *version {
 		fmt.Print(olmversion.String())
-
-		// Exit early
 		os.Exit(0)
 	}
 
@@ -111,7 +109,7 @@ func main() {
 
 	listenAndServe, err := server.GetListenAndServeFunc(server.WithLogger(logger), server.WithTLS(tlsCertPath, tlsKeyPath, clientCAPath), server.WithDebug(*debug))
 	if err != nil {
-		logger.Fatal("Error setting up health/metric/pprof service: %v", err)
+		logger.Fatalf("Error setting up health/metric/pprof service: %v", err)
 	}
 
 	go func() {
@@ -138,12 +136,12 @@ func main() {
 	// Create a new instance of the operator.
 	op, err := catalog.NewOperator(ctx, *kubeConfigPath, utilclock.RealClock{}, logger, *wakeupInterval, *configmapServerImage, *opmImage, *utilImage, *catalogNamespace, k8sscheme.Scheme, *installPlanTimeout, *bundleUnpackTimeout)
 	if err != nil {
-		log.Panicf("error configuring catalog operator: %s", err.Error())
+		log.Fatalf("error configuring catalog operator: %s", err.Error())
 	}
 
 	opCatalogTemplate, err := catalogtemplate.NewOperator(ctx, *kubeConfigPath, logger, *wakeupInterval, *catalogNamespace)
 	if err != nil {
-		log.Panicf("error configuring catalog template operator: %s", err.Error())
+		log.Fatalf("error configuring catalog template operator: %s", err.Error())
 	}
 
 	op.Run(ctx)
diff --git a/cmd/olm/main.go b/cmd/olm/main.go
index 4e2ed4ac5..efb1e00e0 100644
--- a/cmd/olm/main.go
+++ b/cmd/olm/main.go
@@ -120,7 +120,7 @@ func main() {
 
 	listenAndServe, err := server.GetListenAndServeFunc(server.WithLogger(logger), server.WithTLS(tlsCertPath, tlsKeyPath, clientCAPath), server.WithDebug(*debug))
 	if err != nil {
-		logger.Fatal("Error setting up health/metric/pprof service: %v", err)
+		logger.Fatalf("Error setting up health/metric/pprof service: %v", err)
 	}
 
 	go func() {
@@ -131,7 +131,7 @@ func main() {
 
 	mgr, err := Manager(ctx, *debug)
 	if err != nil {
-		logger.WithError(err).Fatalf("error configuring controller manager")
+		logger.WithError(err).Fatal("error configuring controller manager")
 	}
 	config := mgr.GetConfig()
 
@@ -164,7 +164,7 @@ func main() {
 		olm.WithConfigClient(versionedConfigClient),
 	)
 	if err != nil {
-		logger.WithError(err).Fatalf("error configuring operator")
+		logger.WithError(err).Fatal("error configuring operator")
 		return
 	}
 
@@ -173,7 +173,7 @@ func main() {
 
 	// Emit CSV metric
 	if err = op.EnsureCSVMetric(); err != nil {
-		logger.WithError(err).Fatalf("error emitting metrics for existing CSV")
+		logger.WithError(err).Fatal("error emitting metrics for existing CSV")
 	}
 
 	if *writeStatusName != "" {
@@ -187,12 +187,12 @@ func main() {
 			openshift.WithOLMOperator(),
 		)
 		if err != nil {
-			logger.WithError(err).Fatalf("error configuring openshift integration")
+			logger.WithError(err).Fatal("error configuring openshift integration")
 			return
 		}
 
 		if err := reconciler.SetupWithManager(mgr); err != nil {
-			logger.WithError(err).Fatalf("error configuring openshift integration")
+			logger.WithError(err).Fatal("error configuring openshift integration")
 			return
 		}
 	}
diff --git a/pkg/controller/install/deployment.go b/pkg/controller/install/deployment.go
index d49f405e9..d458bf346 100644
--- a/pkg/controller/install/deployment.go
+++ b/pkg/controller/install/deployment.go
@@ -254,7 +254,7 @@ func (i *StrategyDeploymentInstaller) checkForDeployments(deploymentSpecs []v1al
 	// compare deployments to see if any need to be created/updated
 	existingMap := map[string]*appsv1.Deployment{}
 	for _, d := range existingDeployments {
-		existingMap[d.GetName()] = d
+		existingMap[d.GetName()] = d.DeepCopy()
 	}
 	for _, spec := range deploymentSpecs {
 		dep, exists := existingMap[spec.Name]
diff --git a/pkg/controller/operators/catalog/operator.go b/pkg/controller/operators/catalog/operator.go
index a66712d87..d152b399a 100644
--- a/pkg/controller/operators/catalog/operator.go
+++ b/pkg/controller/operators/catalog/operator.go
@@ -962,16 +962,27 @@ func (o *Operator) syncResolvingNamespace(obj interface{}) error {
 		// not-satisfiable error
 		if _, ok := err.(solver.NotSatisfiable); ok {
 			logger.WithError(err).Debug("resolution failed")
-			subs = o.setSubsCond(subs, v1alpha1.SubscriptionResolutionFailed, "ConstraintsNotSatisfiable", err.Error(), true)
-			_, updateErr := o.updateSubscriptionStatuses(subs)
+			_, updateErr := o.updateSubscriptionStatuses(
+				o.setSubsCond(subs, v1alpha1.SubscriptionCondition{
+					Type:    v1alpha1.SubscriptionResolutionFailed,
+					Reason:  "ConstraintsNotSatisfiable",
+					Message: err.Error(),
+					Status:  corev1.ConditionTrue,
+				}))
 			if updateErr != nil {
 				logger.WithError(updateErr).Debug("failed to update subs conditions")
 				return updateErr
 			}
 			return nil
 		}
-		subs = o.setSubsCond(subs, v1alpha1.SubscriptionResolutionFailed, "ErrorPreventedResolution", err.Error(), true)
-		_, updateErr := o.updateSubscriptionStatuses(subs)
+
+		_, updateErr := o.updateSubscriptionStatuses(
+			o.setSubsCond(subs, v1alpha1.SubscriptionCondition{
+				Type:    v1alpha1.SubscriptionResolutionFailed,
+				Reason:  "ErrorPreventedResolution",
+				Message: err.Error(),
+				Status:  corev1.ConditionTrue,
+			}))
 		if updateErr != nil {
 			logger.WithError(updateErr).Debug("failed to update subs conditions")
 			return updateErr
@@ -979,14 +990,6 @@ func (o *Operator) syncResolvingNamespace(obj interface{}) error {
 		return err
 	}
 
-	defer func() {
-		subs = o.setSubsCond(subs, v1alpha1.SubscriptionResolutionFailed, "", "", false)
-		_, updateErr := o.updateSubscriptionStatuses(subs)
-		if updateErr != nil {
-			logger.WithError(updateErr).Warn("failed to update subscription conditions")
-		}
-	}()
-
 	// create installplan if anything updated
 	if len(updatedSubs) > 0 {
 		logger.Debug("resolution caused subscription changes, creating installplan")
@@ -1017,17 +1020,36 @@ func (o *Operator) syncResolvingNamespace(obj interface{}) error {
 			return err
 		}
 		updatedSubs = o.setIPReference(updatedSubs, maxGeneration+1, installPlanReference)
-		for _, updatedSub := range updatedSubs {
-			for i, sub := range subs {
-				if sub.Name == updatedSub.Name && sub.Namespace == updatedSub.Namespace {
-					subs[i] = updatedSub
-				}
-			}
-		}
 	} else {
 		logger.Debugf("no subscriptions were updated")
 	}
 
+	// Remove resolutionfailed condition from subscriptions
+	subs = o.removeSubsCond(subs, v1alpha1.SubscriptionResolutionFailed)
+	newSub := true
+	for _, updatedSub := range updatedSubs {
+		updatedSub.Status.RemoveConditions(v1alpha1.SubscriptionResolutionFailed)
+		for i, sub := range subs {
+			if sub.Name == updatedSub.Name && sub.Namespace == updatedSub.Namespace {
+				subs[i] = updatedSub
+				newSub = false
+				break
+			}
+		}
+		if newSub {
+			subs = append(subs, updatedSub)
+			continue
+		}
+		newSub = true
+	}
+
+	// Update subscriptions with all changes so far
+	_, updateErr := o.updateSubscriptionStatuses(subs)
+	if updateErr != nil {
+		logger.WithError(updateErr).Warn("failed to update subscription conditions")
+		return updateErr
+	}
+
 	return nil
 }
 
@@ -1084,12 +1106,7 @@ func (o *Operator) ensureSubscriptionInstallPlanState(logger *logrus.Entry, sub
 	out.Status.CurrentCSV = out.Spec.StartingCSV
 	out.Status.LastUpdated = o.now()
 
-	updated, err := o.client.OperatorsV1alpha1().Subscriptions(sub.GetNamespace()).UpdateStatus(context.TODO(), out, metav1.UpdateOptions{})
-	if err != nil {
-		return nil, false, err
-	}
-
-	return updated, true, nil
+	return out, true, nil
 }
 
 func (o *Operator) ensureSubscriptionCSVState(logger *logrus.Entry, sub *v1alpha1.Subscription, querier SourceQuerier) (*v1alpha1.Subscription, bool, error) {
@@ -1225,23 +1242,45 @@ func (o *Operator) createInstallPlan(namespace string, gen int, subs []*v1alpha1
 	return reference.GetReference(res)
 }
 
-func (o *Operator) setSubsCond(subs []*v1alpha1.Subscription, condType v1alpha1.SubscriptionConditionType, reason, message string, setTrue bool) []*v1alpha1.Subscription {
+// setSubsCond will set the condition to the subscription if it doesn't already
+// exist or if it is different
+// Only return the list of updated subscriptions
+func (o *Operator) setSubsCond(subs []*v1alpha1.Subscription, cond v1alpha1.SubscriptionCondition) []*v1alpha1.Subscription {
 	var (
 		lastUpdated = o.now()
+		subList     []*v1alpha1.Subscription
 	)
+
 	for _, sub := range subs {
+		subCond := sub.Status.GetCondition(cond.Type)
+		if subCond.Equals(cond) {
+			continue
+		}
 		sub.Status.LastUpdated = lastUpdated
+		sub.Status.SetCondition(cond)
+		subList = append(subList, sub)
+	}
+	return subList
+}
+
+// removeSubsCond will remove the condition to the subscription if it exists
+// Only return the list of updated subscriptions
+func (o *Operator) removeSubsCond(subs []*v1alpha1.Subscription, condType v1alpha1.SubscriptionConditionType) []*v1alpha1.Subscription {
+	var (
+		lastUpdated = o.now()
+	)
+	var subList []*v1alpha1.Subscription
+	for _, sub := range subs {
 		cond := sub.Status.GetCondition(condType)
-		cond.Reason = reason
-		cond.Message = message
-		if setTrue {
-			cond.Status = corev1.ConditionTrue
-		} else {
-			cond.Status = corev1.ConditionFalse
+		// if status is ConditionUnknown, the condition doesn't exist. Just skip
+		if cond.Status == corev1.ConditionUnknown {
+			continue
 		}
-		sub.Status.SetCondition(cond)
+		sub.Status.LastUpdated = lastUpdated
+		sub.Status.RemoveConditions(condType)
+		subList = append(subList, sub)
 	}
-	return subs
+	return subList
 }
 
 func (o *Operator) updateSubscriptionStatuses(subs []*v1alpha1.Subscription) ([]*v1alpha1.Subscription, error) {
diff --git a/pkg/controller/operators/olm/labeler.go b/pkg/controller/operators/olm/labeler.go
index 77d16234a..0ba5a2b76 100644
--- a/pkg/controller/operators/olm/labeler.go
+++ b/pkg/controller/operators/olm/labeler.go
@@ -6,7 +6,6 @@ import (
 
 	"github.com/operator-framework/api/pkg/operators/v1alpha1"
 	"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/registry/resolver/cache"
-	"github.com/operator-framework/operator-registry/pkg/registry"
 	opregistry "github.com/operator-framework/operator-registry/pkg/registry"
 	extv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
 	extv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
@@ -98,7 +97,7 @@ func labelSetsForCRDv1beta1(crd *extv1beta1.CustomResourceDefinition) ([]labels.
 
 	// Add label sets for each version
 	for _, version := range crd.Spec.Versions {
-		hash, err := cache.APIKeyToGVKHash(registry.APIKey{
+		hash, err := cache.APIKeyToGVKHash(opregistry.APIKey{
 			Group:   crd.Spec.Group,
 			Version: version.Name,
 			Kind:    crd.Spec.Names.Kind,
@@ -129,7 +128,7 @@ func labelSetsForCRDv1(crd *extv1.CustomResourceDefinition) ([]labels.Set, error
 
 	// Add label sets for each version
 	for _, version := range crd.Spec.Versions {
-		hash, err := cache.APIKeyToGVKHash(registry.APIKey{
+		hash, err := cache.APIKeyToGVKHash(opregistry.APIKey{
 			Group:   crd.Spec.Group,
 			Version: version.Name,
 			Kind:    crd.Spec.Names.Kind,
diff --git a/pkg/controller/operators/olm/operator.go b/pkg/controller/operators/olm/operator.go
index 0e9ef969d..47586f997 100644
--- a/pkg/controller/operators/olm/operator.go
+++ b/pkg/controller/operators/olm/operator.go
@@ -9,7 +9,6 @@ import (
 
 	v1 "github.com/operator-framework/api/pkg/operators/v1"
 	"github.com/sirupsen/logrus"
-	log "github.com/sirupsen/logrus"
 	admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
 	corev1 "k8s.io/api/core/v1"
 	rbacv1 "k8s.io/api/rbac/v1"
@@ -2050,7 +2049,7 @@ func (a *Operator) apiServiceOwnerConflicts(csv *v1alpha1.ClusterServiceVersion)
 
 		adoptable, err := install.IsAPIServiceAdoptable(a.lister, csv, apiService)
 		if err != nil {
-			a.logger.WithFields(log.Fields{"obj": "apiService", "labels": apiService.GetLabels()}).Errorf("adoption check failed - %v", err)
+			a.logger.WithFields(logrus.Fields{"obj": "apiService", "labels": apiService.GetLabels()}).Errorf("adoption check failed - %v", err)
 		}
 
 		if !adoptable {
diff --git a/pkg/controller/registry/reconciler/grpc.go b/pkg/controller/registry/reconciler/grpc.go
index ce47963df..8406740be 100644
--- a/pkg/controller/registry/reconciler/grpc.go
+++ b/pkg/controller/registry/reconciler/grpc.go
@@ -9,7 +9,6 @@ import (
 	"github.com/pkg/errors"
 	"github.com/sirupsen/logrus"
 	corev1 "k8s.io/api/core/v1"
-	v1 "k8s.io/api/core/v1"
 	k8serror "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/labels"
@@ -326,7 +325,7 @@ func (c *GrpcRegistryReconciler) ensureService(source grpcCatalogSourceDecorator
 	return err
 }
 
-func (c *GrpcRegistryReconciler) ensureSA(source grpcCatalogSourceDecorator) (*v1.ServiceAccount, error) {
+func (c *GrpcRegistryReconciler) ensureSA(source grpcCatalogSourceDecorator) (*corev1.ServiceAccount, error) {
 	sa := source.ServiceAccount()
 	if _, err := c.OpClient.CreateServiceAccount(sa); err != nil {
 		return sa, err


Test patch:
diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
index 3b7688a6c..6745d785d 100644
--- a/.github/workflows/e2e-tests.yml
+++ b/.github/workflows/e2e-tests.yml
@@ -1,11 +1,9 @@
-name: ci
+name: e2e
 on:
   push:
     branches:
       - master
   pull_request:
-    paths-ignore:
-    - '**/*.md'
 jobs:
   e2e-tests:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/e2e-kind.yml b/.github/workflows/run-kind-local.yml
similarity index 94%
rename from .github/workflows/e2e-kind.yml
rename to .github/workflows/run-kind-local.yml
index 15d81ab3e..2eaa7c6a4 100644
--- a/.github/workflows/e2e-kind.yml
+++ b/.github/workflows/run-kind-local.yml
@@ -1,8 +1,6 @@
-name: ci
+name: run-olm-kind
 on:
   pull_request:
-    paths-ignore:
-    - '**/*.md'
   schedule:
   - cron: '0 0 * * *' # daily to pick up releases
 jobs:
diff --git a/.github/workflows/e2e-minikube.yml b/.github/workflows/run-minikube-local.yml
similarity index 94%
rename from .github/workflows/e2e-minikube.yml
rename to .github/workflows/run-minikube-local.yml
index 3a7f80e72..e2fedf48a 100644
--- a/.github/workflows/e2e-minikube.yml
+++ b/.github/workflows/run-minikube-local.yml
@@ -1,8 +1,6 @@
-name: ci
+name: run-olm-minikube
 on:
   pull_request:
-    paths-ignore:
-    - '**/*.md'
   schedule:
   - cron: '0 0 * * *' # daily to pick up releases
 jobs:
diff --git a/pkg/controller/operators/catalog/operator_test.go b/pkg/controller/operators/catalog/operator_test.go
index 5aa398ab5..f6aceb8bc 100644
--- a/pkg/controller/operators/catalog/operator_test.go
+++ b/pkg/controller/operators/catalog/operator_test.go
@@ -32,7 +32,6 @@ import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"k8s.io/apimachinery/pkg/types"
 	utilclock "k8s.io/apimachinery/pkg/util/clock"
-	k8syaml "k8s.io/apimachinery/pkg/util/yaml"
 	utilyaml "k8s.io/apimachinery/pkg/util/yaml"
 	"k8s.io/apiserver/pkg/storage/names"
 	fakedynamic "k8s.io/client-go/dynamic/fake"
@@ -1302,7 +1301,7 @@ func TestValidateExistingCRs(t *testing.T) {
 	unstructuredForFile := func(file string) *unstructured.Unstructured {
 		data, err := ioutil.ReadFile(file)
 		require.NoError(t, err)
-		dec := k8syaml.NewYAMLOrJSONDecoder(strings.NewReader(string(data)), 30)
+		dec := utilyaml.NewYAMLOrJSONDecoder(strings.NewReader(string(data)), 30)
 		k8sFile := &unstructured.Unstructured{}
 		require.NoError(t, dec.Decode(k8sFile))
 		return k8sFile
@@ -1311,7 +1310,7 @@ func TestValidateExistingCRs(t *testing.T) {
 	unversionedCRDForV1beta1File := func(file string) *apiextensions.CustomResourceDefinition {
 		data, err := ioutil.ReadFile(file)
 		require.NoError(t, err)
-		dec := k8syaml.NewYAMLOrJSONDecoder(strings.NewReader(string(data)), 30)
+		dec := utilyaml.NewYAMLOrJSONDecoder(strings.NewReader(string(data)), 30)
 		k8sFile := &apiextensionsv1beta1.CustomResourceDefinition{}
 		require.NoError(t, dec.Decode(k8sFile))
 		convertedCRD := &apiextensions.CustomResourceDefinition{}
diff --git a/pkg/controller/operators/catalog/subscriptions_test.go b/pkg/controller/operators/catalog/subscriptions_test.go
index 4d35a8039..15e44269f 100644
--- a/pkg/controller/operators/catalog/subscriptions_test.go
+++ b/pkg/controller/operators/catalog/subscriptions_test.go
@@ -155,14 +155,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						LastUpdated:           now,
 						InstallPlanGeneration: 1,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
@@ -306,14 +298,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						LastUpdated:           now,
 						InstallPlanGeneration: 1,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
@@ -462,14 +446,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						InstallPlanGeneration: 1,
 						LastUpdated:           now,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
@@ -623,14 +599,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						LastUpdated:           now,
 						InstallPlanGeneration: 1,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
@@ -807,14 +775,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						LastUpdated:           now,
 						InstallPlanGeneration: 1,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
@@ -998,14 +958,6 @@ func TestSyncSubscriptions(t *testing.T) {
 						},
 						LastUpdated:           now,
 						InstallPlanGeneration: 2,
-						Conditions: []v1alpha1.SubscriptionCondition{
-							{
-								Type:    "ResolutionFailed",
-								Status:  corev1.ConditionFalse,
-								Reason:  "",
-								Message: "",
-							},
-						},
 					},
 				},
 			},
diff --git a/pkg/controller/registry/resolver/resolver_test.go b/pkg/controller/registry/resolver/resolver_test.go
index 6186e051d..30f633f47 100644
--- a/pkg/controller/registry/resolver/resolver_test.go
+++ b/pkg/controller/registry/resolver/resolver_test.go
@@ -14,7 +14,6 @@ import (
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/labels"
 
-	"github.com/operator-framework/api/pkg/lib/version"
 	opver "github.com/operator-framework/api/pkg/lib/version"
 	"github.com/operator-framework/api/pkg/operators/v1alpha1"
 	listersv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/listers/operators/v1alpha1"
@@ -1515,7 +1514,7 @@ func TestInferProperties(t *testing.T) {
 					Name: "a",
 				},
 				Spec: v1alpha1.ClusterServiceVersionSpec{
-					Version: version.OperatorVersion{Version: semver.MustParse("1.2.3")},
+					Version: opver.OperatorVersion{Version: semver.MustParse("1.2.3")},
 				},
 			},
 			Subscriptions: []*v1alpha1.Subscription{
@@ -1556,7 +1555,7 @@ func TestInferProperties(t *testing.T) {
 					Name: "a",
 				},
 				Spec: v1alpha1.ClusterServiceVersionSpec{
-					Version: version.OperatorVersion{Version: semver.MustParse("1.2.3")},
+					Version: opver.OperatorVersion{Version: semver.MustParse("1.2.3")},
 				},
 			},
 			Subscriptions: []*v1alpha1.Subscription{
@@ -1585,7 +1584,7 @@ func TestInferProperties(t *testing.T) {
 					Name: "a",
 				},
 				Spec: v1alpha1.ClusterServiceVersionSpec{
-					Version: version.OperatorVersion{Version: semver.MustParse("1.2.3")},
+					Version: opver.OperatorVersion{Version: semver.MustParse("1.2.3")},
 				},
 			},
 			Subscriptions: []*v1alpha1.Subscription{
diff --git a/test/e2e/collect-ci-artifacts.sh b/test/e2e/collect-ci-artifacts.sh
index 8cd138b97..2599afd1a 100755
--- a/test/e2e/collect-ci-artifacts.sh
+++ b/test/e2e/collect-ci-artifacts.sh
@@ -11,6 +11,7 @@ set -o errexit
 mkdir -p "${TEST_ARTIFACTS_DIR}"
 
 commands=()
+commands+=("get catalogsources -o yaml")
 commands+=("get subscriptions -o yaml")
 commands+=("get operatorgroups -o yaml")
 commands+=("get clusterserviceversions -o yaml")
diff --git a/test/e2e/csv_e2e_test.go b/test/e2e/csv_e2e_test.go
index 9cfb1e649..2f7bf6ca8 100644
--- a/test/e2e/csv_e2e_test.go
+++ b/test/e2e/csv_e2e_test.go
@@ -16,18 +16,19 @@ import (
 	rbacv1 "k8s.io/api/rbac/v1"
 	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
+	"k8s.io/apimachinery/pkg/api/equality"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	k8slabels "k8s.io/apimachinery/pkg/labels"
 	"k8s.io/apimachinery/pkg/runtime"
+	"k8s.io/apimachinery/pkg/util/diff"
 	"k8s.io/apimachinery/pkg/util/intstr"
 	"k8s.io/apimachinery/pkg/util/wait"
 	"k8s.io/apimachinery/pkg/watch"
 	apiregistrationv1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
 	"sigs.k8s.io/controller-runtime/pkg/client"
 
-	v1 "github.com/operator-framework/api/pkg/operators/v1"
-	"github.com/operator-framework/api/pkg/operators/v1alpha1"
+	operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
 	operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
 	"github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/clientset/versioned"
 	"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/install"
@@ -73,12 +74,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 				return ctx.Ctx().Client().Create(context.Background(), &ns)
 			}).Should(Succeed())
 
-			og := v1.OperatorGroup{
+			og := operatorsv1.OperatorGroup{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      fmt.Sprintf("%s-operatorgroup", ns.GetName()),
 					Namespace: ns.GetName(),
 				},
-				Spec: v1.OperatorGroupSpec{
+				Spec: operatorsv1.OperatorGroupSpec{
 					TargetNamespaces: []string{ns.GetName()},
 				},
 			}
@@ -130,23 +131,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 		})
 
 		It("can satisfy an associated ClusterServiceVersion's ownership requirement", func() {
-			associated := v1alpha1.ClusterServiceVersion{
+			associated := operatorsv1alpha1.ClusterServiceVersion{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "associated-csv",
 					Namespace: ns.GetName(),
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
-					CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-						Owned: []v1alpha1.CRDDescription{{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+					CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+						Owned: []operatorsv1alpha1.CRDDescription{{
 							Name:    "tests.example.com",
 							Version: "v1",
 							Kind:    "Test",
 						}},
 					},
 					InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeOwnNamespace,
+							Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 							Supported: true,
 						},
 					},
@@ -154,13 +155,13 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &associated)).To(Succeed())
 
-			Eventually(func() ([]v1alpha1.RequirementStatus, error) {
+			Eventually(func() ([]operatorsv1alpha1.RequirementStatus, error) {
 				if err := ctx.Ctx().Client().Get(context.Background(), client.ObjectKeyFromObject(&associated), &associated); err != nil {
 					return nil, err
 				}
-				var result []v1alpha1.RequirementStatus
+				var result []operatorsv1alpha1.RequirementStatus
 				for _, s := range associated.Status.RequirementStatus {
-					result = append(result, v1alpha1.RequirementStatus{
+					result = append(result, operatorsv1alpha1.RequirementStatus{
 						Group:   s.Group,
 						Version: s.Version,
 						Kind:    s.Kind,
@@ -170,12 +171,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 				}
 				return result, nil
 			}).Should(ContainElement(
-				v1alpha1.RequirementStatus{
+				operatorsv1alpha1.RequirementStatus{
 					Group:   apiextensionsv1.SchemeGroupVersion.Group,
 					Version: apiextensionsv1.SchemeGroupVersion.Version,
 					Kind:    "CustomResourceDefinition",
 					Name:    crd.GetName(),
-					Status:  v1alpha1.RequirementStatusReasonPresent,
+					Status:  operatorsv1alpha1.RequirementStatusReasonPresent,
 				},
 			))
 		})
@@ -184,23 +185,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// when the original CSV's CRD requirement becomes
 		// unsatisfied.
 		It("can satisfy an unassociated ClusterServiceVersion's ownership requirement if replaced by an associated ClusterServiceVersion", func() {
-			unassociated := v1alpha1.ClusterServiceVersion{
+			unassociated := operatorsv1alpha1.ClusterServiceVersion{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "unassociated-csv",
 					Namespace: ns.GetName(),
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
-					CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-						Owned: []v1alpha1.CRDDescription{{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+					CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+						Owned: []operatorsv1alpha1.CRDDescription{{
 							Name:    "tests.example.com",
 							Version: "v1",
 							Kind:    "Test",
 						}},
 					},
 					InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeOwnNamespace,
+							Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 							Supported: true,
 						},
 					},
@@ -208,23 +209,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &unassociated)).To(Succeed())
 
-			associated := v1alpha1.ClusterServiceVersion{
+			associated := operatorsv1alpha1.ClusterServiceVersion{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "associated-csv",
 					Namespace: ns.GetName(),
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
-					CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-						Owned: []v1alpha1.CRDDescription{{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+					CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+						Owned: []operatorsv1alpha1.CRDDescription{{
 							Name:    "tests.example.com",
 							Version: "v1",
 							Kind:    "Test",
 						}},
 					},
 					InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeOwnNamespace,
+							Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 							Supported: true,
 						},
 					},
@@ -239,23 +240,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 		})
 
 		It("can satisfy an unassociated ClusterServiceVersion's non-ownership requirement", func() {
-			unassociated := v1alpha1.ClusterServiceVersion{
+			unassociated := operatorsv1alpha1.ClusterServiceVersion{
 				ObjectMeta: metav1.ObjectMeta{
 					Name:      "unassociated-csv",
 					Namespace: ns.GetName(),
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
-					CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-						Required: []v1alpha1.CRDDescription{{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+					CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+						Required: []operatorsv1alpha1.CRDDescription{{
 							Name:    "tests.example.com",
 							Version: "v1",
 							Kind:    "Test",
 						}},
 					},
 					InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeOwnNamespace,
+							Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 							Supported: true,
 						},
 					},
@@ -263,13 +264,13 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &unassociated)).To(Succeed())
 
-			Eventually(func() ([]v1alpha1.RequirementStatus, error) {
+			Eventually(func() ([]operatorsv1alpha1.RequirementStatus, error) {
 				if err := ctx.Ctx().Client().Get(context.Background(), client.ObjectKeyFromObject(&unassociated), &unassociated); err != nil {
 					return nil, err
 				}
-				var result []v1alpha1.RequirementStatus
+				var result []operatorsv1alpha1.RequirementStatus
 				for _, s := range unassociated.Status.RequirementStatus {
-					result = append(result, v1alpha1.RequirementStatus{
+					result = append(result, operatorsv1alpha1.RequirementStatus{
 						Group:   s.Group,
 						Version: s.Version,
 						Kind:    s.Kind,
@@ -279,12 +280,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 				}
 				return result, nil
 			}).Should(ContainElement(
-				v1alpha1.RequirementStatus{
+				operatorsv1alpha1.RequirementStatus{
 					Group:   apiextensionsv1.SchemeGroupVersion.Group,
 					Version: apiextensionsv1.SchemeGroupVersion.Version,
 					Kind:    "CustomResourceDefinition",
 					Name:    crd.GetName(),
-					Status:  v1alpha1.RequirementStatusReasonPresent,
+					Status:  operatorsv1alpha1.RequirementStatusReasonPresent,
 				},
 			))
 		})
@@ -302,12 +303,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 				}
 				Expect(ctx.Ctx().Client().Create(context.Background(), &ns)).To(Succeed())
 
-				og := v1.OperatorGroup{
+				og := operatorsv1.OperatorGroup{
 					ObjectMeta: metav1.ObjectMeta{
 						Name:      fmt.Sprintf("%s-operatorgroup", ns.GetName()),
 						Namespace: ns.GetName(),
 					},
-					Spec: v1.OperatorGroupSpec{
+					Spec: operatorsv1.OperatorGroupSpec{
 						TargetNamespaces: []string{ns.GetName()},
 					},
 				}
@@ -321,23 +322,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 			})
 
 			It("can satisfy the unassociated ClusterServiceVersion's ownership requirement", func() {
-				associated := v1alpha1.ClusterServiceVersion{
+				associated := operatorsv1alpha1.ClusterServiceVersion{
 					ObjectMeta: metav1.ObjectMeta{
 						Name:      "associated-csv",
 						Namespace: ns.GetName(),
 					},
-					Spec: v1alpha1.ClusterServiceVersionSpec{
-						CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-							Owned: []v1alpha1.CRDDescription{{
+					Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+						CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+							Owned: []operatorsv1alpha1.CRDDescription{{
 								Name:    "tests.example.com",
 								Version: "v1",
 								Kind:    "Test",
 							}},
 						},
 						InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-						InstallModes: []v1alpha1.InstallMode{
+						InstallModes: []operatorsv1alpha1.InstallMode{
 							{
-								Type:      v1alpha1.InstallModeTypeOwnNamespace,
+								Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 								Supported: true,
 							},
 						},
@@ -345,23 +346,23 @@ var _ = Describe("ClusterServiceVersion", func() {
 				}
 				Expect(ctx.Ctx().Client().Create(context.Background(), &associated)).To(Succeed())
 
-				unassociated := v1alpha1.ClusterServiceVersion{
+				unassociated := operatorsv1alpha1.ClusterServiceVersion{
 					ObjectMeta: metav1.ObjectMeta{
 						Name:      "unassociated-csv",
 						Namespace: ns.GetName(),
 					},
-					Spec: v1alpha1.ClusterServiceVersionSpec{
-						CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-							Owned: []v1alpha1.CRDDescription{{
+					Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+						CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+							Owned: []operatorsv1alpha1.CRDDescription{{
 								Name:    "tests.example.com",
 								Version: "v1",
 								Kind:    "Test",
 							}},
 						},
 						InstallStrategy: newNginxInstallStrategy(genName("deployment-"), nil, nil),
-						InstallModes: []v1alpha1.InstallMode{
+						InstallModes: []operatorsv1alpha1.InstallMode{
 							{
-								Type:      v1alpha1.InstallModeTypeOwnNamespace,
+								Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 								Supported: true,
 							},
 						},
@@ -369,13 +370,13 @@ var _ = Describe("ClusterServiceVersion", func() {
 				}
 				Expect(ctx.Ctx().Client().Create(context.Background(), &unassociated)).To(Succeed())
 
-				Eventually(func() ([]v1alpha1.RequirementStatus, error) {
+				Eventually(func() ([]operatorsv1alpha1.RequirementStatus, error) {
 					if err := ctx.Ctx().Client().Get(context.Background(), client.ObjectKeyFromObject(&unassociated), &unassociated); err != nil {
 						return nil, err
 					}
-					var result []v1alpha1.RequirementStatus
+					var result []operatorsv1alpha1.RequirementStatus
 					for _, s := range unassociated.Status.RequirementStatus {
-						result = append(result, v1alpha1.RequirementStatus{
+						result = append(result, operatorsv1alpha1.RequirementStatus{
 							Group:   s.Group,
 							Version: s.Version,
 							Kind:    s.Kind,
@@ -385,12 +386,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 					}
 					return result, nil
 				}).Should(ContainElement(
-					v1alpha1.RequirementStatus{
+					operatorsv1alpha1.RequirementStatus{
 						Group:   apiextensionsv1.SchemeGroupVersion.Group,
 						Version: apiextensionsv1.SchemeGroupVersion.Version,
 						Kind:    "CustomResourceDefinition",
 						Name:    crd.GetName(),
-						Status:  v1alpha1.RequirementStatusReasonPresent,
+						Status:  operatorsv1alpha1.RequirementStatusReasonPresent,
 					},
 				))
 			})
@@ -399,7 +400,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 	When("a csv exists specifying two replicas with one max unavailable", func() {
 		var (
-			csv v1alpha1.ClusterServiceVersion
+			csv operatorsv1alpha1.ClusterServiceVersion
 		)
 
 		const (
@@ -407,12 +408,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 		)
 
 		BeforeEach(func() {
-			csv = v1alpha1.ClusterServiceVersion{
+			csv = operatorsv1alpha1.ClusterServiceVersion{
 				ObjectMeta: metav1.ObjectMeta{
 					GenerateName: "test-csv",
 					Namespace:    testNamespace,
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 					InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
 						StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 						StrategySpec: operatorsv1alpha1.StrategyDetailsDeployment{
@@ -451,15 +452,15 @@ var _ = Describe("ClusterServiceVersion", func() {
 							},
 						},
 					},
-					InstallModes: []v1alpha1.InstallMode{{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+					InstallModes: []operatorsv1alpha1.InstallMode{{
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					}},
 				},
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &csv)).To(Succeed())
 
-			Eventually(func() (*v1alpha1.ClusterServiceVersion, error) {
+			Eventually(func() (*operatorsv1alpha1.ClusterServiceVersion, error) {
 				var ps corev1.PodList
 				if err := ctx.Ctx().Client().List(context.Background(), &ps, client.MatchingLabels{"app": "foobar"}); err != nil {
 					return nil, err
@@ -513,8 +514,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 	When("a copied csv exists", func() {
 		var (
 			target   corev1.Namespace
-			original v1alpha1.ClusterServiceVersion
-			copy     v1alpha1.ClusterServiceVersion
+			original operatorsv1alpha1.ClusterServiceVersion
+			copy     operatorsv1alpha1.ClusterServiceVersion
 		)
 
 		BeforeEach(func() {
@@ -525,20 +526,20 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &target)).To(Succeed())
 
-			original = v1alpha1.ClusterServiceVersion{
+			original = operatorsv1alpha1.ClusterServiceVersion{
 				TypeMeta: metav1.TypeMeta{
-					Kind:       v1alpha1.ClusterServiceVersionKind,
-					APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+					Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+					APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 				},
 				ObjectMeta: metav1.ObjectMeta{
 					GenerateName: "csv-",
 					Namespace:    testNamespace,
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 					InstallStrategy: newNginxInstallStrategy(genName("csv-"), nil, nil),
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeAllNamespaces,
+							Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 							Supported: true,
 						},
 					},
@@ -593,7 +594,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		var (
 			cm  corev1.ConfigMap
 			sa  corev1.ServiceAccount
-			csv v1alpha1.ClusterServiceVersion
+			csv operatorsv1alpha1.ClusterServiceVersion
 		)
 
 		BeforeEach(func() {
@@ -621,20 +622,20 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 			Expect(ctx.Ctx().Client().Create(context.Background(), &sa)).To(Succeed())
 
-			csv = v1alpha1.ClusterServiceVersion{
+			csv = operatorsv1alpha1.ClusterServiceVersion{
 				TypeMeta: metav1.TypeMeta{
-					Kind:       v1alpha1.ClusterServiceVersionKind,
-					APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+					Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+					APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 				},
 				ObjectMeta: metav1.ObjectMeta{
 					GenerateName: "csv-",
 					Namespace:    testNamespace,
 				},
-				Spec: v1alpha1.ClusterServiceVersionSpec{
-					InstallStrategy: v1alpha1.NamedInstallStrategy{
-						StrategyName: v1alpha1.InstallStrategyNameDeployment,
-						StrategySpec: v1alpha1.StrategyDetailsDeployment{
-							DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+				Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+					InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+						StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
+						StrategySpec: operatorsv1alpha1.StrategyDetailsDeployment{
+							DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 								{
 									Name: "foo",
 									Spec: appsv1.DeploymentSpec{
@@ -655,7 +656,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 									},
 								},
 							},
-							Permissions: []v1alpha1.StrategyDeploymentPermissions{
+							Permissions: []operatorsv1alpha1.StrategyDeploymentPermissions{
 								{
 									ServiceAccountName: sa.GetName(),
 									Rules:              []rbacv1.PolicyRule{},
@@ -663,9 +664,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 							},
 						},
 					},
-					InstallModes: []v1alpha1.InstallMode{
+					InstallModes: []operatorsv1alpha1.InstallMode{
 						{
-							Type:      v1alpha1.InstallModeTypeAllNamespaces,
+							Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 							Supported: true,
 						},
 					},
@@ -681,7 +682,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		})
 
 		It("considers the serviceaccount requirement satisfied", func() {
-			Eventually(func() (v1alpha1.StatusReason, error) {
+			Eventually(func() (operatorsv1alpha1.StatusReason, error) {
 				if err := ctx.Ctx().Client().Get(context.Background(), client.ObjectKeyFromObject(&csv), &csv); err != nil {
 					return "", err
 				}
@@ -692,38 +693,38 @@ var _ = Describe("ClusterServiceVersion", func() {
 					return requirement.Status, nil
 				}
 				return "", fmt.Errorf("missing expected requirement %q", sa.GetName())
-			}).Should(Equal(v1alpha1.RequirementStatusReasonPresent))
+			}).Should(Equal(operatorsv1alpha1.RequirementStatusReasonPresent))
 		})
 	})
 
 	It("create with unmet requirements min kube version", func() {
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "999.999.999",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
@@ -748,37 +749,37 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create with unmet requirements CRD", func() {
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, nil, nil),
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							DisplayName: "Not In Cluster",
 							Description: "A CRD that is not currently in the cluster",
@@ -808,7 +809,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create with unmet permissions CRD", func() {
 
 		saName := genName("dep-")
-		permissions := []v1alpha1.StrategyDeploymentPermissions{
+		permissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -821,7 +822,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		clusterPermissions := []v1alpha1.StrategyDeploymentPermissions{
+		clusterPermissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -837,36 +838,36 @@ var _ = Describe("ClusterServiceVersion", func() {
 		crdPlural := genName("ins")
 		crdName := crdPlural + ".cluster.com"
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
-				InstallModes: []v1alpha1.InstallMode{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, permissions, clusterPermissions),
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -927,37 +928,37 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create with unmet requirements API service", func() {
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, nil, nil),
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
-					Required: []v1alpha1.APIServiceDescription{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
+					Required: []operatorsv1alpha1.APIServiceDescription{
 						{
 							DisplayName: "Not In Cluster",
 							Description: "An apiservice that is not currently in the cluster",
@@ -986,7 +987,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create with unmet permissions API service", func() {
 
 		saName := genName("dep-")
-		permissions := []v1alpha1.StrategyDeploymentPermissions{
+		permissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -999,7 +1000,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		clusterPermissions := []v1alpha1.StrategyDeploymentPermissions{
+		clusterPermissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -1013,38 +1014,38 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, permissions, clusterPermissions),
 				// Cheating a little; this is an APIservice that will exist for the e2e tests
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
-					Required: []v1alpha1.APIServiceDescription{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
+					Required: []operatorsv1alpha1.APIServiceDescription{
 						{
 							Group:       "packages.operators.coreos.com",
 							Version:     "v1",
@@ -1073,31 +1074,31 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create with unmet requirements native API", func() {
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
@@ -1123,7 +1124,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("create requirements met CRD", func() {
 
 		saName := genName("sa-")
-		permissions := []v1alpha1.StrategyDeploymentPermissions{
+		permissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -1136,7 +1137,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		clusterPermissions := []v1alpha1.StrategyDeploymentPermissions{
+		clusterPermissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: saName,
 				Rules: []rbacv1.PolicyRule{
@@ -1156,37 +1157,37 @@ var _ = Describe("ClusterServiceVersion", func() {
 		crdPlural := genName("ins")
 		crdName := crdPlural + ".cluster.com"
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, permissions, clusterPermissions),
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -1212,8 +1213,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		sa.SetNamespace(testNamespace)
 		sa.SetOwnerReferences([]metav1.OwnerReference{{
 			Name:       fetchedCSV.GetName(),
-			APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
-			Kind:       v1alpha1.ClusterServiceVersionKind,
+			APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
+			Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
 			UID:        fetchedCSV.GetUID(),
 		}})
 		_, err = c.CreateServiceAccount(&sa)
@@ -1249,8 +1250,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}
 		crd.SetOwnerReferences([]metav1.OwnerReference{{
 			Name:       fetchedCSV.GetName(),
-			APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
-			Kind:       v1alpha1.ClusterServiceVersionKind,
+			APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
+			Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
 			UID:        fetchedCSV.GetUID(),
 		}})
 		cleanupCRD, err := createCRD(c, crd)
@@ -1403,7 +1404,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		_, err := c.CreateServiceAccount(&sa)
 		Expect(err).ShouldNot(HaveOccurred(), "could not create ServiceAccount")
 
-		permissions := []v1alpha1.StrategyDeploymentPermissions{
+		permissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: sa.GetName(),
 				Rules: []rbacv1.PolicyRule{
@@ -1416,7 +1417,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		clusterPermissions := []v1alpha1.StrategyDeploymentPermissions{
+		clusterPermissions := []operatorsv1alpha1.StrategyDeploymentPermissions{
 			{
 				ServiceAccountName: sa.GetName(),
 				Rules: []rbacv1.PolicyRule{
@@ -1430,38 +1431,38 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}
 
 		depName := genName("dep-")
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(depName, permissions, clusterPermissions),
 				// Cheating a little; this is an APIservice that will exist for the e2e tests
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
-					Required: []v1alpha1.APIServiceDescription{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
+					Required: []operatorsv1alpha1.APIServiceDescription{
 						{
 							Group:       "packages.operators.coreos.com",
 							Version:     "v1",
@@ -1551,7 +1552,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err := fetchCSV(crc, csv.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 	})
 	It("create with owned API service", func() {
 
@@ -1564,8 +1565,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		apiServiceName := strings.Join([]string{version, mockGroup}, ".")
 
 		// Create CSV for the package-server
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -1573,9 +1574,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		owned := make([]v1alpha1.APIServiceDescription, len(mockKinds))
+		owned := make([]operatorsv1alpha1.APIServiceDescription, len(mockKinds))
 		for i, kind := range mockKinds {
-			owned[i] = v1alpha1.APIServiceDescription{
+			owned[i] = operatorsv1alpha1.APIServiceDescription{
 				Name:           apiServiceName,
 				Group:          mockGroup,
 				Version:        version,
@@ -1587,32 +1588,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -1689,14 +1690,14 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(ok).Should(BeTrue(), "expected olm sha annotation not present on existing pod template")
 
 		// Induce a cert rotation
-		Eventually(Apply(fetchedCSV, func(csv *v1alpha1.ClusterServiceVersion) error {
+		Eventually(Apply(fetchedCSV, func(csv *operatorsv1alpha1.ClusterServiceVersion) error {
 			now := metav1.Now()
 			csv.Status.CertsLastUpdated = &now
 			csv.Status.CertsRotateAt = &now
 			return nil
 		})).Should(Succeed())
 
-		_, err = fetchCSV(crc, csv.Name, testNamespace, func(csv *v1alpha1.ClusterServiceVersion) bool {
+		_, err = fetchCSV(crc, csv.Name, testNamespace, func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
 			// Should create deployment
 			dep, err = c.GetDeployment(testNamespace, depName)
 			if err != nil {
@@ -1727,7 +1728,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 
 		// Wait for CSV success
-		fetchedCSV, err = fetchCSV(crc, csv.GetName(), testNamespace, func(csv *v1alpha1.ClusterServiceVersion) bool {
+		fetchedCSV, err = fetchCSV(crc, csv.GetName(), testNamespace, func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
 			// Should create an APIService
 			apiService, err := c.GetAPIService(apiServiceName)
 			if err != nil {
@@ -1752,8 +1753,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		apiServiceName := strings.Join([]string{version, mockGroup}, ".")
 
 		// Create CSVs for the hat-server
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -1761,9 +1762,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		owned := make([]v1alpha1.APIServiceDescription, len(mockKinds))
+		owned := make([]operatorsv1alpha1.APIServiceDescription, len(mockKinds))
 		for i, kind := range mockKinds {
-			owned[i] = v1alpha1.APIServiceDescription{
+			owned[i] = operatorsv1alpha1.APIServiceDescription{
 				Name:           apiServiceName,
 				Group:          mockGroup,
 				Version:        version,
@@ -1775,32 +1776,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -1849,33 +1850,33 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred(), "error getting expected extension-apiserver-authentication-reader RoleBinding")
 
 		// Create a new CSV that owns the same API Service and replace the old CSV
-		csv2 := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv2 := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces:       csv.Name,
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -1950,9 +1951,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 		defer cleanupCSV()
 
-		fetched, err := fetchCSV(crc, csv.Name, testNamespace, buildCSVReasonChecker(v1alpha1.CSVReasonOwnerConflict))
+		fetched, err := fetchCSV(crc, csv.Name, testNamespace, buildCSVReasonChecker(operatorsv1alpha1.CSVReasonOwnerConflict))
 		Expect(err).ShouldNot(HaveOccurred())
-		Expect(fetched.Status.Phase).Should(Equal(v1alpha1.CSVPhaseFailed))
+		Expect(fetched.Status.Phase).Should(Equal(operatorsv1alpha1.CSVPhaseFailed))
 	})
 	It("create same CSV with owned API service multi namespace", func() {
 
@@ -1973,12 +1974,12 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}()
 
 		// Create a new operator group for the new namespace
-		operatorGroup := v1.OperatorGroup{
+		operatorGroup := operatorsv1.OperatorGroup{
 			ObjectMeta: metav1.ObjectMeta{
 				Name:      genName("e2e-operator-group-"),
 				Namespace: secondNamespaceName,
 			},
-			Spec: v1.OperatorGroupSpec{
+			Spec: operatorsv1.OperatorGroupSpec{
 				Selector: &metav1.LabelSelector{
 					MatchLabels: matchingLabel,
 				},
@@ -2009,8 +2010,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		apiServiceName := strings.Join([]string{version, mockGroup}, ".")
 
 		// Create CSVs for the hat-server
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -2018,9 +2019,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		owned := make([]v1alpha1.APIServiceDescription, len(mockKinds))
+		owned := make([]operatorsv1alpha1.APIServiceDescription, len(mockKinds))
 		for i, kind := range mockKinds {
-			owned[i] = v1alpha1.APIServiceDescription{
+			owned[i] = operatorsv1alpha1.APIServiceDescription{
 				Name:           apiServiceName,
 				Group:          mockGroup,
 				Version:        version,
@@ -2032,32 +2033,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -2107,32 +2108,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred(), "error getting expected extension-apiserver-authentication-reader RoleBinding")
 
 		// Create a new CSV that owns the same API Service but in a different namespace
-		csv2 := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv2 := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -2212,8 +2213,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("CSV annotations overwrite pod template annotations defined in a StrategyDetailsDeployment", func() {
 		// Create a StrategyDetailsDeployment that defines the `foo1` and `foo2` annotations on a pod template
 		nginxName := genName("nginx-")
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(nginxName),
@@ -2226,10 +2227,10 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}
 
 		// Create a CSV that defines the `foo1` and `foo3` annotations
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
@@ -2238,28 +2239,28 @@ var _ = Describe("ClusterServiceVersion", func() {
 					"foo3": "bar3",
 				},
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
 			},
@@ -2288,8 +2289,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 	It("Set labels for the Deployment created via the ClusterServiceVersion", func() {
 		// Create a StrategyDetailsDeployment that defines labels for Deployment inside
 		nginxName := genName("nginx-")
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(nginxName),
@@ -2301,36 +2302,36 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
 			},
@@ -2393,8 +2394,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		// Create "current" CSV
 		nginxName := genName("nginx-")
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(nginxName),
@@ -2406,40 +2407,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 		defer cleanupCRD()
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2466,8 +2467,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep).ShouldNot(BeNil())
 
 		// Create "updated" CSV
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					// Same name
 					Name: strategy.DeploymentSpecs[0].Name,
@@ -2479,40 +2480,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csvNew := v1alpha1.ClusterServiceVersion{
+		csvNew := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces: csv.Name,
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategyNew,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2547,7 +2548,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err := fetchCSV(crc, csvNew.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 	})
 	It("update different deployment name", func() {
 
@@ -2586,8 +2587,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		defer cleanupCRD()
 
 		// create "current" CSV
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -2597,40 +2598,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2657,8 +2658,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep).ShouldNot(BeNil())
 
 		// Create "updated" CSV
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep2"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -2668,40 +2669,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csvNew := v1alpha1.ClusterServiceVersion{
+		csvNew := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv2"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces: csv.Name,
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategyNew,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2725,7 +2726,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err := fetchCSV(crc, csvNew.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 
 		// Should have created new deployment and deleted old
 		depNew, err := c.GetDeployment(testNamespace, strategyNew.DeploymentSpecs[0].Name)
@@ -2776,8 +2777,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		defer cleanupCRD()
 
 		// create "current" CSV
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -2787,40 +2788,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2847,8 +2848,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep).ShouldNot(BeNil())
 
 		// Create "updated" CSV
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep2"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -2858,40 +2859,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csvNew := v1alpha1.ClusterServiceVersion{
+		csvNew := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv2"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces: csv.Name,
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategyNew,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -2915,7 +2916,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err := fetchCSV(crc, csvNew.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 
 		// Should have created new deployment and deleted old
 		depNew, err := c.GetDeployment(testNamespace, strategyNew.DeploymentSpecs[0].Name)
@@ -2965,8 +2966,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		// Create "current" CSV
 		nginxName := genName("nginx-")
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(nginxName),
@@ -2978,40 +2979,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 		defer cleanupCRD()
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -3137,8 +3138,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		defer cleanupCRD()
 
 		// create initial deployment strategy
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep1-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -3149,40 +3150,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 
 		// First CSV with owning CRD v1alpha1
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -3209,8 +3210,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep).ShouldNot(BeNil())
 
 		// Create updated deployment strategy
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep2-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -3221,40 +3222,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 
 		// Second CSV with owning CRD v1alpha1 and v1alpha2
-		csvNew := v1alpha1.ClusterServiceVersion{
+		csvNew := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv2"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces: csv.Name,
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategyNew,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -3285,7 +3286,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err := fetchCSV(crc, csvNew.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 
 		// Should have created new deployment and deleted old one
 		depNew, err := c.GetDeployment(testNamespace, strategyNew.DeploymentSpecs[0].Name)
@@ -3295,8 +3296,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 
 		// Create updated deployment strategy
-		strategyNew2 := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew2 := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep3-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -3306,40 +3307,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 
 		// Third CSV with owning CRD v1alpha2
-		csvNew2 := v1alpha1.ClusterServiceVersion{
+		csvNew2 := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv3"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				Replaces: csvNew.Name,
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategyNew2,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha2",
@@ -3364,7 +3365,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		// Fetch cluster service version again to check for unnecessary control loops
 		sameCSV, err = fetchCSV(crc, csvNew2.Name, testNamespace, csvSucceededChecker)
 		Expect(err).ShouldNot(HaveOccurred())
-		compareResources(GinkgoT(), fetchedCSV, sameCSV)
+		Expect(equality.Semantic.DeepEqual(fetchedCSV, sameCSV)).Should(BeTrue(), diff.ObjectDiff(fetchedCSV, sameCSV))
 
 		// Should have created new deployment and deleted old one
 		depNew, err = c.GetDeployment(testNamespace, strategyNew2.DeploymentSpecs[0].Name)
@@ -3415,8 +3416,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		defer cleanupCRD()
 
 		// create "current" CSV
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -3430,39 +3431,39 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
-				InstallModes: []v1alpha1.InstallMode{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -3492,8 +3493,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep2).ShouldNot(BeNil())
 
 		// Create "updated" CSV
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep3-"),
 					Spec: newNginxDeployment(genName("nginx3-")),
@@ -3580,8 +3581,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		// Create "current" CSV
 		nginxName := genName("nginx-")
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(nginxName),
@@ -3589,40 +3590,40 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "v1alpha1",
@@ -3649,8 +3650,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(dep).ShouldNot(BeNil())
 
 		// Create "updated" CSV
-		strategyNew := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategyNew := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					// Same name
 					Name: strategy.DeploymentSpecs[0].Name,
@@ -3674,7 +3675,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}).Should(Succeed())
 
 		// Wait for updated CSV to succeed
-		_, err = fetchCSV(crc, csv.Name, testNamespace, func(csv *v1alpha1.ClusterServiceVersion) bool {
+		_, err = fetchCSV(crc, csv.Name, testNamespace, func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
 
 			// Should have updated existing deployment
 			depUpdated, err := c.GetDeployment(testNamespace, strategyNew.DeploymentSpecs[0].Name)
@@ -3691,31 +3692,31 @@ var _ = Describe("ClusterServiceVersion", func() {
 	})
 	It("emits CSV requirement events", func() {
 
-		csv := &v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := &operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
 				InstallStrategy: newNginxInstallStrategy(genName("dep-"), nil, nil),
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					// Require an API that we know won't exist under our domain
-					Required: []v1alpha1.APIServiceDescription{
+					Required: []operatorsv1alpha1.APIServiceDescription{
 						{
 							Group:   "bad.packages.operators.coreos.com",
 							Version: "v1",
@@ -3755,7 +3756,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Eventually(nextReason).Should(Equal("RequirementsNotMet"))
 
 		// Patch the CSV to require an API that we know exists
-		Eventually(ctx.Ctx().SSAClient().Apply(clientCtx, csv, func(c *v1alpha1.ClusterServiceVersion) error {
+		Eventually(ctx.Ctx().SSAClient().Apply(clientCtx, csv, func(c *operatorsv1alpha1.ClusterServiceVersion) error {
 			c.Spec.APIServiceDefinitions.Required[0].Group = "packages.operators.coreos.com"
 			return nil
 		})).Should(Succeed())
@@ -3802,8 +3803,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		defer cleanupCRD()
 
 		// create CSV
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: genName("dep-"),
 					Spec: newNginxDeployment(genName("nginx-")),
@@ -3813,39 +3814,39 @@ var _ = Describe("ClusterServiceVersion", func() {
 
 		Expect(err).ShouldNot(HaveOccurred())
 
-		csv := v1alpha1.ClusterServiceVersion{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
 			TypeMeta: metav1.TypeMeta{
-				Kind:       v1alpha1.ClusterServiceVersionKind,
-				APIVersion: v1alpha1.ClusterServiceVersionAPIVersion,
+				Kind:       operatorsv1alpha1.ClusterServiceVersionKind,
+				APIVersion: operatorsv1alpha1.ClusterServiceVersionAPIVersion,
 			},
 			ObjectMeta: metav1.ObjectMeta{
 				Name: genName("csv"),
 			},
-			Spec: v1alpha1.ClusterServiceVersionSpec{
-				InstallModes: []v1alpha1.InstallMode{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				CustomResourceDefinitions: v1alpha1.CustomResourceDefinitions{
-					Owned: []v1alpha1.CRDDescription{
+				CustomResourceDefinitions: operatorsv1alpha1.CustomResourceDefinitions{
+					Owned: []operatorsv1alpha1.CRDDescription{
 						{
 							Name:        crdName,
 							Version:     "apiextensions.k8s.io/v1alpha1", // purposely invalid, should be just v1alpha1 to match CRD
@@ -3862,16 +3863,16 @@ var _ = Describe("ClusterServiceVersion", func() {
 		Expect(err).ShouldNot(HaveOccurred())
 		defer cleanupCSV()
 
-		notServedStatus := v1alpha1.RequirementStatus{
+		notServedStatus := operatorsv1alpha1.RequirementStatus{
 			Group:   "apiextensions.k8s.io",
 			Version: "v1",
 			Kind:    "CustomResourceDefinition",
 			Name:    crdName,
-			Status:  v1alpha1.RequirementStatusReasonNotPresent,
+			Status:  operatorsv1alpha1.RequirementStatusReasonNotPresent,
 			Message: "CRD version not served",
 		}
-		csvCheckPhaseAndRequirementStatus := func(csv *v1alpha1.ClusterServiceVersion) bool {
-			if csv.Status.Phase == v1alpha1.CSVPhasePending {
+		csvCheckPhaseAndRequirementStatus := func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
+			if csv.Status.Phase == operatorsv1alpha1.CSVPhasePending {
 				for _, status := range csv.Status.RequirementStatus {
 					if status.Message == notServedStatus.Message {
 						return true
@@ -3898,8 +3899,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		apiServiceName := strings.Join([]string{version, mockGroup}, ".")
 
 		// Create CSVs for the hat-server
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -3907,9 +3908,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		owned := make([]v1alpha1.APIServiceDescription, len(mockKinds))
+		owned := make([]operatorsv1alpha1.APIServiceDescription, len(mockKinds))
 		for i, kind := range mockKinds {
-			owned[i] = v1alpha1.APIServiceDescription{
+			owned[i] = operatorsv1alpha1.APIServiceDescription{
 				Name:           apiServiceName,
 				Group:          mockGroup,
 				Version:        version,
@@ -3921,32 +3922,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -3978,8 +3979,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		apiServiceName := strings.Join([]string{version, mockGroup}, ".")
 
 		// Create CSVs for the hat-server
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -3987,9 +3988,9 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		owned := make([]v1alpha1.APIServiceDescription, len(mockKinds))
+		owned := make([]operatorsv1alpha1.APIServiceDescription, len(mockKinds))
 		for i, kind := range mockKinds {
-			owned[i] = v1alpha1.APIServiceDescription{
+			owned[i] = operatorsv1alpha1.APIServiceDescription{
 				Name:           apiServiceName,
 				Group:          mockGroup,
 				Version:        version,
@@ -4001,32 +4002,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			}
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -4085,8 +4086,8 @@ var _ = Describe("ClusterServiceVersion", func() {
 		depSpec := newMockExtServerDeployment(depName, mockGroupVersionKinds)
 
 		// Create the CSV.
-		strategy := v1alpha1.StrategyDetailsDeployment{
-			DeploymentSpecs: []v1alpha1.StrategyDeploymentSpec{
+		strategy := operatorsv1alpha1.StrategyDetailsDeployment{
+			DeploymentSpecs: []operatorsv1alpha1.StrategyDeploymentSpec{
 				{
 					Name: depName,
 					Spec: depSpec,
@@ -4095,7 +4096,7 @@ var _ = Describe("ClusterServiceVersion", func() {
 		}
 
 		// Update the owned APIServices two include the two APIServices.
-		owned := []v1alpha1.APIServiceDescription{
+		owned := []operatorsv1alpha1.APIServiceDescription{
 			{
 				Name:           apiService1Name,
 				Group:          apiService1Group,
@@ -4118,32 +4119,32 @@ var _ = Describe("ClusterServiceVersion", func() {
 			},
 		}
 
-		csv := v1alpha1.ClusterServiceVersion{
-			Spec: v1alpha1.ClusterServiceVersionSpec{
+		csv := operatorsv1alpha1.ClusterServiceVersion{
+			Spec: operatorsv1alpha1.ClusterServiceVersionSpec{
 				MinKubeVersion: "0.0.0",
-				InstallModes: []v1alpha1.InstallMode{
+				InstallModes: []operatorsv1alpha1.InstallMode{
 					{
-						Type:      v1alpha1.InstallModeTypeOwnNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeOwnNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeSingleNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeSingleNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeMultiNamespace,
+						Type:      operatorsv1alpha1.InstallModeTypeMultiNamespace,
 						Supported: true,
 					},
 					{
-						Type:      v1alpha1.InstallModeTypeAllNamespaces,
+						Type:      operatorsv1alpha1.InstallModeTypeAllNamespaces,
 						Supported: true,
 					},
 				},
-				InstallStrategy: v1alpha1.NamedInstallStrategy{
-					StrategyName: v1alpha1.InstallStrategyNameDeployment,
+				InstallStrategy: operatorsv1alpha1.NamedInstallStrategy{
+					StrategyName: operatorsv1alpha1.InstallStrategyNameDeployment,
 					StrategySpec: strategy,
 				},
-				APIServiceDefinitions: v1alpha1.APIServiceDefinitions{
+				APIServiceDefinitions: operatorsv1alpha1.APIServiceDefinitions{
 					Owned: owned,
 				},
 			},
@@ -4192,7 +4193,7 @@ func findLastEvent(events *corev1.EventList) (event corev1.Event) {
 	return events.Items[latestInd]
 }
 
-func buildCSVCleanupFunc(c operatorclient.ClientInterface, crc versioned.Interface, csv v1alpha1.ClusterServiceVersion, namespace string, deleteCRDs, deleteAPIServices bool) cleanupFunc {
+func buildCSVCleanupFunc(c operatorclient.ClientInterface, crc versioned.Interface, csv operatorsv1alpha1.ClusterServiceVersion, namespace string, deleteCRDs, deleteAPIServices bool) cleanupFunc {
 	return func() {
 		err := crc.OperatorsV1alpha1().ClusterServiceVersions(namespace).Delete(context.TODO(), csv.GetName(), metav1.DeleteOptions{})
 		Expect(err).ShouldNot(HaveOccurred())
@@ -4218,9 +4219,9 @@ func buildCSVCleanupFunc(c operatorclient.ClientInterface, crc versioned.Interfa
 	}
 }
 
-func createCSV(c operatorclient.ClientInterface, crc versioned.Interface, csv v1alpha1.ClusterServiceVersion, namespace string, cleanupCRDs, cleanupAPIServices bool) (cleanupFunc, error) {
-	csv.Kind = v1alpha1.ClusterServiceVersionKind
-	csv.APIVersion = v1alpha1.SchemeGroupVersion.String()
+func createCSV(c operatorclient.ClientInterface, crc versioned.Interface, csv operatorsv1alpha1.ClusterServiceVersion, namespace string, cleanupCRDs, cleanupAPIServices bool) (cleanupFunc, error) {
+	csv.Kind = operatorsv1alpha1.ClusterServiceVersionKind
+	csv.APIVersion = operatorsv1alpha1.SchemeGroupVersion.String()
 	Eventually(func() error {
 		_, err := crc.OperatorsV1alpha1().ClusterServiceVersions(namespace).Create(context.TODO(), &csv, metav1.CreateOptions{})
 		return err
@@ -4384,10 +4385,10 @@ func newMockExtServerDeployment(labelName string, mGVKs []mockGroupVersionKind)
 	}
 }
 
-type csvConditionChecker func(csv *v1alpha1.ClusterServiceVersion) bool
+type csvConditionChecker func(csv *operatorsv1alpha1.ClusterServiceVersion) bool
 
-func buildCSVConditionChecker(phases ...v1alpha1.ClusterServiceVersionPhase) csvConditionChecker {
-	return func(csv *v1alpha1.ClusterServiceVersion) bool {
+func buildCSVConditionChecker(phases ...operatorsv1alpha1.ClusterServiceVersionPhase) csvConditionChecker {
+	return func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
 		conditionMet := false
 		for _, phase := range phases {
 			conditionMet = conditionMet || csv.Status.Phase == phase
@@ -4396,8 +4397,8 @@ func buildCSVConditionChecker(phases ...v1alpha1.ClusterServiceVersionPhase) csv
 	}
 }
 
-func buildCSVReasonChecker(reasons ...v1alpha1.ConditionReason) csvConditionChecker {
-	return func(csv *v1alpha1.ClusterServiceVersion) bool {
+func buildCSVReasonChecker(reasons ...operatorsv1alpha1.ConditionReason) csvConditionChecker {
+	return func(csv *operatorsv1alpha1.ClusterServiceVersion) bool {
 		conditionMet := false
 		for _, reason := range reasons {
 			conditionMet = conditionMet || csv.Status.Reason == reason
@@ -4406,15 +4407,15 @@ func buildCSVReasonChecker(reasons ...v1alpha1.ConditionReason) csvConditionChec
 	}
 }
 
-var csvPendingChecker = buildCSVConditionChecker(v1alpha1.CSVPhasePending)
-var csvSucceededChecker = buildCSVConditionChecker(v1alpha1.CSVPhaseSucceeded)
-var csvReplacingChecker = buildCSVConditionChecker(v1alpha1.CSVPhaseReplacing, v1alpha1.CSVPhaseDeleting)
-var csvFailedChecker = buildCSVConditionChecker(v1alpha1.CSVPhaseFailed)
-var csvAnyChecker = buildCSVConditionChecker(v1alpha1.CSVPhasePending, v1alpha1.CSVPhaseSucceeded, v1alpha1.CSVPhaseReplacing, v1alpha1.CSVPhaseDeleting, v1alpha1.CSVPhaseFailed)
-var csvCopiedChecker = buildCSVReasonChecker(v1alpha1.CSVReasonCopied)
+var csvPendingChecker = buildCSVConditionChecker(operatorsv1alpha1.CSVPhasePending)
+var csvSucceededChecker = buildCSVConditionChecker(operatorsv1alpha1.CSVPhaseSucceeded)
+var csvReplacingChecker = buildCSVConditionChecker(operatorsv1alpha1.CSVPhaseReplacing, operatorsv1alpha1.CSVPhaseDeleting)
+var csvFailedChecker = buildCSVConditionChecker(operatorsv1alpha1.CSVPhaseFailed)
+var csvAnyChecker = buildCSVConditionChecker(operatorsv1alpha1.CSVPhasePending, operatorsv1alpha1.CSVPhaseSucceeded, operatorsv1alpha1.CSVPhaseReplacing, operatorsv1alpha1.CSVPhaseDeleting, operatorsv1alpha1.CSVPhaseFailed)
+var csvCopiedChecker = buildCSVReasonChecker(operatorsv1alpha1.CSVReasonCopied)
 
-func fetchCSV(c versioned.Interface, name, namespace string, checker csvConditionChecker) (*v1alpha1.ClusterServiceVersion, error) {
-	var fetchedCSV *v1alpha1.ClusterServiceVersion
+func fetchCSV(c versioned.Interface, name, namespace string, checker csvConditionChecker) (*operatorsv1alpha1.ClusterServiceVersion, error) {
+	var fetchedCSV *operatorsv1alpha1.ClusterServiceVersion
 	var err error
 
 	Eventually(func() (bool, error) {
@@ -4432,8 +4433,8 @@ func fetchCSV(c versioned.Interface, name, namespace string, checker csvConditio
 	return fetchedCSV, err
 }
 
-func awaitCSV(c versioned.Interface, namespace, name string, checker csvConditionChecker) (*v1alpha1.ClusterServiceVersion, error) {
-	var fetched *v1alpha1.ClusterServiceVersion
+func awaitCSV(c versioned.Interface, namespace, name string, checker csvConditionChecker) (*operatorsv1alpha1.ClusterServiceVersion, error) {
+	var fetched *operatorsv1alpha1.ClusterServiceVersion
 	var err error
 
 	Eventually(func() (bool, error) {
@@ -4499,7 +4500,7 @@ func csvExists(c versioned.Interface, name string) bool {
 	return true
 }
 
-func deleteLegacyAPIResources(desc v1alpha1.APIServiceDescription) {
+func deleteLegacyAPIResources(desc operatorsv1alpha1.APIServiceDescription) {
 	c := newKubeClient()
 
 	apiServiceName := fmt.Sprintf("%s.%s", desc.Version, desc.Group)
@@ -4523,7 +4524,7 @@ func deleteLegacyAPIResources(desc v1alpha1.APIServiceDescription) {
 	Expect(err).ShouldNot(HaveOccurred())
 }
 
-func createLegacyAPIResources(csv *v1alpha1.ClusterServiceVersion, desc v1alpha1.APIServiceDescription) {
+func createLegacyAPIResources(csv *operatorsv1alpha1.ClusterServiceVersion, desc operatorsv1alpha1.APIServiceDescription) {
 	c := newKubeClient()
 
 	apiServiceName := fmt.Sprintf("%s.%s", desc.Version, desc.Group)
@@ -4610,7 +4611,7 @@ func createLegacyAPIResources(csv *v1alpha1.ClusterServiceVersion, desc v1alpha1
 	Expect(err).ShouldNot(HaveOccurred())
 }
 
-func checkLegacyAPIResources(desc v1alpha1.APIServiceDescription, expectedIsNotFound bool) {
+func checkLegacyAPIResources(desc operatorsv1alpha1.APIServiceDescription, expectedIsNotFound bool) {
 	c := newKubeClient()
 	apiServiceName := fmt.Sprintf("%s.%s", desc.Version, desc.Group)
 
diff --git a/test/e2e/installplan_e2e_test.go b/test/e2e/installplan_e2e_test.go
index d5f902953..6fd5689d0 100644
--- a/test/e2e/installplan_e2e_test.go
+++ b/test/e2e/installplan_e2e_test.go
@@ -25,21 +25,21 @@ import (
 	rbacv1 "k8s.io/api/rbac/v1"
 	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
+	"k8s.io/apimachinery/pkg/api/equality"
 	k8serrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
 	"k8s.io/apimachinery/pkg/runtime"
 	k8sjson "k8s.io/apimachinery/pkg/runtime/serializer/json"
+	"k8s.io/apimachinery/pkg/util/diff"
 	"k8s.io/apimachinery/pkg/util/wait"
 	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/client-go/discovery"
 	"k8s.io/client-go/util/retry"
 	"sigs.k8s.io/controller-runtime/pkg/client"
-	runtimeclient "sigs.k8s.io/controller-runtime/pkg/client"
 
 	opver "github.com/operator-framework/api/pkg/lib/version"
 	operatorsv1 "github.com/operator-framework/api/pkg/operators/v1"
-	"github.com/operator-framework/api/pkg/operators/v1alpha1"
 	operatorsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
 	"github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/clientset/versioned"
 	"github.com/operator-framework/operator-lifecycle-manager/pkg/controller/bundle"
@@ -612,7 +612,7 @@ var _ = Describe("Install Plan", func() {
 			Expect(ctx.Ctx().Client().Create(context.Background(), plan)).To(Succeed())
 			Expect(ctx.Ctx().Client().Status().Update(context.Background(), plan)).To(Succeed())
 
-			key := runtimeclient.ObjectKeyFromObject(plan)
+			key := client.ObjectKeyFromObject(plan)
 
 			Eventually(func() (*operatorsv1alpha1.InstallPlan, error) {
 				return plan, ctx.Ctx().Client().Get(context.Background(), key, plan)
@@ -712,8 +712,8 @@ var _ = Describe("Install Plan", func() {
 		// Fetch installplan again to check for unnecessary control loops
 		fetchedInstallPlan, err = fetchInstallPlan(GinkgoT(), crc, fetchedInstallPlan.GetName(), func(fip *operatorsv1alpha1.InstallPlan) bool {
 			// Don't compare object meta as labels can be applied by the operator controller.
-			compareResources(GinkgoT(), fetchedInstallPlan.Spec, fip.Spec)
-			compareResources(GinkgoT(), fetchedInstallPlan.Status, fip.Status)
+			Expect(equality.Semantic.DeepEqual(fetchedInstallPlan.Spec, fip.Spec)).Should(BeTrue(), diff.ObjectDiff(fetchedInstallPlan, fip))
+			Expect(equality.Semantic.DeepEqual(fetchedInstallPlan.Status, fip.Status)).Should(BeTrue(), diff.ObjectDiff(fetchedInstallPlan, fip))
 			return true
 		})
 		require.NoError(GinkgoT(), err)
@@ -875,7 +875,7 @@ var _ = Describe("Install Plan", func() {
 
 			// Fetch installplan again to check for unnecessary control loops
 			fetchedInstallPlan, err = fetchInstallPlan(GinkgoT(), crc, fetchedInstallPlan.GetName(), func(fip *operatorsv1alpha1.InstallPlan) bool {
-				compareResources(GinkgoT(), fetchedInstallPlan, fip)
+				Expect(equality.Semantic.DeepEqual(fetchedInstallPlan, fip)).Should(BeTrue(), diff.ObjectDiff(fetchedInstallPlan, fip))
 				return true
 			})
 			require.NoError(GinkgoT(), err)
@@ -2343,7 +2343,7 @@ var _ = Describe("Install Plan", func() {
 
 			// Fetch installplan again to check for unnecessary control loops
 			fetchedInstallPlan, err = fetchInstallPlan(GinkgoT(), crc, fetchedInstallPlan.GetName(), func(fip *operatorsv1alpha1.InstallPlan) bool {
-				compareResources(GinkgoT(), fetchedInstallPlan, fip)
+				Expect(equality.Semantic.DeepEqual(fetchedInstallPlan, fip)).Should(BeTrue(), diff.ObjectDiff(fetchedInstallPlan, fip))
 				return true
 			})
 			require.NoError(GinkgoT(), err)
@@ -2544,7 +2544,7 @@ var _ = Describe("Install Plan", func() {
 
 			// Fetch installplan again to check for unnecessary control loops
 			fetchedInstallPlan, err = fetchInstallPlan(GinkgoT(), crc, fetchedInstallPlan.GetName(), func(fip *operatorsv1alpha1.InstallPlan) bool {
-				compareResources(GinkgoT(), fetchedInstallPlan, fip)
+				Expect(equality.Semantic.DeepEqual(fetchedInstallPlan, fip)).Should(BeTrue(), diff.ObjectDiff(fetchedInstallPlan, fip))
 				return true
 			})
 			require.NoError(GinkgoT(), err)
@@ -3196,9 +3196,9 @@ var _ = Describe("Install Plan", func() {
 			fetchedInstallPlan, err := fetchInstallPlanWithNamespace(GinkgoT(), crc, installPlanName, ns.GetName(), buildInstallPlanPhaseCheckFunc(operatorsv1alpha1.InstallPlanPhaseInstalling))
 			Expect(err).NotTo(HaveOccurred())
 			Expect(fetchedInstallPlan).NotTo(BeNil())
-			cond := v1alpha1.InstallPlanCondition{Type: v1alpha1.InstallPlanInstalled, Status: corev1.ConditionFalse, Reason: v1alpha1.InstallPlanReasonInstallCheckFailed,
+			cond := operatorsv1alpha1.InstallPlanCondition{Type: operatorsv1alpha1.InstallPlanInstalled, Status: corev1.ConditionFalse, Reason: operatorsv1alpha1.InstallPlanReasonInstallCheckFailed,
 				Message: "no operator group found that is managing this namespace"}
-			Expect(fetchedInstallPlan.Status.Phase).To(Equal(v1alpha1.InstallPlanPhaseInstalling))
+			Expect(fetchedInstallPlan.Status.Phase).To(Equal(operatorsv1alpha1.InstallPlanPhaseInstalling))
 			Expect(hasCondition(fetchedInstallPlan, cond)).To(BeTrue())
 
 			// Create an operatorgroup for the same namespace
@@ -3314,7 +3314,7 @@ var _ = Describe("Install Plan", func() {
 				},
 				Spec: operatorsv1alpha1.InstallPlanSpec{
 					ClusterServiceVersionNames: []string{"foobar"},
-					Approval:                   v1alpha1.ApprovalAutomatic,
+					Approval:                   operatorsv1alpha1.ApprovalAutomatic,
 					Approved:                   true,
 				},
 				Status: operatorsv1alpha1.InstallPlanStatus{
@@ -3674,7 +3674,7 @@ var _ = Describe("Install Plan", func() {
 		Expect(ctx.Ctx().Client().Create(context.Background(), plan)).To(Succeed())
 		Expect(ctx.Ctx().Client().Status().Update(context.Background(), plan)).To(Succeed())
 
-		key := runtimeclient.ObjectKeyFromObject(plan)
+		key := client.ObjectKeyFromObject(plan)
 
 		Eventually(func() (*operatorsv1alpha1.InstallPlan, error) {
 			return plan, ctx.Ctx().Client().Get(context.Background(), key, plan)
@@ -3745,7 +3745,7 @@ var _ = Describe("Install Plan", func() {
 		Expect(ctx.Ctx().Client().Create(context.Background(), newPlan)).To(Succeed())
 		Expect(ctx.Ctx().Client().Status().Update(context.Background(), newPlan)).To(Succeed())
 
-		newKey := runtimeclient.ObjectKeyFromObject(newPlan)
+		newKey := client.ObjectKeyFromObject(newPlan)
 
 		Eventually(func() (*operatorsv1alpha1.InstallPlan, error) {
 			return newPlan, ctx.Ctx().Client().Get(context.Background(), newKey, newPlan)
@@ -3944,7 +3944,7 @@ var _ = Describe("Install Plan", func() {
 		Expect(ctx.Ctx().Client().Create(context.Background(), plan)).To(Succeed())
 		Expect(ctx.Ctx().Client().Status().Update(context.Background(), plan)).To(Succeed())
 
-		key := runtimeclient.ObjectKeyFromObject(plan)
+		key := client.ObjectKeyFromObject(plan)
 
 		Eventually(func() (*operatorsv1alpha1.InstallPlan, error) {
 			return plan, ctx.Ctx().Client().Get(context.Background(), key, plan)
@@ -3990,7 +3990,7 @@ var _ = Describe("Install Plan", func() {
 		Expect(ctx.Ctx().Client().Create(context.Background(), newPlan)).To(Succeed())
 		Expect(ctx.Ctx().Client().Status().Update(context.Background(), newPlan)).To(Succeed())
 
-		newKey := runtimeclient.ObjectKeyFromObject(newPlan)
+		newKey := client.ObjectKeyFromObject(newPlan)
 
 		Eventually(func() (*operatorsv1alpha1.InstallPlan, error) {
 			return newPlan, ctx.Ctx().Client().Get(context.Background(), newKey, newPlan)
@@ -4284,7 +4284,7 @@ func newInstallPlanWithDummySteps(name, namespace string, phase operatorsv1alpha
 	}
 }
 
-func hasCondition(ip *v1alpha1.InstallPlan, expectedCondition v1alpha1.InstallPlanCondition) bool {
+func hasCondition(ip *operatorsv1alpha1.InstallPlan, expectedCondition operatorsv1alpha1.InstallPlanCondition) bool {
 	for _, cond := range ip.Status.Conditions {
 		if cond.Type == expectedCondition.Type && cond.Message == expectedCondition.Message && cond.Status == expectedCondition.Status {
 			return true
diff --git a/test/e2e/subscription_e2e_test.go b/test/e2e/subscription_e2e_test.go
index 978fe2b57..3d4f16f58 100644
--- a/test/e2e/subscription_e2e_test.go
+++ b/test/e2e/subscription_e2e_test.go
@@ -2169,14 +2169,14 @@ var _ = Describe("Subscription", func() {
 
 				updateInternalCatalog(GinkgoT(), c, crc, catSrcName, generatedNamespace.GetName(), []apiextensions.CustomResourceDefinition{crd}, []operatorsv1alpha1.ClusterServiceVersion{csvA, csvB}, packages)
 			})
-			It("the ResolutionFailed condition previously set in it's status that indicated the resolution error is cleared off", func() {
+			It("the ResolutionFailed condition previously set in its status that indicated the resolution error is cleared off", func() {
 				Eventually(func() (corev1.ConditionStatus, error) {
 					sub, err := crc.OperatorsV1alpha1().Subscriptions(generatedNamespace.GetName()).Get(context.Background(), subName, metav1.GetOptions{})
 					if err != nil {
-						return corev1.ConditionUnknown, err
+						return corev1.ConditionFalse, err
 					}
 					return sub.Status.GetCondition(operatorsv1alpha1.SubscriptionResolutionFailed).Status, nil
-				}).Should(Equal(corev1.ConditionFalse))
+				}).Should(Equal(corev1.ConditionUnknown))
 			})
 		})
 	})
diff --git a/test/e2e/util_test.go b/test/e2e/util_test.go
index 0b7bb2b16..88f7a0378 100644
--- a/test/e2e/util_test.go
+++ b/test/e2e/util_test.go
@@ -17,7 +17,6 @@ import (
 	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
 	extScheme "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme"
-	"k8s.io/apimachinery/pkg/api/equality"
 	apierrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@@ -26,7 +25,6 @@ import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	k8sjson "k8s.io/apimachinery/pkg/runtime/serializer/json"
 	"k8s.io/apimachinery/pkg/types"
-	"k8s.io/apimachinery/pkg/util/diff"
 	"k8s.io/apimachinery/pkg/util/wait"
 	"k8s.io/apimachinery/pkg/watch"
 	"k8s.io/apiserver/pkg/storage/names"
@@ -226,14 +224,6 @@ func awaitAnnotations(t GinkgoTInterface, query func() (metav1.ObjectMeta, error
 	return err
 }
 
-// compareResources compares resource equality then prints a diff for easier debugging
-func compareResources(t GinkgoTInterface, expected, actual interface{}) {
-	if eq := equality.Semantic.DeepEqual(expected, actual); !eq {
-		t.Fatalf("Resource does not match expected value: %s",
-			diff.ObjectDiff(expected, actual))
-	}
-}
-
 type checkResourceFunc func() error
 
 func waitForDelete(checkResource checkResourceFunc) error {