-
Bug
-
Resolution: Duplicate
-
Critical
-
None
-
4.13, 4.12
-
No
-
Proposed
-
False
-
This is a clone of issue OCPBUGS-10343. The following is the description of the original issue:
—
Description of problem:
When deploying hosts using ironic's agent both the ironic service address and inspector address are required. The ironic service is proxied such that it can be accessed at a consistent endpoint regardless of where the pod is running. This is not the case for the inspection service. This means that if the inspection service moves after we find the address, provisioning will fail. In particular this non-matching behavior is frustrating when using the CBO [GetIronicIP function|https://github.com/openshift/cluster-baremetal-operator/blob/6f0a255fdcc7c0e5c04166cb9200be4cee44f4b7/provisioning/utils.go#L95-L127] as one return value is usable forever but the other needs to somehow be re-queried every time the pod moves.
Version-Release number of selected component (if applicable):
4.12
How reproducible:
Relatively
Steps to Reproduce:
1. Retrieve the inspector IP from GetIronicIP 2. Reschedule the inspector service pod 3. Provision a host
Actual results:
Ironic python agent raises an exception
Expected results:
Host provisions
Additional info:
This was found while deploying clusters using ZTP In this scenario specifically an image containing the ironic inspector IP is valid for an extended period of time. The same image can be used for multiple hosts and possibly multiple different spoke clusters. Our controller shouldn't be expected to watch the ironic pod to ensure we update the image whenever it moves. The best we can do is re-query the inspector IP whenever a user makes changes to the image, but that may still not be often enough.
- clones
-
OCPBUGS-10343 Ironic inspector service should be proxied
- Closed
- is blocked by
-
OCPBUGS-10343 Ironic inspector service should be proxied
- Closed