What happened?
With ExternalDNS v0.18.0 and OVH provider, records are not created for hostnames in a delegated IDN zone when using punycode.
Example anonymized zone:
- Zone (punycode):
apps.xn--bcher-kva.example
- Unicode form:
apps.bücher.example
- Affected hosts:
*.apps.xn--bcher-kva.example
ExternalDNS discovers endpoints, but fails to map them to the OVH zone and tries to apply changes with an empty zone name.
Logs / symptoms
- ExternalDNS logs show:
OVH: "": <n> changes will be done
- OVH API request fails with:
404 on /domain/zone//record
- Ingress resources are discovered, but DNS records are not created.
What did you expect to happen?
Endpoints for *.apps.xn--bcher-kva.example should match zone apps.xn--bcher-kva.example, and OVH records should be created/updated successfully.
How to reproduce it (as minimally and precisely as possible)
- Configure ExternalDNS
v0.18.0 with OVH provider.
- Use a delegated zone in punycode form (example:
apps.xn--bcher-kva.example).
- Create an Ingress with host under that zone (example:
id-staging.apps.xn--bcher-kva.example).
- Observe logs and OVH API behavior.
ExternalDNS version
v0.18.0
DNS provider
OVH
Suspected root cause
In provider/zonefinder.go (v0.18.0), hostname labels appear to be converted to Unicode before suffix matching, while OVH zone names remain in punycode.
For IDN zones this can break suffix matching and result in an empty zone name ("").
Workaround
Downgrading to ExternalDNS app v0.15.0 (chart 1.15.0) avoids the issue in our setup.
Additional context
- This affects delegated sub-zones with IDN/punycode names.
- Non-IDN zones do not show this behavior in the same environment.
What happened?
With ExternalDNS
v0.18.0and OVH provider, records are not created for hostnames in a delegated IDN zone when using punycode.Example anonymized zone:
apps.xn--bcher-kva.exampleapps.bücher.example*.apps.xn--bcher-kva.exampleExternalDNS discovers endpoints, but fails to map them to the OVH zone and tries to apply changes with an empty zone name.
Logs / symptoms
OVH: "": <n> changes will be done404on/domain/zone//recordWhat did you expect to happen?
Endpoints for
*.apps.xn--bcher-kva.exampleshould match zoneapps.xn--bcher-kva.example, and OVH records should be created/updated successfully.How to reproduce it (as minimally and precisely as possible)
v0.18.0with OVH provider.apps.xn--bcher-kva.example).id-staging.apps.xn--bcher-kva.example).ExternalDNS version
v0.18.0DNS provider
OVH
Suspected root cause
In
provider/zonefinder.go(v0.18.0), hostname labels appear to be converted to Unicode before suffix matching, while OVH zone names remain in punycode.For IDN zones this can break suffix matching and result in an empty zone name (
"").Workaround
Downgrading to ExternalDNS app
v0.15.0(chart1.15.0) avoids the issue in our setup.Additional context