Skip to content

Fix hardware application sequence in Tinkerbell upgrade flow #9880

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

Merged
merged 1 commit into from
Jul 1, 2025

Conversation

rahulbabu95
Copy link
Member

Issue #, if available:

Description of changes:

There is an issue in the EKS-A bare metal upgrade flow where hardware was being applied with a new schema before the CRDs were updated, causing validation failures.

Key changes:

  • Move hardware application logic from SetupAndValidateUpgradeCluster to PreCoreComponentsUpgrade to ensure hardware is applied after CRDs are updated
  • Remove redundant PostBootstrapSetupUpgrade and PostBootstrapDeleteForUpgrade methods from the provider interface and all provider implementations

The issue was occurring because hardware was being generated and applied based on a new schema in the upgrade flow before the CRDs were actually updated, resulting in validation errors with messages like
unknown field 'spec.connection.providerOptions.preferredOrder'.

This change ensures the correct sequence: first update CRDs, then apply hardware with the new schema.

Testing (if applicable):
Manually tested upgrade with above changes and the flow doesn't break.

Documentation added/planned (if applicable):

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@eks-distro-bot eks-distro-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 1, 2025
There is an issue in the EKS-A bare metal upgrade flow where hardware was being applied with a new schema before the CRDs were updated, causing validation failures.

Key changes:
- Move hardware application logic from SetupAndValidateUpgradeCluster to PreCoreComponentsUpgrade to ensure hardware is applied after CRDs are updated
- Remove redundant PostBootstrapSetupUpgrade and PostBootstrapDeleteForUpgrade methods from the provider interface and all provider implementations

This change ensures the correct sequence: first update CRDs, then apply hardware with the new schema.

Signed-off-by: Rahul Ganesh <rahulgab@amazon.com>
Copy link

codecov bot commented Jul 1, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.94%. Comparing base (dd30ab6) to head (795393c).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9880      +/-   ##
==========================================
+ Coverage   69.90%   69.94%   +0.04%     
==========================================
  Files         676      676              
  Lines       50456    50427      -29     
==========================================
  Hits        35271    35271              
+ Misses      13377    13350      -27     
+ Partials     1808     1806       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rahulbabu95
Copy link
Member Author

/approve

@eks-distro-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rahulbabu95

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

The pull request process is described 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

@panktishah26
Copy link
Member

/lgtm

@eks-distro-bot eks-distro-bot merged commit eafc9b0 into aws:main Jul 1, 2025
12 checks passed
@rahulbabu95
Copy link
Member Author

/cherrypick release-0.23

@rahulbabu95
Copy link
Member Author

/cherrypick release-0.22

@rahulbabu95 rahulbabu95 deleted the fix/hw-apply branch July 2, 2025 03:58
@eks-distro-pr-bot
Copy link
Contributor

@rahulbabu95: new pull request created: #9881

In response to this:

/cherrypick release-0.23

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/test-infra repository.

@eks-distro-pr-bot
Copy link
Contributor

@rahulbabu95: new pull request created: #9882

In response to this:

/cherrypick release-0.22

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/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants