From 92fc55a0b04ad1fa5188bb33509adcdacf3c99f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Vila=C3=A7a?= Date: Wed, 13 Mar 2024 22:09:03 +0000 Subject: [PATCH] Fix test failure due to missing CRBs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: João Vilaça --- tests/monitoring/component_monitoring.go | 32 ++++++++++++++++-------- tests/testsuite/kubevirtresource.go | 8 +++--- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/tests/monitoring/component_monitoring.go b/tests/monitoring/component_monitoring.go index 75504b3a5689..e5fb22614a2f 100644 --- a/tests/monitoring/component_monitoring.go +++ b/tests/monitoring/component_monitoring.go @@ -87,6 +87,12 @@ var ( restErrorsHighAlert: "VirtOperatorRESTErrorsHigh", lowCountAlert: "LowVirtOperatorCount", } + + crbs = []string{ + "kubevirt-operator", + "kubevirt-controller", + "kubevirt-handler", + } ) var _ = Describe("[Serial][sig-monitoring]Component Monitoring", Serial, decorators.SigMonitoring, func() { @@ -167,13 +173,16 @@ var _ = Describe("[Serial][sig-monitoring]Component Monitoring", Serial, decorat }) Context("Errors metrics", func() { - var crb *rbacv1.ClusterRoleBinding + var crbs_backup []*rbacv1.ClusterRoleBinding BeforeEach(func() { virtClient = kubevirt.Client() - crb, err = virtClient.RbacV1().ClusterRoleBindings().Get(context.Background(), "kubevirt-operator", metav1.GetOptions{}) - util.PanicOnError(err) + for _, crb := range crbs { + crb, err := virtClient.RbacV1().ClusterRoleBindings().Get(context.Background(), crb, metav1.GetOptions{}) + Expect(err).ToNot(HaveOccurred()) + crbs_backup = append(crbs_backup, crb.DeepCopy()) + } increaseRateLimit() @@ -184,13 +193,16 @@ var _ = Describe("[Serial][sig-monitoring]Component Monitoring", Serial, decorat }) AfterEach(func() { - crb.Annotations = nil - crb.ObjectMeta.ResourceVersion = "" - crb.ObjectMeta.UID = "" - _, err = virtClient.RbacV1().ClusterRoleBindings().Create(context.Background(), crb, metav1.CreateOptions{}) - if !errors.IsAlreadyExists(err) { - util.PanicOnError(err) + for _, crb := range crbs_backup { + crb.Annotations = nil + crb.ObjectMeta.ResourceVersion = "" + crb.ObjectMeta.UID = "" + _, err = virtClient.RbacV1().ClusterRoleBindings().Create(context.Background(), crb, metav1.CreateOptions{}) + if !errors.IsAlreadyExists(err) { + util.PanicOnError(err) + } } + scales.RestoreAllScales() time.Sleep(10 * time.Second) @@ -212,7 +224,7 @@ var _ = Describe("[Serial][sig-monitoring]Component Monitoring", Serial, decorat It("VirtOperatorRESTErrorsBurst and VirtOperatorRESTErrorsHigh should be triggered when requests to virt-operator are failing", func() { scales.RestoreScale(virtOperator.deploymentName) - err = virtClient.RbacV1().ClusterRoleBindings().Delete(context.Background(), crb.Name, metav1.DeleteOptions{}) + err = virtClient.RbacV1().ClusterRoleBindings().Delete(context.Background(), "kubevirt-operator", metav1.DeleteOptions{}) Expect(err).ToNot(HaveOccurred()) Eventually(func(g Gomega) { diff --git a/tests/testsuite/kubevirtresource.go b/tests/testsuite/kubevirtresource.go index 3237f026b13e..474752b80158 100644 --- a/tests/testsuite/kubevirtresource.go +++ b/tests/testsuite/kubevirtresource.go @@ -198,8 +198,10 @@ func UpdateKubeVirtConfigValue(kvConfig v1.KubeVirtConfiguration) *v1.KubeVirt { patch, err := strategicpatch.CreateTwoWayMergePatch(old, newJson, kv) Expect(err).ToNot(HaveOccurred()) - kv, err = virtClient.KubeVirt(kv.Namespace).Patch(kv.GetName(), types.MergePatchType, patch, &metav1.PatchOptions{}) - Expect(err).ToNot(HaveOccurred()) + Eventually(func() error { + _, err = virtClient.KubeVirt(kv.Namespace).Patch(kv.GetName(), types.MergePatchType, patch, &metav1.PatchOptions{}) + return err + }, 30*time.Second, 1*time.Second).Should(BeNil()) - return kv + return util.GetCurrentKv(virtClient) }