machine-controller
machine-controller copied to clipboard
Implement Vultr cloud provider
What this PR does / why we need it: This PR adds support to Vultr cloud provider, for both their Bare Metal and Cloud Instance products.
For now, is only supports ubuntu.
What type of PR is this? /kind feature
Special notes for your reviewer:
- How does the automated E2E work? Who is responsible for the cloud provider token/billing?
Does this PR introduce a user-facing change? Then add your Release Note here:
- Add Vultr cloud provider
Documentation:
- Included in the `docs/` folder.
Hi @jonatasbaldin. Thanks for your PR.
I'm waiting for a kubermatic member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
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.
/ok-to-test
hey @ahmedwaleedmalik, thanks for moving on with the PR :)
I was wondering about the E2E tests, which require a Vultr API Token. How does that work? Who generates and/or is responsible for the token/bills?
Fixed the lint issued.
As you can see on the failing licenses tests, the Vultr GO SDK depends on two projects by Hashicorp with MPL2 licenses. Is is ok to allow those dependencies?
Thanks!
@jonatasbaldin Thank you for the awesome contribution. It's always exciting to see the addition of new cloud providers to machine-controller.
Regarding the license, please add it to this ignore list https://github.com/kubermatic/machine-controller/blob/master/.wwhrd.yml#L28. MPL-2 is generally fine for us.
I was wondering about the E2E tests, which require a Vultr API Token. How does that work? Who generates and/or is responsible for the token/bills?
We at Kubermatic, unfortunately, don't have an account at Vultr. Making sure that this integration works, is usually a mandatory requirement for us. For most of the external PRs, we expect that the partner, customer, or individual contributor would provide us with a way to test these changes. Which in your case would be the Vultr API Token.
Would that be possible for you?
/test pull-machine-controller-e2e-vsphere
As @ahmedwaleedmalik already mentioned, for the time being, we cannot test this PR, however, we are working on it. Once we have the proper infra for Vultr we can proceed with this PR. Thanks a lot for your contribution :)
/hold
Hi there. We unfortunately can't provide a Vultr token for the E2E tests. We will get in touch with the Vultr team in search for a collaboration. I'll let you know if I have any news soon.
Thanks!
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jonatasbaldin
Once this PR has been reviewed and has the lgtm label, please assign ahmedwaleedmalik for approval by writing /assign @ahmedwaleedmalik in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:
- d784e83 Reinstall Vultr bare-metal server before deleting it
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.
@jonatasbaldin: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name | Commit | Details | Required | Rerun command |
|---|---|---|---|---|
| pull-machine-controller-e2e-invalid-objects-get-rejected | d784e83dd41153d1dff837e5bae74c3bc2cbbe5a | link | true | /test pull-machine-controller-e2e-invalid-objects-get-rejected |
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.
Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:
- 49ed5a4 Update Vultr bare-metal machine cloud-init to disable kubelet before deletion
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.
@jonatasbaldin: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
| Test name | Commit | Details | Required | Rerun command |
|---|---|---|---|---|
| pull-machine-controller-e2e-ubuntu-upgrade | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-ubuntu-upgrade |
| pull-machine-controller-e2e-aws-arm | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-aws-arm |
| pull-machine-controller-e2e-openstack-project-auth | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-openstack-project-auth |
| pull-machine-controller-e2e-openstack | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-openstack |
| pull-machine-controller-e2e-kubevirt | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-kubevirt |
| pull-machine-controller-e2e-azure-custom-image-reference | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-azure-custom-image-reference |
| pull-machine-controller-e2e-digitalocean | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-digitalocean |
| pull-machine-controller-e2e-vsphere | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-vsphere |
| pull-machine-controller-e2e-aws-legacy-userdata | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-aws-legacy-userdata |
| pull-machine-controller-e2e-aws | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-aws |
| pull-machine-controller-e2e-aws-spot-instance | 49ed5a4f09c83f86e39492dee32c569c8f60121a | link | true | /test pull-machine-controller-e2e-aws-spot-instance |
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.
Closing this PR in favor of https://github.com/kubermatic/machine-controller/pull/1531. With https://github.com/kubermatic/machine-controller/pull/1531, support for Vultr is available in machine-controller 🎊