-
Notifications
You must be signed in to change notification settings - Fork 295
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
[WIP] add support support for VMC on AWS #491
Conversation
Welcome @yastij! |
/assign @andrewsykim @akutz |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: yastij 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 |
commits should be reviewable separately |
// VmwareCloudSpec describes the supported cloud providers | ||
type VmwareCloudSpec struct { | ||
// AwsProvider specifies the information needed to run VMC on AWS | ||
AwsProvider *AwsProviderSpec `json:"awsProviderSpec"` |
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 could be the only me think that name of AwsProviderSpec
is confusing, because there is VsphereProviderSpec
, but those two are not on the same level, AwsProviderSpec
is a sub-configure spec, i would like to hear how others think, whether name like AwsSpec
make sense, thanks.
@@ -77,6 +77,27 @@ type VsphereClusterProviderSpec struct { | |||
// ClusterConfiguration holds the cluster-wide information used during a | |||
// kubeadm init call. | |||
ClusterConfiguration kubeadmv1beta1.ClusterConfiguration `json:"clusterConfiguration,omitempty"` | |||
|
|||
// VmwareCloud describes the supported cloud providers to run VMC | |||
VmwareCloud *VmwareCloudSpec `json:"vmwareCloud,omitempty"` |
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.
will be nice to consist with VmwareCloud
-> VMwareCloud
Hi @yastij, I haven't had time for a full review, but I'd like to see the PR's types be refactored to align with PR #471 -- where the types are in a new package, similar to https://github.com/akutz/cluster-api-provider-vsphere/tree/feature/cloud-provider-config/pkg/apis/vsphere/v1alpha1/cloud. You can then just ./apis/vpshere/v1alpha1/cloud
|
|-- vmc
|
|-- aws What are your thoughts on this? I think keeping the root API folder from getting cluttered would be a good thing, but maybe I'm missing something here. |
@akutz - I'm fine with this |
/retest |
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
@akutz - rebased and updated types location/deepcopygen, commits should be reviewable independently |
/retest |
@yastij: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. |
/hold VMC on AWS is not the primary use case for CAPV, or even a use case at all. People who are running in AWS will use CAPA, not CAPV on VMC. CAPV's primary use case is running inside a non-public cloud on vSphere and that is what it should be designed to support. This needs to be redesigned to cater for arbitrary load balancers via plugin or extension and/or support multiple load balancer types natively of which F5 is the most common. /cc @thebsdbox |
@moshloop: GitHub didn't allow me to request PR reviews from the following users: thebsdbox. Note that only kubernetes-sigs members and repo collaborators can review this PR, and authors cannot review their own PRs. 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. |
How does CAPA support provisioning machines against vsphere ?
Is there any specifics that makes you think that we should not use CAPV to provision Kubernetes clusters on VMC ?
I'm not against getting the API right, the plugin mechanism can get be done once we start extending the support for various load balancers |
I'm not sure I understand. VMC on AWS is vanilla vSphere with access to a few additional features. Datacenters are able to leverage VMC on AWS as "hosted on-prem".
Running in AWS has no relationship to running in VMC on AWS. VMC on AWS is vSphere on bare-metal servers in AWS cages.
The difference is that VMC on AWS is a service offered by VMware and thus has a relationship to CAPV, whereas F5 does not. VMware also funds the test infrastructure used to validate CAPV -- test infrastructure that happens to run on VMC on AWS. This provides a funded test bed with SLA-guaranteed uptime against which this PR can be developed and tested. Not to mention this PR finally enables e2e tests against CAPV-deployed clusters in an HA configuration. Finally, this PR will actually simplify the test workflow for CAPV as jobs running on Google's Prow clusters will be able to bootstrap Kubernetes clusters with CAPV directly from the Prow cluster, eliminating the need for a jump host. As for a general LB solution for HA clusters, I'm not opposed to a more pluggable framework -- sk8 supports LVS and VMC ELB for HA and external access. However, this PR is low-hanging fruit and solves several problems today while still able to be refactored into a pluggable model tomorrow. To that end, I disagree that this PR is out-of-scope, and in fact I commend @yastij for taking the time to work on this. I am not going to remove the hold, but that will be my recommendation to the community. |
So there is definitely a use case for CAPV on VMC or else the folks here wouldn't be doing it.
I think that's a fine idea to bring your own LB(F5) and we should probably enable the workflow. Is there an issue open for it? That being said, I don't think the VMC case should be conflated unless it weirdly affects the api, but TBH the PR was so large it was difficult to sort through quickly. |
As discussed in the CAPV meeting yesterday:
@yastij @akutz - Please correct me if I missed/misunderstood anything? |
Hi @yastij, Let's hold this for post-v1a2. I have another item, #514, that has higher priority and needs someone to take it if @codenrhoden would like to divide up some of the issues currently assigned to him. |
@akutz - let me know, if you need help with something for v1a2 migration |
Hi @yastij, What is the status of this PR? |
I'm migrating this to v1a2, this should be done by the end of the week |
closing this in favor of #538 |
What this PR does / why we need it: this brings support of VMC on AWS to capv and enhances our HA support when running VMC
Which issue(s) this PR fixes: Fixes #468
Special notes for your reviewer:
what is still missing:
Release note: