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

AzureCluster failureDomains do not always match specific control plane AzureMachine SKU #5033

Open
nojnhuh opened this issue Jul 29, 2024 · 5 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/backlog Higher priority than priority/awaiting-more-evidence.

Comments

@nojnhuh
Copy link
Contributor

nojnhuh commented Jul 29, 2024

/kind bug

What steps did you take and what happened:

CAPZ's AzureCluster controller contains logic to set the status.failureDomains to the available availability zones for the region of the cluster resources:

func (c *Cache) GetZones(ctx context.Context, location string) ([]string, error) {

This function loops through all VM SKUs, returning any availability zone without restrictions for at least one SKU to be set in the AzureCluster's failureDomains. But when a specific VM SKU in a region has a Zone restriction preventing VMs from being created in specific zones, CAPZ may still list those zones in its status.failureDomains if some other SKU in the same region does not have the same restrictions, causing VMs to be created in zones with restrictions and fail.

What did you expect to happen:

The AzureCluster failureDomains match the availability of the specific SKU of control plane VM being used.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • cluster-api-provider-azure version:
  • Kubernetes version: (use kubectl version):
  • OS (e.g. from /etc/os-release):
@mboersma
Copy link
Contributor

mboersma commented Aug 8, 2024

@nojnhuh should this be in the next milestone?

@nojnhuh
Copy link
Contributor Author

nojnhuh commented Aug 8, 2024

I don't think this is something we need to do soon, at least since we've ironed out the regions we use in CI to avoid this.

@willie-yao
Copy link
Contributor

/priority backlog

@k8s-ci-robot k8s-ci-robot added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Aug 15, 2024
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 13, 2024
@nojnhuh
Copy link
Contributor Author

nojnhuh commented Nov 13, 2024

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/backlog Higher priority than priority/awaiting-more-evidence.
Projects
Status: No status
Development

No branches or pull requests

5 participants