Previously, in OCPBUGS-32105, we fixed a bug where a race between the assisted-installer and the assisted-installer-controller to mark a Node as Joined would result in 30+ minutes of (unlogged) retries by the former if the latter won. This was indistinguishable from the installation process hanging and it would eventually timed out.
This bug has been fixed, but we were unable to reproduce the circumstances that caused it.
However, a reproduction by the customer reveals another problem: we now correctly retry checking the control plane nodes for readiness if we encounter a conflict with another write from assisted-installer-controller. However, we never reload fresh data from assisted-service - data that would show the host has already been updated and thus prevent us from trying to update it again. Therefore, we continue to get a conflict on every retry. (This is at least now logged, so we can see what is happening.)
This also suggests a potential way to reproduce the problem: whenever one control plane node has booted to the point that the assisted-installer-controller is running before the second control plane node has booted to the point that the Node is marked as ready in the k8s API, there is a possibility of a race. There is in fact no need for the write from assisted-installer-controller to come in the narrow window between when assisted-installer reads vs. writes to the assisted-service API, because assisted-installer is always using a stale read.
- blocks
-
OCPBUGS-37167 3rd master still not joining to the cluster on ABI
-
- Closed
-
- is cloned by
-
OCPBUGS-37167 3rd master still not joining to the cluster on ABI
-
- Closed
-
- split from
-
OCPBUGS-32105 The third master is not joining to the cluster on an Agent Based Installations
-
- Closed
-
- links to
-
RHEA-2024:3718 OpenShift Container Platform 4.17.z bug fix update
- mentioned on