-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Add vSphere external cloud provider #5861
Add vSphere external cloud provider #5861
Conversation
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. |
Welcome @pierreyves-lebrun! |
Hi @pierreyves-lebrun. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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 NOT APPROVED This pull-request has been approved by: pierreyves-lebrun 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 |
/assign @ant31 |
Signed the CLA |
/check-cla |
Thank you for your contribution, there are a couple of CI errors to resolve:
Moreover it looks like your GitHub user is not associated with the commit email address which makes the CLA bot complain. |
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.
Hi @pierreyves-lebrun Thanks for the work, it's a great effort!
I would ask you if you could separate the CSI code from the CPI code as it is the case between OpenStack Cinder CSI #5184 and OpenStack CPI #5491
It is redundant it is true, but this is to keep the code homogeneous as you can see with other implementations. We have a csi_driver folder and a external_cloud_controller folder under roles/kubernetes-apps
Maybe at some time when we have all CSIs and CPIs from the major cloud providers implemented, we could join the two in one deployment and bring the csi folder to external, but for now the CPIs are not all available from the official maintainers, they are not bundled, they are in separate github repositories etc.
@Miouge1 I don't know what you think about the separation of CSI and CPI. Should we proceed with it, or is it better to leave everything together for vsphere as it mutualises the parameters? I would eventually work on bringing the CPIs for other cloud providers as I did with the CSIs but they are not all fully available.
Also @pierreyves-lebrun, did you test the code with a master node and a worker node separated? As it sometimes brings up problems. Thanks.
Many thanks for the review!
I don’t mind splitting the CSI and CPI code, @Miouge1 I’d also like to get your input on this.
I am not sure to understand your question, could you elaborate on the tests I should conduct? |
Those are now resolved.
My bad, my commit was using different user information. |
It's just about launching the deployment with an inventory where you have one master and one worker node. Sometimes you can't see some errors when you have only one node playing the master and the worker at the same time. |
Oh I see, that’s what you meant! I always run my tests on a 3 masters - 3 workers cluster so I should be fine on that one. |
That's way enough! "Qui peut le plus peut le moins" :D |
/retest |
@pierreyves-lebrun: Cannot trigger testing until a trusted user reviews the PR and leaves an 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. |
Aha, je suppose oui! :-) I separated the CSI code from the CPI code, could you review my PR again please? |
Sure I will :D /ok-to-test |
/reopen |
@alijahnas: Failed to re-open PR: state cannot be changed. The vsphere branch was force-pushed or recreated. 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. |
Yep sorry I screwed things up when resolving conflicts, the CI tests couldn't run so I made a force push which is causing issues now. I am happy to close this PR and resubmit a new one if that makes things easier. |
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.
Can you add also the deployment of a storage class deployment like here: https://github.com/kubernetes-sigs/vsphere-csi-driver/tree/master/example ?
I is done through the persistent volumes:
https://github.com/kubernetes-sigs/kubespray/blob/master/docs/azure-csi.md
https://github.com/kubernetes-sigs/kubespray/blob/master/roles/kubernetes-apps/persistent_volumes/azuredisk-csi/tasks/main.yml
Yeah no worries. I don't know what is the procedure in this case. @Miouge1 should know better. |
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 made all the changes, @alijahnas could you please review them once @Miouge1 re-opens the PR?
Unless I get a reply I’ll resubmit my work as another PR, vSphere CSI 2.0 is coming anyway: |
I am alright with that 👍 |
@pierreyves-lebrun sometimes it's easier to open a new PR than to fix a broken merge or rebase :D In practice when you need to "update from latest master" or "rebase on latest master", here is what I do: git checkout master
git pull upstream master
git checkout my-branch
git rebase master Then if there are any conflicts you have to resolve them as they show up and |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Implement external vSphere cloud provider as per #5309.
The in-tree vSphere cloud provider has been deprecated so the out-of-tree one should now be used.
Tested on vSphere 6.7 U3.
Special notes for your reviewer:
In order to keep both working, I added new vSphere configuration variables which are the same as the old ones but prefixed with external_
Does this PR introduce a user-facing change?:
Users should use the new external vSphere cloud provider rather than the old in-tree one.
Special thanks to @alijahnas as this PR is based on his previous work.