Skip to content

Comments

Remove deprecated uuid field from ServerSpec#699

Open
afritzler wants to merge 2 commits intomainfrom
enh/uuid
Open

Remove deprecated uuid field from ServerSpec#699
afritzler wants to merge 2 commits intomainfrom
enh/uuid

Conversation

@afritzler
Copy link
Member

@afritzler afritzler commented Feb 21, 2026

Summary by CodeRabbit

  • Breaking Changes

    • Removed the deprecated "uuid" field from Server specs; "systemUUID" is now the sole identifier.
  • Documentation

    • API reference and conceptual docs updated to reflect removal of "uuid".
  • Samples

    • All example Server manifests updated to use "systemUUID" instead of "uuid".

The uuid field was deprecated in favor of systemUUID. This removes the
field from the API type, controller code, samples, docs, and regenerates
CRDs and Helm chart.
@afritzler afritzler requested a review from a team as a code owner February 21, 2026 10:58
@github-actions github-actions bot added size/M api-change documentation Improvements or additions to documentation enhancement New feature or request labels Feb 21, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 21, 2026

Walkthrough

Removed the deprecated uuid field from ServerSpec and related manifests/samples, updated CRD schema and docs, and removed controller code that cleared the removed field during discovery.

Changes

Cohort / File(s) Summary
API types & CRD
api/v1alpha1/server_types.go, config/crd/bases/metal.ironcore.dev_servers.yaml
Deleted UUID field from ServerSpec and removed uuid from the CRD OpenAPI v3 schema; systemUUID remains the identifier.
Sample manifests
config/samples/metal_v1alpha1_server.yaml, config/samples/topology/rack1/*.yaml, config/samples/topology/rack2/*.yaml, config/samples/topology/rack3/*.yaml
Replaced spec.uuid entries with spec.systemUUID across sample Server YAMLs (value updates only; other spec fields unchanged).
Documentation
docs/api-reference/api.md, docs/concepts/servers.md, docs/development/dev_setup.md
Removed uuid references and examples; updated docs and example kubectl output to use SYSTEMUUID.
Controller
internal/controller/bmc_controller.go
Removed code that cleared server.Spec.UUID in discoverServers; discovery now omits operations on the removed field.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

area/metal-automation

Suggested reviewers

  • Nuckal777
  • asergeant01
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is completely empty, lacking any explanation of changes, rationale, or adherence to the template structure with required sections. Add a description following the template with 'Proposed Changes' section explaining what was removed and why, plus any issue references needed.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: removing the deprecated UUID field from ServerSpec, which is the primary modification across all affected files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch enh/uuid

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
config/samples/topology/rack1/server10.yaml (1)

1-13: ⚠️ Potential issue | 🟠 Major

Ensure migration documentation covers the breaking change to Server spec.

Sample files have been properly migrated—no remaining uuid: references found in config/samples/. However, verification confirms that spec.uuid has been removed from the Server CRD schema, which means existing clusters with populated spec.uuid values will have them silently pruned on the next write. Add documentation to release notes or a migration guide explicitly covering this breaking change and advising users on any necessary preparations before upgrading.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@config/samples/topology/rack1/server10.yaml` around lines 1 - 13, Add a
short, explicit migration note to the release notes and migration guide stating
that the Server CRD no longer contains spec.uuid (Server kind, field spec.uuid)
and that any existing spec.uuid values will be silently pruned on the next
write; include exactly what will happen (silent pruning), recommended
pre-upgrade steps (search all Server CRs for populated spec.uuid, export and
backup those manifests), and one or two remediation options (remove spec.uuid
before upgrade or run a provided migration script to copy spec.uuid into an
annotation or status field) plus a sample kubectl command to detect affected CRs
and a link/reference to the Server CRD change for operators to review.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@config/samples/topology/rack1/server10.yaml`:
- Around line 1-13: Add a short, explicit migration note to the release notes
and migration guide stating that the Server CRD no longer contains spec.uuid
(Server kind, field spec.uuid) and that any existing spec.uuid values will be
silently pruned on the next write; include exactly what will happen (silent
pruning), recommended pre-upgrade steps (search all Server CRs for populated
spec.uuid, export and backup those manifests), and one or two remediation
options (remove spec.uuid before upgrade or run a provided migration script to
copy spec.uuid into an annotation or status field) plus a sample kubectl command
to detect affected CRs and a link/reference to the Server CRD change for
operators to review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change area/metal-automation breaking documentation Improvements or additions to documentation enhancement New feature or request size/M

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants