kubernetes/kops · error

failed to list DNS zones: %w

Error message

failed to list DNS zones: %w

What it means

Scaleway zones.List wraps a failure of ListDNSZones (called with WithAllPages to fetch every zone). It fires when the Scaleway domain API errors while enumerating DNS zones — auth token rejected, throttling, or network failure; the SDK error is propagated via %w.

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:111

}

// Zones returns an implementation of dnsprovider.Zones
func (d Interface) Zones() (dnsprovider.Zones, bool) {
	return &zones{
		domainAPI: d.domainAPI,
	}, true
}

// zones is an implementation of dnsprovider.Zones
type zones struct {
	domainAPI DomainAPI
}

// List returns a list of all dns zones
func (z *zones) List() ([]dnsprovider.Zone, error) {
	dnsZones, err := z.domainAPI.ListDNSZones(&domain.ListDNSZonesRequest{}, scw.WithAllPages())
	if err != nil {
		return nil, fmt.Errorf("failed to list DNS zones: %w", err)
	}

	zonesList := []dnsprovider.Zone(nil)
	for _, dnsZone := range dnsZones.DNSZones {
		newZone := &zone{
			name:      dnsZone.Domain,
			domainAPI: z.domainAPI,
		}
		zonesList = append(zonesList, newZone)
	}

	return zonesList, nil
}

// Add adds a new DNS zone. The name of the new zone should be of the form "name.domain", otherwise we can't infer the
// domain name from anywhere else in this function
func (z *zones) Add(newZone dnsprovider.Zone) (dnsprovider.Zone, error) {
	newZoneNameSplit := strings.SplitN(newZone.Name(), ".", 2)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify Scaleway credentials
  2. Check the Scaleway API status
  3. Retry the zone listing
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:111 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/16968d724a302864. Report an issue: GitHub.