Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release-4.14] OCPBUGS-35912: Fix race to mark node Joined #860

Open
wants to merge 3 commits into
base: release-4.14
Choose a base branch
from

Conversation

openshift-cherrypick-robot

This is an automated cherry-pick of #859

/assign zaneb

zaneb added 2 commits June 21, 2024 11:53
If a host is in the Installed state already (which can occur when the
assisted-installer-controller sets the progress to Done), don't try to
set the progress to Joined as it will not only never succeed, but also
take 30+ minutes of unlogged retries inside the client before an error
is returned.

This narrows the window in which this can occur, but if the bootstrap
assisted-installer reads the Host before the
assisted-installer-controller updates the status, this could still
occur.

Ensure any failed requests are retried by not adding the Node to the
readyMasters list until the Progress has been set to either Joined or
Done (the latter triggers a change of Status to Installed).

Improve debugging by not logging different request_ids for messages
corresponding to a single request.
Since 4xx error codes indicate a problem on the client side, most of
them cannot be usefully retried at the HTTP transport level. e.g. if a
409 Conflict is returned in response to a PUT request, then we need to
fetch the resource again with a GET before creating a new PUT request.
Blocking for 30+ minutes in the original PUT call (without logging) is
not helpful; we want the transport to return immediately so we can try
again.

Retry on only those 4xx error codes where it is conceivable that trying
the same request again might work.
@openshift-ci-robot
Copy link

@openshift-cherrypick-robot: Jira Issue OCPBUGS-35894 has been cloned as Jira Issue OCPBUGS-35912. Will retitle bug to link to clone.
/retitle [release-4.14] OCPBUGS-35912: Fix race to mark node Joined

In response to this:

This is an automated cherry-pick of #859

/assign zaneb

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot changed the title [release-4.14] OCPBUGS-35894: Fix race to mark node Joined [release-4.14] OCPBUGS-35912: Fix race to mark node Joined Jun 21, 2024
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 21, 2024
@openshift-ci-robot
Copy link

@openshift-cherrypick-robot: This pull request references Jira Issue OCPBUGS-35912, which is invalid:

  • expected dependent Jira Issue OCPBUGS-35894 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is MODIFIED instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

This is an automated cherry-pick of #859

/assign zaneb

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jun 21, 2024
@openshift-ci openshift-ci bot requested review from adriengentil and tsorya June 21, 2024 11:55
@eranco74
Copy link
Contributor

eranco74 commented Jun 23, 2024

/retest
"Attempting to acquire a Host from OFCIR - Failed

@tsorya
Copy link
Contributor

tsorya commented Jun 23, 2024

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 23, 2024
@zaneb
Copy link
Member

zaneb commented Jun 24, 2024

/lgtm
/label backport-risk-assessed

@openshift-ci openshift-ci bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Jun 24, 2024
@zaneb
Copy link
Member

zaneb commented Jul 1, 2024

/jira refresh

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Jul 1, 2024
@openshift-ci-robot
Copy link

@zaneb: This pull request references Jira Issue OCPBUGS-35912, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.14.z) matches configured target version for branch (4.14.z)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-35894 is in the state Verified, which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-35894 targets the "4.15.z" version, which is one of the valid target versions: 4.15.0, 4.15.z
  • bug has dependents

Requesting review from QA contact:
/cc @mhanss

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Jul 1, 2024
@openshift-ci openshift-ci bot requested a review from mhanss July 1, 2024 00:39
@zaneb
Copy link
Member

zaneb commented Jul 18, 2024

/hold
This fix is incomplete, we should include a backport of https://issues.redhat.com/browse/OCPBUGS-36779 at the same time.

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 18, 2024
In a race between the assisted-installer and
assisted-installer-controller to mark a control plane node as ready, the
former will get a 409 Conflict response from assisted-service if the
latter wins. Since f548d32 we retry
that check promptly. However, prior to this change we never read fresh
inventory data (which would show the host has already reached the
"installed" state and thus prevent us from attempting another
(unnecessary) write that is doomed to fail due to a conflict.

Reload the host inventory in the event of a failure to update the host
status, so that we can take into account that the change may already
have been performed by the assisted-installer-controller.
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Sep 24, 2024
Copy link

openshift-ci bot commented Sep 24, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: openshift-cherrypick-robot
Once this PR has been reviewed and has the lgtm label, please ask for approval from tsorya. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@zaneb
Copy link
Member

zaneb commented Sep 24, 2024

Backport of #891 is now included.
/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 24, 2024
Copy link

openshift-ci bot commented Sep 24, 2024

@openshift-cherrypick-robot: all tests passed!

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@bfournie
Copy link

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 10, 2024
@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants