Skip unchanged Route53 record UPSERTs#444
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: xiaoyu74 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
WalkthroughAdds a ChangesRoute53 Record Fingerprinting
Estimated code review effort: 3 (Moderate) | ~25 minutes Suggested reviewers: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #444 +/- ##
==========================================
+ Coverage 40.46% 43.06% +2.59%
==========================================
Files 32 32
Lines 2177 2206 +29
==========================================
+ Hits 881 950 +69
+ Misses 1191 1148 -43
- Partials 105 108 +3
🚀 New features to boost your workflow:
|
|
@xiaoyu74: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. I understand the commands that are listed here. |
|
/hold |
Context
During the investigation of incident ITN-2026-00214, we observed Route 53 API throttling in the shared
PrivateLink/JumpAWS account.One of the symptoms was delayed Route 53 reconciliation for newly provisioned private HCP clusters, which could leave the SRE Backplane access path incomplete even after the VPC Endpoint itself became available.
As part of the investigation, we identified one concrete inefficiency in AVO:
validateR53HostedZoneRecord()performs a Route 53ChangeResourceRecordSets(UPSERT)call on every successful reconcile, including periodic reconciles, even when the desired DNS record state has not changed.Description
This PR persists a fingerprint of the last successfully applied record state and skips the AWS write when the hosted zone, record name, type, TTL, and VPCE DNS target are unchanged.
Other Notes
This change is intentionally limited to reducing unnecessary Route 53 write traffic and does not modify other VPC Endpoint reconciliation behavior.
More context: https://redhat-internal.slack.com/archives/C0BFNS43MU3/p1783574887081499?thread_ts=1783570361.438559&cid=C0BFNS43MU3
Summary by CodeRabbit
New Features
Bug Fixes
Tests