Skip to content

MCO-1764: Validation expression for Template in VSphereMachineProviderSpec #2374

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RishabhSaini
Copy link
Contributor

Since Template refers to a VM template name, vSphere has a limit set to 80 characters. Hence enforcing this on an API level helps prevent failures post ProviderSpec application

Copy link
Contributor

openshift-ci bot commented Jun 19, 2025

Hello @RishabhSaini! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Jun 19, 2025
@openshift-ci openshift-ci bot requested review from JoelSpeed and mandre June 19, 2025 21:58
Copy link
Contributor

openshift-ci bot commented Jun 19, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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

@RishabhSaini RishabhSaini changed the title Validation expression for Template in VSphereMachineProviderSpec MCO-1764: Validation expression for Template in VSphereMachineProviderSpec Jun 19, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 19, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jun 19, 2025

@RishabhSaini: This pull request references MCO-1764 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.20.0" version, but no target version was set.

In response to this:

Since Template refers to a VM template name, vSphere has a limit set to 80 characters. Hence enforcing this on an API level helps prevent failures post ProviderSpec application

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 openshift-eng/jira-lifecycle-plugin repository.

Copy link
Contributor

openshift-ci bot commented Jun 19, 2025

@RishabhSaini: all tests passed!

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@JoelSpeed
Copy link
Contributor

@RishabhSaini The API you've updated isn't actually a CRD, but is used as part of a raw extension. This means the validation is implemented in a webhook. While I think adding this here helps in terms of documentation, realistically it needs to be implemented in a ratcheting way in https://github.com/openshift/machine-api-operator/blob/b9b1512b4263bf6e36c7b6a81d155f0fb944b3c2/pkg/webhooks/machine_webhook.go#L1494

@@ -23,6 +23,7 @@ type VSphereMachineProviderSpec struct {
CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"`
// template is the name, inventory path, or instance UUID of the template
// used to clone new machines.
// +kubebuilder:validation:MaxLength=80
Copy link
Contributor

Choose a reason for hiding this comment

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

The virtual machine name is 80 characters max in length but this field afaik is the path to the virtual machine which would most likely always be greater than 80 characters

cc: @vr4manta

Copy link
Contributor Author

Choose a reason for hiding this comment

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

do we have a limit on this that can be imposed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants