Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1971640

Summary: [master] InfraEnv controller should always requeue for backend response HTTP StatusConflict (code 409)
Product: OpenShift Container Platform Reporter: Nir Magnezi <nmagnezi>
Component: assisted-installerAssignee: Nir Magnezi <nmagnezi>
assisted-installer sub component: assisted-service QA Contact: Yuri Obshansky <yobshans>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: aos-bugs, frolland, mfilanov
Version: 4.8Keywords: Triaged
Target Milestone: ---   
Target Release: 4.9.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: AI-Team-Hive KNI-EDGE-4.8
Fixed In Version: OCP-Metal-v1.0.23.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1971654 (view as bug list) Environment:
Last Closed: 2021-10-18 17:33:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1971654    

Description Nir Magnezi 2021-06-14 13:25:56 UTC
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

Comment 1 Nir Magnezi 2021-06-23 09:08:28 UTC
merged to master: https://github.com/openshift/assisted-service/pull/2022

Comment 5 errata-xmlrpc 2021-10-18 17:33:59 UTC
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