Description of problem:
ingress-operator e2e test flake is happening more frequently, blocking PRs.
--- FAIL: TestIngressControllerUpdate (12.79s)
operator_test.go:367: failed to reset IngressController: Operation cannot be fulfilled on ingresscontrollers.operator.openshift.io "default": the object has been modified; please apply your changes to the latest version and try again
operator_test.go:381: failed to get recreated CA certificate configmap: timed out waiting for the condition
=== RUN TestRouterCACertificate
--- FAIL: TestRouterCACertificate (11.60s)
operator_test.go:595: failed to get CA certificate: timed out waiting for the condition
Version-Release number of selected component (if applicable):
Steps to Reproduce:
What I believe is happening is that the TestIngressControllerUpdate fails on its second update to the ingress controller because, in between the updates that the test does, something else (possibly the status sync code) is updating the ingress controller, which causes its resource version to change.
The solution is the re-get the resource before the second update.
TestRouterCACertificate fails because TestIngressControllerUpdate fails before restoring the original default certificate secret reference. Fixing the failure in TestIngressControllerUpdate should prevent the failure in TestRouterCACertificate.
We had a similar problem in TestIngressControllerScale, which should also be fixed now.
I'm going to mark this as verified since no similar issue in recent ci test.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.