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

Godaddy record replace failure #4226

Open gg-hsi opened 5 months ago

gg-hsi commented 5 months ago

What happened: I have the following error when deploying the website to my domain:

{level: fatal, msg: Error INVALID_BODY: "Request body doesn't fulfill schema, see details in `fields`"}
2024-02-01 17:08:31.000 CET
{level: error, msg: Replace record .ridocu.de of type TXT failed: {"code":""}}
2024-02-01 17:08:31.000 CET
{level: error, msg: Unable to apply change replace on record  type TXT, Error INVALID_BODY: "Request body doesn't fulfill schema, see details in `fields`"}

And the pod is on CrashLoopBackOff since then one record was successful but not the others:

{"level":"debug","msg":"Replace record .ridocu.de of type TXT [\"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/website-production\"]","time":"2024-02-01T16:11:11Z"}

What you expected to happen: The domain DNS records get updated. How to reproduce it (as minimally and precisely as possible): here's my deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: external-dns-godaddy
  namespace: external-dns
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: external-dns
  template:
    metadata:
      labels:
        app: external-dns
    spec:
      containers:
        - name: external-dns-godaddy
          image: registry.k8s.io/external-dns/external-dns:v0.14.0
          args:
          - --domain-filter=ridocu.de
          - --provider=godaddy
          - --source=service
          - --source=ingress
          - --godaddy-api-key=$(API_KEY)
          - --godaddy-api-secret=$(API_SECRET)
          - --log-format=json
          - --log-level=trace
          - --ignore-ingress-tls-spec
          env:
            - name: API_KEY
              valueFrom:
                secretKeyRef:
                  name: godaddy-api-key
                  key: key
            - name: API_SECRET
              valueFrom:
                secretKeyRef:
                  name: godaddy-api-key
                  key: secret
      serviceAccountName: external-dns

Anything else we need to know?:

Environment:

gg-hsi commented 5 months ago

it turns out that after deleting the existing A record, the issue was fixed.

gg-hsi commented 5 months ago

After few minutes the same error is back again 🤷🏼‍♂️

akagaeng commented 3 months ago

Same here

time="2024-03-16T05:45:43Z" level=error msg="Replace record .example.com of type TXT failed: {\"code\":\"\"}"
time="2024-03-16T05:45:43Z" level=error msg="Unable to apply change replace on record  type TXT, Error INVALID_BODY: \"Request body doesn't fulfill schema, see details in `fields`\""
time="2024-03-16T05:45:43Z" level=fatal msg="Error INVALID_BODY: \"Request body doesn't fulfill schema, see details in `fields`\""
akagaeng commented 3 months ago

@gg-hsi It worked with version v0.13.5, in my case.

image: registry.k8s.io/external-dns/external-dns:v0.13.5 # <-- It worked!
#image: registry.k8s.io/external-dns/external-dns:v0.13.6 # GoDaddy TXT update bug
#image: registry.k8s.io/external-dns/external-dns:v0.14.0 # GoDaddy TXT update bug
k8s-triage-robot commented 3 weeks ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale