Skip to content

Conversation

@shraddhabang
Copy link
Collaborator

This PR implements optimized endpoint management for AWS Global Accelerator resources with intelligent handling of endpoint states and API interactions.

Commit 1: [feat aga] Implement endpoints builder filtering for partially loaded…

  • Implemented intelligent filtering of endpoints in warning state when building the desired endpoint configuration
  • Added clear separation between warning and fully loaded endpoints to maintain clean model building
  • Ensured endpoints in warning state are tracked but excluded from configuration to prevent deployment failures
  • Enhanced logging to provide visibility into endpoint state transitions

This change ensures that warning state endpoints don't block the successful deployment of healthy endpoints. While we want to eventually deploy these endpoints when they become healthy, we don't want them to prevent the deployment of already-healthy endpoints.

Commit 2: [feat aga] Implement endpoints deployer with requeue logic for partia…

  • Implemented comprehensive endpoint drift detection:

    • Identifies endpoints that need to be added, updated, or removed
    • Detects property changes (weight, clientIPPreservation) requiring updates
  • Optimized API usage pattern:

    • Uses efficient add-endpoints/remove-endpoints APIs for endpoint presence changes
    • Uses update-endpoint-group API for property updates (since add-endpoints doesn't support updates)
  • Added intelligent error handling with flip-flop pattern:

    • Handles LimitExceededException by removing existing endpoints before adding new ones
  • Implemented warning state requeuing:

    • Sets requeue intervals for resources with warning endpoints
    • Logs detailed information about warning endpoints for easier troubleshooting
  • Added comprehensive unit tests for all new functionality

Checklist

  • Added tests that cover your change (if possible)
  • Added/modified documentation as required (such as the README.md, or the docs directory)
  • Manually tested
  • 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?! 🤯

  • Backfilled missing tests for code in same general area 🎉
  • Refactored something and made the world a better place 🌟

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: shraddhabang

The full list of commands accepted by this bot can be found here.

The pull request process is described 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 k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants