Skip to content

Feature/cloud profile storage type#1317

Merged
gardener-prow[bot] merged 2 commits intogardener:masterfrom
hebelsan:feature/cloud-profile-storage-type
Apr 20, 2026
Merged

Feature/cloud profile storage type#1317
gardener-prow[bot] merged 2 commits intogardener:masterfrom
hebelsan:feature/cloud-profile-storage-type

Conversation

@hebelsan
Copy link
Copy Markdown
Contributor

How to categorize this PR?

/area quality
/kind enhancement
/platform openstack

What this PR does / why we need it:
This PR adjusts the default values for the machineclass values rootDiskType and rootDiskSize.
These will now be derived from the cloudProfile machineType spec which looks the following:

spec:
  machineTypes:
  - architecture: amd64
    cpu: "4"
    gpu: "0"
    memory: 8Gi
    name: g_k_c4_m8_v2
    storage:
      class: standard
      size: "64"
      type: premium
    usable: true

If the storage section of the machineType is not set or the type is set to default the machinclass fields for rootDiskType and rootDiskSize will be empty so the openstack defaults will be used.
It's still possible to overwrite the default disk type and size by setting the shoot fields.

Which issue(s) this PR fixes:
Fixes #1316

Special notes for your reviewer:

Release note:

Behavioral change: rootDiskType and rootDiskSize now derived from cloud profile machine type storage.
Previously, if a worker pool did not explicitly configure volume.type / volume.size, the generated MachineClass omitted rootDiskType and rootDiskSize entirely, leaving the choice to OpenStack's infrastructure defaults.
With this change, if the cloud profile's MachineType.Storage defines a type (other than "default") and optionally a storageSize, those values are now used as defaults in the generated MachineClass.
Impact: Shoots using machine types whose cloud profile entry has a non-"default" Storage.Type will now have an explicit rootDiskType (and potentially rootDiskSize) set in their MachineClass. If this differs from the OpenStack infrastructure's previous default, the root disk type of newly created nodes will change.
Action required: Review the Storage field on machine types in affected cloud profiles. If the Storage.Type was set for informational purposes only and should not influence disk provisioning, set it to "default" to preserve the previous behavior.

@hebelsan hebelsan requested a review from a team as a code owner April 15, 2026 13:44
@gardener-prow gardener-prow Bot added area/quality Output qualification (tests, checks, scans, automation in general, etc.) related kind/enhancement Enhancement, improvement, extension cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

This change enhances the machine class configuration logic to automatically use storage specifications from cloud profiles when not explicitly set in shoot specifications, particularly beneficial for KVM machines requiring premium disk types for boot disks.

Walkthrough

  • New Feature: Added automatic fallback to cloud profile machine type storage settings (type and size) when pool volume specifications are not provided in shoot configurations
  • Chore: Updated .gitignore to exclude AI coding agent artifacts like Claude configuration files and skills lock files
  • Test: Added comprehensive test coverage to verify that storage type and size are correctly inherited from cloud profile machine types when pool volumes are unspecified

The implementation includes proper validation to ensure storage types aren't "default" and handles storage size conversion with appropriate error checking. This enhancement improves the user experience by reducing required configuration while maintaining explicit control when needed.

Model: claude-sonnet-4-20250514 | Prompt Tokens: 1630 | Completion Tokens: 181

@federated-github-access federated-github-access Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. and removed ok-to-test Indicates a non-member PR verified by an org member that is safe to test. labels Apr 15, 2026
Copy link
Copy Markdown
Member

@AndreasBurger AndreasBurger left a comment

Choose a reason for hiding this comment

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

/approve

@gardener-prow gardener-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 16, 2026
Copy link
Copy Markdown
Member

@AndreasBurger AndreasBurger left a comment

Choose a reason for hiding this comment

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

since auto-merge is blocked by milestone anyways and this l's gtm I can actually properly approve this.

@gardener-prow
Copy link
Copy Markdown

gardener-prow Bot commented Apr 16, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AndreasBurger

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

The pull request process is described here

Details 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

@gardener-prow gardener-prow Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 16, 2026
@gardener-prow
Copy link
Copy Markdown

gardener-prow Bot commented Apr 16, 2026

LGTM label has been added.

DetailsGit tree hash: ec5f681ff565bdf0c859a84fae48aee288b4f6ac

@hebelsan hebelsan added this to the v1.54 milestone Apr 20, 2026
@gardener-prow gardener-prow Bot merged commit f339849 into gardener:master Apr 20, 2026
60 of 70 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/quality Output qualification (tests, checks, scans, automation in general, etc.) related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for kvm machines

2 participants