Skip to content

🌱 add new machinepool spec type#13522

Open
mpinchover wants to merge 5 commits intokubernetes-sigs:mainfrom
mpinchover:add-new-machine-pool-spec-type
Open

🌱 add new machinepool spec type#13522
mpinchover wants to merge 5 commits intokubernetes-sigs:mainfrom
mpinchover:add-new-machine-pool-spec-type

Conversation

@mpinchover
Copy link
Copy Markdown

@mpinchover mpinchover commented Mar 31, 2026

What this PR does / why we need it:
Following up on this doc for updating the machinepool CRD, this is PR 1/n for implementation
Follow up PR's will wire up the new template in the machine pool spec to keep things small and easy to review.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #9005

/area machinepool

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Mar 31, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign vincepri for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@k8s-ci-robot k8s-ci-robot added the do-not-merge/needs-area PR is missing an area label label Mar 31, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

This PR is currently missing an area label, which is used to identify the modified component when generating release notes.

Area labels can be added by org members by writing /area ${COMPONENT} in a comment

Please see the labels list for possible areas.

Details

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.

@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Mar 31, 2026
@k8s-ci-robot k8s-ci-robot requested a review from JoelSpeed March 31, 2026 04:08
@sbueringer
Copy link
Copy Markdown
Member

sbueringer commented Mar 31, 2026

Please provide context why we would add an unused struct like this to the v1beta1 API

@mpinchover mpinchover changed the title add new machinepool spec type 🌱 add new machinepool spec type Apr 7, 2026
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 7, 2026
// fields to configure the Machine’s bootstrapping mechanism.
// The configuration applies to all machines in the pool.
// +required
Bootstrap *Bootstrap `json:"bootstrap,omitempty"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this really be +required (as questioned in the design doc)? If so, it probably shouldn't be a pointer field with omitempty.

// offered by an infrastructure provider.
// The custom resource is applied to all machines in the pool.
// +required
InfrastructureRef corev1.ObjectReference `json:"infrastructureRef,omitempty"`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be a ContractVersionedObjectReference instead? That's the v1beta2 way AFAICT.

).
*/

// MachinePoolTemplateSpec describes the data needed to create
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Kind of nitpicky, but since Machines in a MachinePool are typically managed by the infra provider rather than created by CAPI, maybe this comment would be more accurate if it said something like

MachinePoolTemplateSpec describes the desired configuration for machines in a MachinePool.

// Configuration is applied to all machines in the pool.
// +optional
Deletion MachineDeletionSpec `json:"deletion,omitzero,omitempty"`
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The doc mentions Taints as an optional field but I don't see it in here.

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

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-area PR is missing an area label 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.

Graduate MachinePools from experimental to stable API

5 participants