diff --git a/dns-controller/pkg/dns/dnscontroller.go b/dns-controller/pkg/dns/dnscontroller.go index 4bd74808f3..2e904e68c1 100644 --- a/dns-controller/pkg/dns/dnscontroller.go +++ b/dns-controller/pkg/dns/dnscontroller.go @@ -302,6 +302,10 @@ func (c *DNSController) runOnce() error { } for key, changeset := range op.changesets { + if changeset.IsEmpty() { + continue + } + klog.V(2).Infof("applying DNS changeset for zone %s", key) if err := changeset.Apply(); err != nil { klog.Warningf("error applying DNS changeset for zone %s: %v", key, err) diff --git a/dnsprovider/pkg/dnsprovider/providers/google/clouddns/rrchangeset.go b/dnsprovider/pkg/dnsprovider/providers/google/clouddns/rrchangeset.go index 6b6d95e5ad..c4c516abec 100644 --- a/dnsprovider/pkg/dnsprovider/providers/google/clouddns/rrchangeset.go +++ b/dnsprovider/pkg/dnsprovider/providers/google/clouddns/rrchangeset.go @@ -50,6 +50,10 @@ func (c *ResourceRecordChangeset) Upsert(rrset dnsprovider.ResourceRecordSet) dn } func (c *ResourceRecordChangeset) Apply() error { + if c.IsEmpty() { + return nil + } + rrsets := c.rrsets service := rrsets.zone.zones.interface_.service.Changes() @@ -115,7 +119,7 @@ func (c *ResourceRecordChangeset) Apply() error { } func (c *ResourceRecordChangeset) IsEmpty() bool { - return len(c.additions) == 0 && len(c.removals) == 0 + return len(c.additions) == 0 && len(c.removals) == 0 && len(c.upserts) == 0 } // ResourceRecordSets returns the parent ResourceRecordSets