-
Notifications
You must be signed in to change notification settings - Fork 577
SPLAT-1127: extend API to enable vSphere control plane machineset #1539
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
SPLAT-1127: extend API to enable vSphere control plane machineset #1539
Conversation
|
Hello @rvanderp3! Some important instructions when contributing to openshift/api: |
7be297a to
b91b14a
Compare
6f9f13f to
299b3fe
Compare
|
@rvanderp3: This pull request references SPLAT-1127 which is a valid jira issue. In response to this: 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. |
|
@rvanderp3: This pull request references SPLAT-1127 which is a valid jira issue. In response to this:
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. |
8337577 to
37d9131
Compare
37d9131 to
9dae305
Compare
9dae305 to
728d311
Compare
|
@rvanderp3: This pull request references SPLAT-1127 which is a valid jira issue. In response to this:
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. |
44da11b to
37d9131
Compare
|
@JoelSpeed this is ready for another look when you get a chance. |
|
test results from today:
|
| // Name is the name of the failure domain in which the vSphere machine provider will create the VM. | ||
| // Failure domains are defined in a cluster's config.openshift.io/Infrastructure resource. | ||
| // +kubebuilder:validation:Required | ||
| Name string `json:"name"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I think we should expand the comment here then to explain what the CPMS will do with the information from the failure domains.
// When balancing machines across failure domains, the control plane machine set will inject configuration from the
// Infrastructure resource into the machine providerSpec to allocate the machine to a failure domain.
| // +optional | ||
| GCP *[]GCPFailureDomain `json:"gcp,omitempty"` | ||
|
|
||
| // VSphere configures failure domain information for the VSphere platform. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit, should be a lower case vsphere to match json casing, other fields here aren't correct
| // VSphere configures failure domain information for the VSphere platform. | |
| // vsphere configures failure domain information for the VSphere platform. |
config/v1/types_infrastructure.go
Outdated
| // template is the inventory path of the virtual machine or template | ||
| // that will be used for cloning. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| // template is the inventory path of the virtual machine or template | |
| // that will be used for cloning. | |
| // template is the inventory path of the virtual machine or template | |
| // that will be cloned when creating new machines in this failure domain. |
| // +kubebuilder:validation:MinLength=1 | ||
| // +kubebuilder:validation:MaxLength=2048 | ||
| // +kubebuilder:validation:Pattern=`^/.*?/vm/.*?` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These validations should be explained in prose within the godoc.
Do we run the same regex validation against the template field on the providerSpec?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, we will perform that validation in the cpmso
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
validation for this has been added to the cpmso
fabb5c2 to
af9ae35
Compare
|
hi @JoelSpeed when you get a chance can you give this another look? Thanks! |
af9ae35 to
5b09f16
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small nit but otherwise LGTM, how are we getting on with the implementation? I'm guessing I need to review that one next?
config/v1/types_infrastructure.go
Outdated
| // that will be cloned when creating new machines in this failure domain. | ||
| // The maximum length of the path is 2048 characters. | ||
| // | ||
| // if not defined, the template will be calculated by the control plane |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit for idiomatic language
| // if not defined, the template will be calculated by the control plane | |
| // When omitted, the template will be calculated by the control plane |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The implementation is going well. We still have some issues we are working through as we continue to test. Certainly, if you have time to review the implementation PR that would be great. We are working through some remaining issues but the overall function is in the PR.
5b09f16 to
3bda49d
Compare
config/v1/types_infrastructure.go
Outdated
| // that will be cloned when creating new machines in this failure domain. | ||
| // The maximum length of the path is 2048 characters. | ||
| // | ||
| // when omitted, the template will be calculated by the control plane |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be a capital W on when since there's a full stop on the previous para
3bda49d to
58ee449
Compare
|
/lgtm |
|
@JoelSpeed this is ready for another look when you get a chance. |
58ee449 to
2f7bbc5
Compare
2f7bbc5 to
c2f724a
Compare
|
/lgtm Failures are pre-existing, the schema check doesn't account for renames |
|
@JoelSpeed: Overrode contexts on behalf of JoelSpeed: ci/prow/verify-crd-schema In response to this:
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. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jcpowermac, JoelSpeed, rvanderp3 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 |
|
@rvanderp3: 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/test-infra repository. I understand the commands that are listed here. |
To enable control plane machineset support, the followings changes are required:
These API extensions are gated by the
VSphereControlPlaneMachineSetfeature gate.