Skip to content
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 support for external cloud provider #161

Merged
merged 1 commit into from
Jan 10, 2019
Merged

Conversation

xmudrii
Copy link
Member

@xmudrii xmudrii commented Jan 10, 2019

What this PR does / why we need it:

This PR brings the following changes:

  • Deploy Cloud Provider config and configure cloud provider only if we deploy on cloud provider that has in-tree cloud provider implementation
    • This allows setting provider.Name to other providers such as DigitalOcean or Hetzner (instead of specifying nothing). This way we know on what cloud we deploy and can use Terraform automation for workers.
  • Support setting provider name to external, which configures cluster to work with external CCM

There are several problems with this PR:

  • If user sets provider name to external it is up to user's responsibility to deploy external CCM (this is expected behavior)
  • If user sets provider name to external, we lose information about on what cloud provider we deploy on and can't use automation (this is unexpected behavior)
  • This implementation doesn't support using cloud config with external cloud provider (this is unexpected behavior)

As @kron4eg tested this already and it works well, I'm proposing to merge this PR and then create follow-up issues and PRs.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #117

Release note:

Add support for specifying provider.Name for providers without in-tree CCM implementation. Add support for external CCM implementations. 

This commit allows for cloud provider without in-tree implementation to
be specified in provider.Name, so worker nodes can be created
automatically from Terraform output. This also allows external to be
specified as provider.Name.
@kubermatic-bot kubermatic-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jan 10, 2019
@xmudrii
Copy link
Member Author

xmudrii commented Jan 10, 2019

/assign @kron4eg

@kron4eg
Copy link
Member

kron4eg commented Jan 10, 2019

/lgtm
/approve

@kubermatic-bot kubermatic-bot added the lgtm Indicates that a PR is ready to be merged. label Jan 10, 2019
@kubermatic-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 59be6940f5cac4e7572a7fce173abb08fb52040a

@kubermatic-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kron4eg

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

External/None cloud provider
3 participants