From 95167001dc7896bdebe24a261c93a2df520503b2 Mon Sep 17 00:00:00 2001 From: Artyom Lukianov Date: Mon, 11 Oct 2021 14:45:19 +0300 Subject: [PATCH] e2e: restart OLM pods after subscription update to trigger the upgrade Temporary workaround until https://github.com/openshift/operator-framework-olm/pull/196 merged. Signed-off-by: Artyom Lukianov --- .../upgrade_operator.go | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/functests-extended/1_performance_operator_upgrade/upgrade_operator.go b/functests-extended/1_performance_operator_upgrade/upgrade_operator.go index 7696063d2..b9413de6d 100644 --- a/functests-extended/1_performance_operator_upgrade/upgrade_operator.go +++ b/functests-extended/1_performance_operator_upgrade/upgrade_operator.go @@ -8,11 +8,12 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1" + + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1" - testclient "github.com/openshift-kni/performance-addon-operators/functests/utils/client" "github.com/openshift-kni/performance-addon-operators/functests/utils/namespaces" ) @@ -68,6 +69,24 @@ var _ = Describe("[rfe_id:28567][performance] Performance Addon Operator Upgrade ), )).ToNot(HaveOccurred()) + // TODO: remove the hack once https://github.com/openshift/operator-framework-olm/pull/196 merged + // the W/A deletes OLM related pods to initiate OLM pods restart + By("Getting OLM pods") + for _, labelValue := range []string{"olm-operator", "catalog-operator"} { + olmPods := &v1.PodList{} + Expect(testclient.Client.List( + context.TODO(), + olmPods, + client.InNamespace("openshift-operator-lifecycle-manager"), + client.MatchingLabels{"app": labelValue}), + ).To(BeNil()) + + By("Deleting OLM pods") + for i := range olmPods.Items { + Expect(testclient.Client.Delete(context.TODO(), &olmPods.Items[i])).To(BeNil()) + } + } + By(fmt.Sprintf("Verifying that channel was updated to %s", toVersion)) subscriptionWaitForUpdate(subscription.Name, namespaces.PerformanceOperator, toVersion)