aws-load-balancer-controller icon indicating copy to clipboard operation
aws-load-balancer-controller copied to clipboard

subnet discovery: new flag to enable prioritization by availability-zone locale

Open alebedev87 opened this issue 1 year ago • 7 comments

Issue

N/A

Description

Draft PR to gather opinions about adding a flag to enable different algorithms for the subnet selection from multiple qualified ones when they all come from the same availability zone. The sorting by subnet IDs remains the default. A new sorting alogrithm azfirst is added to prioritize availability-zone locale over other locales. This change may help to reduce the random aspect of the subnet selection when multiple locales are used in a cluster.

Example of where this can be helpful:

  • AZ1: has availability-zone an outpost subnets, all tagged with cluster and role tags, so all eligible for the discovery
  • AZ2: has only availability-zone subnets also tagged for the subnet discovery
  • The discovery may fail with "subnets in multiple locales" error if outposts subnets from AZ1 have lower subnet IDs

Checklist

  • [x] Added tests that cover your change (if possible)
  • [x] Added/modified documentation as required (such as the README.md, or the docs directory)
  • [ ] Manually tested
  • [x] Made sure the title of the PR is a good description that can go into the release notes

BONUS POINTS checklist: complete for good vibes and maybe prizes?! :exploding_head:

  • [ ] Backfilled missing tests for code in same general area :tada:
  • [ ] Refactored something and made the world a better place :star2:

alebedev87 avatar Feb 20 '24 15:02 alebedev87

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: alebedev87 Once this PR has been reviewed and has the lgtm label, please assign johngmyers for approval. 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

k8s-ci-robot avatar Feb 20 '24 15:02 k8s-ci-robot

Hi @alebedev87. Thanks for your PR.

I'm waiting for a kubernetes-sigs 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.

k8s-ci-robot avatar Feb 20 '24 15:02 k8s-ci-robot

@M00nF1sh @oliviassss: what do you think about this proposal?

alebedev87 avatar Apr 02 '24 15:04 alebedev87

PR needs rebase.

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-sigs/prow repository.

k8s-ci-robot avatar May 21 '24 10:05 k8s-ci-robot

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

This bot triages PRs 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 PR is closed

You can:

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

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

/lifecycle stale

k8s-triage-robot avatar Aug 19 '24 11:08 k8s-triage-robot