kubernetes/kops · error

listing cluster DNS records: %w

Error message

listing cluster DNS records: %w

What it means

GetClusterDNSRecords failed on the Scaleway Domain API ListDNSZoneRecords call (with all pages) for the DNS zone derived from the cluster name's second label. Fires on invalid/missing DNS zone, permission issues, or API errors; the wrapped error carries the SDK response.

Source

Thrown at upup/pkg/fi/cloudup/scaleway/cloud.go:430

		if err != nil {
			return nil, fmt.Errorf("getting server IP: %w", err)
		}
		cloudInstance.PrivateIP = ip
	}

	return cloudInstanceGroup, nil
}

func (s *scwCloudImplementation) GetClusterDNSRecords(clusterName string) ([]*domain.Record, error) {
	names := strings.SplitN(clusterName, ".", 2)
	clusterNameShort := names[0]
	domainName := names[1]

	records, err := s.domainAPI.ListDNSZoneRecords(&domain.ListDNSZoneRecordsRequest{
		DNSZone: domainName,
	}, scw.WithAllPages())
	if err != nil {
		return nil, fmt.Errorf("listing cluster DNS records: %w", err)
	}

	clusterDNSRecords := []*domain.Record(nil)
	for _, record := range records.Records {
		if strings.HasSuffix(record.Name, clusterNameShort) {
			clusterDNSRecords = append(clusterDNSRecords, record)
		}
	}
	return clusterDNSRecords, nil
}

func (s *scwCloudImplementation) GetClusterLoadBalancers(clusterName string) ([]*lb.LB, error) {
	loadBalancerName := "api." + clusterName
	lbs, err := s.lbAPI.ListLBs(&lb.ZonedAPIListLBsRequest{
		Zone: s.zone,
		Name: &loadBalancerName,
	}, scw.WithAllPages())
	if err != nil {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the domain exists in your Scaleway account and the DNS zone matches the cluster name suffix
  2. Check credentials have domain permissions
  3. Retry on transient API failures
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/scaleway/cloud.go:430 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/82d881d06de84564. Report an issue: GitHub.