kubernetes-sigs / external-dns

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Apache License 2.0
7.44k stars 2.52k forks source link

cannot create SRV type record to openstack-designate DNS #4452

Open latituder opened 2 months ago

latituder commented 2 months ago

What happened: parameter "--managed-record-types=SRV" is enabled, but the SRV record not created in the openstack-designate DNS .

get log:

time="2024-05-09T08:42:38Z" level=fatal msg="Failed to do run once: Bad request with: [POST https://dns-3.eu-de-2.***.***/v2/zones/59****0e-02f3-40cd-9e12-84****0b3/recordsets], error message: {\"code\": 400, \"type\": \"invalid_object\", \"errors\": {\"errors\": [{\"path\": [\"records\", 0], \"message\": \"'0 50 30696 test.tunnel.da*****er.**.**.***' is not a 'SRV' Record\", \"validator\": \"format\", \"validator_value\": [\"SRV\"]}]}, \"request_id\": \"req-398c5d9c-fce0-4fa4-b5c4-5d46df4e740a\"}"

What you expected to happen:

How to reproduce it (as minimally and precisely as possible): try to update a srv type record to openstack-designate DNS from a NodePort DNS

Anything else we need to know?:

Environment:

latituder commented 1 month ago

Hello there,

Am I understand right, that there the SRV record's URL must end with a "." [dot]? so, in the log, the payload is send to '0 50 30696 test.tunnel.da*er..*.' , which is a wrong format.

how to make the URL end with a dot? (I tried to add a dot in the annonation, or tried to add . in the end of URL, but seems all of them are filtered out in the payload send to the DNS server)