fix(nodepool): scope autoRepair/ignition gate to regular MHC only instead of returning from entire CAPI Reconcile

Open
#8,735 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
go
Domain
backend

Research direction

Start with the CAPI.Reconcile function and PR #8645, including the linked reviewer discussion, to understand the current autoRepair and ReachedIgnitionEndpoint gate. Ensure that an unreached ignition endpoint skips only regular MHC reconciliation while MachineDeployment and subsequent reconciliation continue normally; run the relevant controller tests if available.

Written by the indexing model from the issue text.

Description

lifecycle/stale

Background

In PR #8645 we moved the spot MHC reconciliation before the autoRepair/ReachedIgnitionEndpoint gate in CAPI.Reconcile() to fix a bug where the spot MHC was never created when ignition wasn't reached.

However, the current gate still returns nil from the entire Reconcile function when autoRepair is enabled but ignition hasn't been reached. This means everything after the gate (MachineDeployment reconciliation, etc.) is also skipped.

Proposed Change

Refactor the gate so it only affects regular MHC creation:

  • Instead of return nil when ignition isn't reached, skip only the regular MHC reconciliation
  • Allow the rest of Reconcile() (MachineDeployment, etc.) to proceed normally

Context

Dominant language
Go
Stars
542
Forks
567
Avg merge
5d 13h
Merged PRs (30d)
136

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openshift/hypershift

All issues in openshift/hypershift

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.