diff --git a/provider/google/google.go b/provider/google/google.go index c3c9270f0d..3502d6474a 100644 --- a/provider/google/google.go +++ b/provider/google/google.go @@ -194,7 +194,7 @@ func (p *GoogleProvider) Zones(ctx context.Context) (map[string]*dns.ManagedZone log.Debugf("Matching zones against domain filters: %v", p.domainFilter) if err := p.managedZonesClient.List(p.project).Pages(ctx, f); err != nil { - return nil, err + return nil, provider.NewSoftError(fmt.Errorf("failed to list zones: %w", err)) } if len(zones) == 0 { @@ -228,7 +228,7 @@ func (p *GoogleProvider) Records(ctx context.Context) (endpoints []*endpoint.End for _, z := range zones { if err := p.resourceRecordSetsClient.List(p.project, z.Name).Pages(ctx, f); err != nil { - return nil, err + return nil, provider.NewSoftError(fmt.Errorf("failed to list records in zone %s: %w", z.Name, err)) } } @@ -302,7 +302,7 @@ func (p *GoogleProvider) submitChange(ctx context.Context, change *dns.Change) e } if _, err := p.changesClient.Create(p.project, zone, c).Do(); err != nil { - return err + return provider.NewSoftError(fmt.Errorf("failed to create changes: %w", err)) } time.Sleep(p.batchChangeInterval) diff --git a/provider/google/google_test.go b/provider/google/google_test.go index dea1774a7a..ea14283926 100644 --- a/provider/google/google_test.go +++ b/provider/google/google_test.go @@ -242,7 +242,7 @@ func TestGoogleZonesVisibilityFilterPrivatePeering(t *testing.T) { zones, err := provider.Zones(context.Background()) require.NoError(t, err) - + validateZones(t, zones, map[string]*dns.ManagedZone{ "svc-local": {Name: "svc-local", DnsName: "svc.local.", Id: 1005, Visibility: "private"}, }) @@ -647,7 +647,7 @@ func validateChangeRecord(t *testing.T, record *dns.ResourceRecordSet, expected assert.Equal(t, expected.Type, record.Type) } -func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneTypeFilter provider.ZoneTypeFilter, dryRun bool, records []*endpoint.Endpoint) *GoogleProvider { +func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneTypeFilter provider.ZoneTypeFilter, dryRun bool, _ []*endpoint.Endpoint) *GoogleProvider { provider := &GoogleProvider{ project: "zalando-external-dns-test", dryRun: false, @@ -694,7 +694,6 @@ func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilt Visibility: "private", }) - createZone(t, provider, &dns.ManagedZone{ Name: "svc-local", DnsName: "svc.local.", @@ -703,13 +702,13 @@ func newGoogleProviderZoneOverlap(t *testing.T, domainFilter endpoint.DomainFilt }) createZone(t, provider, &dns.ManagedZone{ - Name: "svc-local-peer", - DnsName: "svc.local.", - Id: 10006, - Visibility: "private", + Name: "svc-local-peer", + DnsName: "svc.local.", + Id: 10006, + Visibility: "private", PeeringConfig: &dns.ManagedZonePeeringConfig{TargetNetwork: nil}, }) - + provider.dryRun = dryRun return provider