-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
fix: duplicated endpoint per hosted zone #4296
fix: duplicated endpoint per hosted zone #4296
Conversation
Welcome @leonardocaylent! |
Hi @leonardocaylent. 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 Once the patch is verified, the new status will be reflected by the 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. |
/ok-to-test |
/retitle fix: duplicated endpoint per hosted zone |
@leonardocaylent Do you think you can add a test on this ? In order to keep issues fixed for good, we accept PR only when there is a test with it. |
@mloiseleur Yes, I can. I also need to check for TestAWSRecords and TestAWSApplyChanges that are failing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can optimize this a bit by using the empty struct.
provider/aws/aws.go
Outdated
log.Debugf("Key Output: %s", key) | ||
// Initialize the map for the current zone if it doesn't exist | ||
if visitedHostnames[aws.StringValue(z.Id)] == nil { | ||
visitedHostnames[aws.StringValue(z.Id)] = make(map[string]bool) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
visitedHostnames[aws.StringValue(z.Id)] = make(map[string]bool) | |
visitedHostnames[aws.StringValue(z.Id)] = map[string]struct{}{} |
provider/aws/aws.go
Outdated
visitedHostnames[aws.StringValue(z.Id)] = make(map[string]bool) | ||
} | ||
|
||
if visitedHostnames[aws.StringValue(z.Id)][key] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if visitedHostnames[aws.StringValue(z.Id)][key] { | |
if _, ok := visitedHostnames[aws.StringValue(z.Id)][key]; ok { |
provider/aws/aws.go
Outdated
@@ -1008,7 +1021,8 @@ func changesByZone(zones map[string]*route53.HostedZone, changeSet Route53Change | |||
} | |||
} | |||
changes[aws.StringValue(z.Id)] = append(changes[aws.StringValue(z.Id)], c) | |||
log.Debugf("Adding %s to zone %s [Id: %s]", hostname, aws.StringValue(z.Name), aws.StringValue(z.Id)) | |||
visitedHostnames[aws.StringValue(z.Id)][key] = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
visitedHostnames[aws.StringValue(z.Id)][key] = true | |
visitedHostnames[aws.StringValue(z.Id)][key] = struct{}{} |
@yurrriq: changing LGTM is restricted to collaborators In response to this:
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. |
@yurrriq The root cause of the issue is that this function lost the ability to remove the duplicate endpoints on the
|
Please follow up with #4296 (comment). Raffo said what he wants to see and if you want to get this done, then please follow his guideline. |
@szuecs I've read @Raffo's comments. We were working with @yurrriq and @cronik and we found the root cause. I'll put here a brief summary:
3)I didn't see any new comments between @Raffo's comment and the new finding so I think that changes the solution. The things are on the current PR but the last commit (d9b7439) it's a Draft and it's really complex to explain on a comment. I'm still working on the solution because we find the real root cause only 5 days ago, which was merged into main 7 months ago. I'd really appreciate if some of the contributors with more experience have time to discuss in a huddle about this. |
@Raffo We could confirm that
Behavior on 0.14.0 on Deletes:
2)There were 2 major changes on From my point of view, this PR is ready to review. Special thanks to all the persons that helped finding the root cause of this issue. |
…nts-per-hosted-zone-for-aws
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, I agree that any changes to the AWS provider to choose the most suitable zone are best addressed in a followup issue and PR
@yurrriq: changing LGTM is restricted to collaborators In response to this:
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. |
@leonardocaylent thank you for the update and the work with the rest of the community to figure out what the best path forward is. I followed the last updates and the change proposed seems reasonable to me. @szuecs @mloiseleur is the change fine for you as well? I feel that you followed this more closely, so I want to wait for your okay for this to proceed. |
This change is working and lgtm. Even if it's an edge case, I understand it was working before. |
@mloiseleur yes, same. Do we want to get this in and work on the more permanent fix then? Does this require a release? Who's working on the second part? Sorry tons of questions 😅 |
@Raffo I can work on the second part with help of someone does has experience and knowledge on the aws provider. The final fix will require the same amount of testing and debugging than this one (quite a lot) |
@Raffo @mloiseleur I agree that we want to get this merged in since the functionality of the plans changed and this will require a release. I also agree that we will be able to fix the source and remove this code entirely when we only generate one of each record in the correct hosted zone. |
Ok so the plan is:
Does this sound correct? |
That sounds perfect, I created this feature ticket to start the discussion about how to proceed with that. I explained with details the current behavior. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Raffo, yurrriq 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 |
…rnal-dns to v0.14.2@3fcad62 by renovate (#22163) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [registry.k8s.io/external-dns/external-dns](https://togithub.com/kubernetes-sigs/external-dns) | patch | `v0.14.1` -> `v0.14.2` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>kubernetes-sigs/external-dns (registry.k8s.io/external-dns/external-dns)</summary> ### [`v0.14.2`](https://togithub.com/kubernetes-sigs/external-dns/releases/tag/v0.14.2) [Compare Source](https://togithub.com/kubernetes-sigs/external-dns/compare/v0.14.1...v0.14.2) #### What's Changed - kustomize-v0.14.1 by [@​Raffo](https://togithub.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4331](https://togithub.com/kubernetes-sigs/external-dns/pull/4331) - replace all links in tutorials for v0.14.1 by [@​Raffo](https://togithub.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4332](https://togithub.com/kubernetes-sigs/external-dns/pull/4332) - chore: upgrade ExternalDNS to go 1.22 by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4318](https://togithub.com/kubernetes-sigs/external-dns/pull/4318) - build(deps): bump the dev-dependencies group with 13 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4329](https://togithub.com/kubernetes-sigs/external-dns/pull/4329) - build(deps): bump the dev-dependencies group with 5 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4334](https://togithub.com/kubernetes-sigs/external-dns/pull/4334) - build(deps): bump the dev-dependencies group with 9 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4349](https://togithub.com/kubernetes-sigs/external-dns/pull/4349) - build(deps): bump the dev-dependencies group with 1 update by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4341](https://togithub.com/kubernetes-sigs/external-dns/pull/4341) - Add `dnsendpoint` CRD to Helm chart by [@​onedr0p](https://togithub.com/onedr0p) in [https://github.com/kubernetes-sigs/external-dns/pull/4322](https://togithub.com/kubernetes-sigs/external-dns/pull/4322) - build(deps): bump the dev-dependencies group with 13 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4361](https://togithub.com/kubernetes-sigs/external-dns/pull/4361) - build(deps): bump GrantBirki/json-yaml-validate from 2.6.1 to 2.6.2 in the dev-dependencies group by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4364](https://togithub.com/kubernetes-sigs/external-dns/pull/4364) - chore(chart): Released chart for v0.14.1 by [@​stevehipwell](https://togithub.com/stevehipwell) in [https://github.com/kubernetes-sigs/external-dns/pull/4357](https://togithub.com/kubernetes-sigs/external-dns/pull/4357) - chore: alphabetical order on providers by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4350](https://togithub.com/kubernetes-sigs/external-dns/pull/4350) - doc: advertise current plan on providers by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4365](https://togithub.com/kubernetes-sigs/external-dns/pull/4365) - Fix(ipv6): support ipv6 shortener and expander equal by [@​dongjiang1989](https://togithub.com/dongjiang1989) in [https://github.com/kubernetes-sigs/external-dns/pull/4351](https://togithub.com/kubernetes-sigs/external-dns/pull/4351) - feat(WebhookProvider): Let WebhookProvider return `SoftError` on response status codes >= 500 by [@​SimonKienzler](https://togithub.com/SimonKienzler) in [https://github.com/kubernetes-sigs/external-dns/pull/4319](https://togithub.com/kubernetes-sigs/external-dns/pull/4319) - Webhook provider: Use correct error gauge in `AdjustEndpoints()` func by [@​SimonKienzler](https://togithub.com/SimonKienzler) in [https://github.com/kubernetes-sigs/external-dns/pull/4374](https://togithub.com/kubernetes-sigs/external-dns/pull/4374) - build(deps): bump the dev-dependencies group with 18 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4381](https://togithub.com/kubernetes-sigs/external-dns/pull/4381) - Add exclude domains value in Chart by [@​bford-evs](https://togithub.com/bford-evs) in [https://github.com/kubernetes-sigs/external-dns/pull/4380](https://togithub.com/kubernetes-sigs/external-dns/pull/4380) - docs(aws): fix typo and upgrade cleanup flow by [@​franzudev](https://togithub.com/franzudev) in [https://github.com/kubernetes-sigs/external-dns/pull/4389](https://togithub.com/kubernetes-sigs/external-dns/pull/4389) - docs(gke): detail how to configure workload identity by [@​userbradley](https://togithub.com/userbradley) in [https://github.com/kubernetes-sigs/external-dns/pull/4373](https://togithub.com/kubernetes-sigs/external-dns/pull/4373) - chore(ci): fix failing test by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4397](https://togithub.com/kubernetes-sigs/external-dns/pull/4397) - chore: Update controller-tools version to v0.14.0 by [@​dongjiang1989](https://togithub.com/dongjiang1989) in [https://github.com/kubernetes-sigs/external-dns/pull/4400](https://togithub.com/kubernetes-sigs/external-dns/pull/4400) - chore(ci): update golangci-lint to v1.57.2 by [@​dongjiang1989](https://togithub.com/dongjiang1989) in [https://github.com/kubernetes-sigs/external-dns/pull/4406](https://togithub.com/kubernetes-sigs/external-dns/pull/4406) - chore: upgrade ExternalDNS to go 1.22.2 by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4414](https://togithub.com/kubernetes-sigs/external-dns/pull/4414) - build(deps): bump the dev-dependencies group across 1 directory with 4 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4412](https://togithub.com/kubernetes-sigs/external-dns/pull/4412) - build(deps): bump the dev-dependencies group across 1 directory with 24 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4416](https://togithub.com/kubernetes-sigs/external-dns/pull/4416) - custom Azure Active Directory Authority Host by [@​Jeremy-Boyle](https://togithub.com/Jeremy-Boyle) in [https://github.com/kubernetes-sigs/external-dns/pull/4210](https://togithub.com/kubernetes-sigs/external-dns/pull/4210) - feat(DNSimple): User API tokens by [@​IntegralProgrammer](https://togithub.com/IntegralProgrammer) in [https://github.com/kubernetes-sigs/external-dns/pull/4274](https://togithub.com/kubernetes-sigs/external-dns/pull/4274) - docs: annotation placement for azuredns tutorial by [@​jonas-budde](https://togithub.com/jonas-budde) in [https://github.com/kubernetes-sigs/external-dns/pull/4415](https://togithub.com/kubernetes-sigs/external-dns/pull/4415) - feat(azure): add zone name filter for Azure Private DNS by [@​khuedoan](https://togithub.com/khuedoan) in [https://github.com/kubernetes-sigs/external-dns/pull/4346](https://togithub.com/kubernetes-sigs/external-dns/pull/4346) - test: detect no change necessary with provider specific config by [@​szuecs](https://togithub.com/szuecs) in [https://github.com/kubernetes-sigs/external-dns/pull/4189](https://togithub.com/kubernetes-sigs/external-dns/pull/4189) - docs: add setup example with helm chart on some providers by [@​omerap12](https://togithub.com/omerap12) in [https://github.com/kubernetes-sigs/external-dns/pull/4405](https://togithub.com/kubernetes-sigs/external-dns/pull/4405) - test: controller run() and successfully shutdown by [@​szuecs](https://togithub.com/szuecs) in [https://github.com/kubernetes-sigs/external-dns/pull/3639](https://togithub.com/kubernetes-sigs/external-dns/pull/3639) - fix syntax on cloudflare externalDNS by [@​ilyesAj](https://togithub.com/ilyesAj) in [https://github.com/kubernetes-sigs/external-dns/pull/4436](https://togithub.com/kubernetes-sigs/external-dns/pull/4436) - build(deps): bump the dev-dependencies group across 1 directory with 11 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4440](https://togithub.com/kubernetes-sigs/external-dns/pull/4440) - chore(chart): Adding extra containers by [@​omerap12](https://togithub.com/omerap12) in [https://github.com/kubernetes-sigs/external-dns/pull/4432](https://togithub.com/kubernetes-sigs/external-dns/pull/4432) - aws: add ca-west-1 region by [@​jeremy-albuixech](https://togithub.com/jeremy-albuixech) in [https://github.com/kubernetes-sigs/external-dns/pull/4444](https://togithub.com/kubernetes-sigs/external-dns/pull/4444) - fix: duplicated endpoint per hosted zone by [@​leonardocaylent](https://togithub.com/leonardocaylent) in [https://github.com/kubernetes-sigs/external-dns/pull/4296](https://togithub.com/kubernetes-sigs/external-dns/pull/4296) - build(deps): bump actions/checkout from 4.1.4 to 4.1.5 in the dev-dependencies group by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4438](https://togithub.com/kubernetes-sigs/external-dns/pull/4438) - Add IPv6 AAAA record support to PiHole provider by [@​PseudoResonance](https://togithub.com/PseudoResonance) in [https://github.com/kubernetes-sigs/external-dns/pull/4324](https://togithub.com/kubernetes-sigs/external-dns/pull/4324) - fix: soft error on cloudflare rate limits by [@​ebachle](https://togithub.com/ebachle) in [https://github.com/kubernetes-sigs/external-dns/pull/4437](https://togithub.com/kubernetes-sigs/external-dns/pull/4437) - Update cloudflare.md by [@​mfreeman451](https://togithub.com/mfreeman451) in [https://github.com/kubernetes-sigs/external-dns/pull/4449](https://togithub.com/kubernetes-sigs/external-dns/pull/4449) - Fix headings, whitespace by [@​stefanlasiewski](https://togithub.com/stefanlasiewski) in [https://github.com/kubernetes-sigs/external-dns/pull/4457](https://togithub.com/kubernetes-sigs/external-dns/pull/4457) - docs: add reference to anexia webhook provider by [@​ProbstenHias](https://togithub.com/ProbstenHias) in [https://github.com/kubernetes-sigs/external-dns/pull/4441](https://togithub.com/kubernetes-sigs/external-dns/pull/4441) - fix logline mentioning plugin api by [@​Raffo](https://togithub.com/Raffo) in [https://github.com/kubernetes-sigs/external-dns/pull/4459](https://togithub.com/kubernetes-sigs/external-dns/pull/4459) - docs: lint gke docs + make terraform config more secure by [@​DrFaust92](https://togithub.com/DrFaust92) in [https://github.com/kubernetes-sigs/external-dns/pull/4456](https://togithub.com/kubernetes-sigs/external-dns/pull/4456) - build(deps): bump action-stars/install-tool-from-github-release from 0.2.2 to 0.2.3 in the dev-dependencies group by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4464](https://togithub.com/kubernetes-sigs/external-dns/pull/4464) - changed documentation to include more details description when using API Tokens by [@​rhjensen79](https://togithub.com/rhjensen79) in [https://github.com/kubernetes-sigs/external-dns/pull/4474](https://togithub.com/kubernetes-sigs/external-dns/pull/4474) - fix: add clarification to endpoint unit tests by [@​leonardocaylent](https://togithub.com/leonardocaylent) in [https://github.com/kubernetes-sigs/external-dns/pull/4462](https://togithub.com/kubernetes-sigs/external-dns/pull/4462) - build(deps): bump the dev-dependencies group across 1 directory with 19 updates by [@​mloiseleur](https://togithub.com/mloiseleur) in [https://github.com/kubernetes-sigs/external-dns/pull/4476](https://togithub.com/kubernetes-sigs/external-dns/pull/4476) - build(deps): bump the dev-dependencies group across 1 directory with 19 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/kubernetes-sigs/external-dns/pull/4475](https://togithub.com/kubernetes-sigs/external-dns/pull/4475) #### New Contributors - [@​onedr0p](https://togithub.com/onedr0p) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4322](https://togithub.com/kubernetes-sigs/external-dns/pull/4322) - [@​SimonKienzler](https://togithub.com/SimonKienzler) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4319](https://togithub.com/kubernetes-sigs/external-dns/pull/4319) - [@​bford-evs](https://togithub.com/bford-evs) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4380](https://togithub.com/kubernetes-sigs/external-dns/pull/4380) - [@​franzudev](https://togithub.com/franzudev) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4389](https://togithub.com/kubernetes-sigs/external-dns/pull/4389) - [@​userbradley](https://togithub.com/userbradley) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4373](https://togithub.com/kubernetes-sigs/external-dns/pull/4373) - [@​Jeremy-Boyle](https://togithub.com/Jeremy-Boyle) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4210](https://togithub.com/kubernetes-sigs/external-dns/pull/4210) - [@​IntegralProgrammer](https://togithub.com/IntegralProgrammer) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4274](https://togithub.com/kubernetes-sigs/external-dns/pull/4274) - [@​jonas-budde](https://togithub.com/jonas-budde) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4415](https://togithub.com/kubernetes-sigs/external-dns/pull/4415) - [@​khuedoan](https://togithub.com/khuedoan) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4346](https://togithub.com/kubernetes-sigs/external-dns/pull/4346) - [@​omerap12](https://togithub.com/omerap12) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4405](https://togithub.com/kubernetes-sigs/external-dns/pull/4405) - [@​ilyesAj](https://togithub.com/ilyesAj) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4436](https://togithub.com/kubernetes-sigs/external-dns/pull/4436) - [@​jeremy-albuixech](https://togithub.com/jeremy-albuixech) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4444](https://togithub.com/kubernetes-sigs/external-dns/pull/4444) - [@​leonardocaylent](https://togithub.com/leonardocaylent) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4296](https://togithub.com/kubernetes-sigs/external-dns/pull/4296) - [@​PseudoResonance](https://togithub.com/PseudoResonance) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4324](https://togithub.com/kubernetes-sigs/external-dns/pull/4324) - [@​ebachle](https://togithub.com/ebachle) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4437](https://togithub.com/kubernetes-sigs/external-dns/pull/4437) - [@​mfreeman451](https://togithub.com/mfreeman451) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4449](https://togithub.com/kubernetes-sigs/external-dns/pull/4449) - [@​ProbstenHias](https://togithub.com/ProbstenHias) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4441](https://togithub.com/kubernetes-sigs/external-dns/pull/4441) - [@​DrFaust92](https://togithub.com/DrFaust92) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4456](https://togithub.com/kubernetes-sigs/external-dns/pull/4456) - [@​rhjensen79](https://togithub.com/rhjensen79) made their first contribution in [https://github.com/kubernetes-sigs/external-dns/pull/4474](https://togithub.com/kubernetes-sigs/external-dns/pull/4474) **Full Changelog**: kubernetes-sigs/external-dns@v0.14.1...v0.14.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMSIsInVwZGF0ZWRJblZlciI6IjM3LjM2OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsInVwZGF0ZS9kb2NrZXIvZ2VuZXJhbC9ub24tbWFqb3IiXX0=-->
Description
Looking into Issue #4241 we found that Delete was trying to generate 2 calls with 6 records per hosted zone instead of 2 calls with 3 records each. Taking a deeper look, changes.Delete at plan.go was handling duplicates at 0.13.6 but on the latest version it's not filtering them anymore.
Removing the duplicate endpoints in plan.go solves this issue for all providers
Short explain of new behavior
Added a new function RemoveDuplicates to detect duplicated endpoints when needed
Added Unit Tests for the function
Removed duplicated records on plan.go for changes.Delete
Details
Create behavior:
Without the fix:
With the fix:
Delete behavior:
Without the fix:
With the fix:
Fixes #4241
Checklist