You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What happened:
Updating a DNS record deletes all fetched records. Even if some of the DNS records are afterwards recreated, this leads to major issues. Especially if different external-dns instances manage a DNS zone together or a DNS zone is partly managed manually and by the external-dns controller.
What you expected to happen:
Only the modified DNS record gets deleted and recreated.
How to reproduce it (as minimally and precisely as possible):
Create couple of DNS records using the Infoblox API without using external-dns
Create a DNS record using the external-dns controller
Modify the DNS record which was created using the external-dns controller
Check the logs and see that all DNS records were deleted
Anything else we need to know?:
With the upgrade from github.com/infobloxopen/infoblox-go-client v1.1.1 to github.com/infobloxopen/infoblox-go-client/v2 v2.1.1 in f890d88 the BuildRequest changed significantly. The search prams are no longer extracted from the object for GET API calls and therefore need to be set explicitly as query parameters.
- if obj != nil {
+ if obj != nil && (t == CREATE || t == UPDATE) {
bodyStr = wrb.BuildBody(t, obj)
}
As a result every GET call returns all objects of a given record type instead of one specific object. If the result is then used to delete the object it will delete all objects instead.
Environment:
External-DNS version: v0.12.0
DNS provider: Infoblox
Others: OCP 4.8
The text was updated successfully, but these errors were encountered:
Please issue a release which includes this fix. We just experienced a major outage due to ~4,000 DNS records not managed by external-dns being deleted by it. This is a severe problem and IMHO previous releases which include this bug should be pulled.
What happened:
Updating a DNS record deletes all fetched records. Even if some of the DNS records are afterwards recreated, this leads to major issues. Especially if different external-dns instances manage a DNS zone together or a DNS zone is partly managed manually and by the external-dns controller.
What you expected to happen:
Only the modified DNS record gets deleted and recreated.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
With the upgrade from github.com/infobloxopen/infoblox-go-client v1.1.1 to github.com/infobloxopen/infoblox-go-client/v2 v2.1.1 in f890d88 the
BuildRequest
changed significantly. The search prams are no longer extracted from the object forGET
API calls and therefore need to be set explicitly as query parameters.for further details check:
infobloxopen/infoblox-go-client@aa751fa#diff-c1caa8de39e277339469495d65efd1a363c54065c3cc02e7422b097774e56c86
As a result every
GET
call returns all objects of a given record type instead of one specific object. If the result is then used to delete the object it will delete all objects instead.Environment:
The text was updated successfully, but these errors were encountered: