subnet discovery: new flag to enable prioritization by availability-zone locale
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 thedocsdirectory) - [ ] 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:
[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.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
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.
@M00nF1sh @oliviassss: what do you think about this proposal?
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.
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/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas 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