-
Notifications
You must be signed in to change notification settings - Fork 99
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
Support for Failure Domains in CAPM3 #402
Comments
/assign |
@fmuyassarov @kashifest @furkatgofurov7 @maelk |
@Arvinderpal hi! Thanks for taking this up here and sorry for the late reply. The addition looks interesting and by going through the linked issues and related PRs, some works on improving the FD support in CAPI seem to be ongoing. Also, just wondering, how is the situation with other providers (BM concerned), do they already support this feature? |
/triage accepted |
Sorry about the delay. Support for FDs with control plane (KCP) nodes is supported within capi. I believe all providers also follow that approach. I think we can start with CP nodes. Any thoughts on the approach I outlined above in the issue description? |
@MaxRink thanks.
Got it, thanks for the info and I went through them some time ago.
Agree, but I would suggest opening a proposal for community review and discussing the details of the implementation there as we usually do for these kinds of new features. |
Thanks @furkatgofurov7 |
Here is the PR with the proposal: metal3-io/metal3-docs#249 I will bring it up during our next metal3 office hours as well. Thank you |
@furkatgofurov7 @MaxRink @Rozzii PTAL at the proposal: metal3-io/metal3-docs#249 |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale @Arvinderpal Hi, the proposal has been merged for this feature some time ago, thanks for working on it! Are there plans to implement it in CAPM3 soon? |
Hey @furkatgofurov7 @Arvinderpal, I'd like to give this one a shot if I may. I have a draft PR created at the moment, but still need to familiarize myself with the testing & polishing requirements of this repo. Hope I get time this week to make some more progress on it. |
@f1tzpatrick hi, sure go ahead! /unassign @Arvinderpal |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
Hey, sorry for the delay on this one. It's still on my todo list! It's been busy for me lately, but I hope to get this tested sometime soon. I'll keep you posted! 😃 |
/remove-lifecycle stale |
/lifecycle active |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
hi @f1tzpatrick is this topic still on your TODO ? |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with /lifecycle stale |
/remove-lifecycle stale |
@Rozzii thanks, and sorry for the inconvenience. If I get another chance to return to this in 2024 I'll let you know |
User Story
As an operator who has placed their baremetal infrastructure across different failure domains (FDs), I would like CAPM3 to associate Nodes with BMHs from the desired failure domain.
Detailed Description
CAPI supports failure domains for both control-plane and worker nodes (see CAPI provider contract for Provider Machine as well Provider Cluster types). Here is the general flow:
ProviderCluster.Spec
Cluster.Status.FailureDomains
Machine.Spec.FailureDomain
. Currently, CAPI tries to equally balance Machines across all FDs.Machine.Spec
in deciding where to place the provider specific machine. In the case of metal3, we want CAPM3 to associate the Metal3Machine with the corresponding BMH in the desired FD.BMH Selection using Labels.
infrastructure.cluster.x-k8s.io/failure-domain=<my-fd-1>
chooseHost()
func associates a Metal3Machine with a specific BMH based on labels specified inMetal3Machine.Spec.HostSelector.MatchLabels
. We can expand this capability.HostSelector.MatchLabels
.Anything else you would like to add:
Related issues:
kubernetes-sigs/cluster-api#5666
kubernetes-sigs/cluster-api#5667
/kind feature
The text was updated successfully, but these errors were encountered: