Description of problem: ======================= InfraEnv controller should always requeue for backend response HTTP StatusConflict (code 409) The InfraEnv controller is expected to get HTTP StatusConflict (code 409) from the backend for requests sent in a gap smaller than 10 seconds[1]. The backend generates that response without looking at the Generate ISO request content (which may either be valid or not). The image should always be on par with the spec. For that, each request must be served by the backend. Currently, the controller will not requeue in a case of 409, if the conditions indicate an error[2]. The controller should always requeue, and set RequeueAfter to something larger than 10 seconds to avoid repeated 409s. [1] https://github.com/openshift/assisted-service/blob/52dd09d9b935b35a5a92d146581bd142e3339940/internal/bminventory/inventory.go#L897-L908 [2] https://github.com/openshift/assisted-service/blob/01e814cbe3ddb273197c70b7767bceffe275a87a/internal/controller/controllers/infraenv_controller.go#L344-L346
merged to master: https://github.com/openshift/assisted-service/pull/2022
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 (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:3759