-
Notifications
You must be signed in to change notification settings - Fork 256
HIVE-2391: vSphere zonal support #2731
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
base: master
Are you sure you want to change the base?
Conversation
|
@dlom: This pull request references HIVE-2391 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 openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dlom 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 |
|
@dlom: This pull request references HIVE-2391 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 openshift-eng/jira-lifecycle-plugin repository. |
|
xref: HIVE-2396 |
556f051 to
afcf08f
Compare
|
/retest |
This comment was marked as resolved.
This comment was marked as resolved.
|
@dlom I tried the new commit, install vsphere cd with old format i.e. without platform.vsphere.vSphere still failed due to the same error. Pls. check the comments and hive controlller log attached on https://issues.redhat.com/browse/HIVE-2917. |
|
@dlom can you pick up this again now private image work is in review - need to get this wrapped up |
3b426a3 to
981416a
Compare
| return cloudBuilder, nil | ||
| case platform.VSphere != nil: | ||
| if platform.VSphere.VSphere == nil { | ||
| return nil, errors.New("VSphere CD with deprecated fields has not been updated by CD controller yet, requeueing...") |
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.
- It should be CP/CP controller instead of CD/CD controller
- I didn't see the code logic of converting platform.vsphere.attributes to platform.vsphere.vSphere in clusterpool_controller.go like in clusterpool_deployment.go
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.
Since ClusterPool support for vSphere is NOT supported officially yet(HIVE-2801 not closed and hive doc not updated). One choice is if we can make the judgement/statement that the ClusterPool only support the new format of platform.vsphere.vSphere, this part of code change can be avoided. In that case we need at least make the error in condition/log appropriate and clearer.
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.
I think ClusterPool support will have to be bundled into this PR, to prevent a mismatch in functionality between our CD/CP controllers. I'm going to try to add a similar approach for the CP that I used on the CD
| contextLogger.Data["oldObject.Name"] = oldObject.Name | ||
|
|
||
| // HIVE-2391 | ||
| if oldObject.Spec.Platform.VSphere != nil && cd.Spec.Platform.VSphere != nil { |
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.
This allows/enforces a model where you can transition from old => old+new. I think it would be better if we instead enforced old => new -- i.e. you're forced to scrub the deprecated fields when upconverting. I realize this is going to entail more code because we have to look at each field individually and make sure it's "" (empty string). But IMHO the end result is a lot cleaner.
BTW, I did notice your comment about performance. We're really not concerned about adding more local comparison logic -- the resource consumption, wallclock time, etc is negligible against the overall operation: most of the burden comes from shoving objects over the network.
| if oldObject.Spec.Platform.VSphere.VSphere == nil && cd.Spec.Platform.VSphere.VSphere != nil { | ||
| contextLogger.Debug("Passed validation: HIVE-2391") | ||
| return &admissionv1beta1.AdmissionResponse{ | ||
| Allowed: true, |
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.
As written I think this short circuit would allow you to stealth-edit the other otherwise-immutable fields as part of upconverting. That is undesirable :)
Please add UT to confirm that this ⬆️ can't happen.
go.mod
Outdated
|
|
||
| replace sigs.k8s.io/cluster-api => sigs.k8s.io/cluster-api v1.9.6 | ||
|
|
||
| replace github.com/openshift/installer => github.com/dlom/installer v0.0.0-20251022025850-76157f125d29 |
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.
Currently pointing at my fork (openshift/installer#10025) (actually it's this https://github.com/dlom/installer/tree/add-deepcopy-to-types-1.4.19-ec5)
|
@dlom: This pull request references HIVE-2391 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 openshift-eng/jira-lifecycle-plugin repository. |
|
/retest |
1 similar comment
|
/retest |
|
jobs still failed. @dlom Pls. ping me when it is ready for testing, thanks |
|
@dlom: 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. |
xref: HIVE-2391
This PR is a re-do of #2541
See also: openshift/installer#10025