machine-controller icon indicating copy to clipboard operation
machine-controller copied to clipboard

Implement Vultr cloud provider

Open jonatasbaldin opened this issue 3 years ago • 10 comments

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.

jonatasbaldin avatar Aug 30 '22 12:08 jonatasbaldin

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.

kubermatic-bot avatar Aug 30 '22 12:08 kubermatic-bot

/ok-to-test

ahmedwaleedmalik avatar Sep 01 '22 07:09 ahmedwaleedmalik

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?

jonatasbaldin avatar Sep 05 '22 07:09 jonatasbaldin

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 avatar Sep 05 '22 07:09 jonatasbaldin

@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?

ahmedwaleedmalik avatar Sep 06 '22 10:09 ahmedwaleedmalik

/test pull-machine-controller-e2e-vsphere

ahmedwaleedmalik avatar Sep 06 '22 10:09 ahmedwaleedmalik

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

moadqassem avatar Sep 09 '22 12:09 moadqassem

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!

jonatasbaldin avatar Sep 28 '22 08:09 jonatasbaldin

[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.

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

kubermatic-bot avatar Nov 01 '22 10:11 kubermatic-bot

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.

kubermatic-bot avatar Nov 09 '22 09:11 kubermatic-bot

@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

Full PR test history

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.

kubermatic-bot avatar Nov 09 '22 09:11 kubermatic-bot

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.

kubermatic-bot avatar Nov 14 '22 10:11 kubermatic-bot

@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

Full PR test history

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.

kubermatic-bot avatar Nov 14 '22 11:11 kubermatic-bot

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 🎊

ahmedwaleedmalik avatar Feb 21 '23 16:02 ahmedwaleedmalik