kubernetes/kops · error

failed to retrieve server metadata: %w

Error message

failed to retrieve server metadata: %w

What it means

In the bootstrap VerifyToken path, the Scaleway instance metadata API GetMetadata call failed while verifying a node's identity token. This runs on the control plane and queries a Scaleway node's metadata; failure means the metadata service was unreachable or returned an error during node authentication.

Source

Thrown at upup/pkg/fi/cloudup/scaleway/verifier.go:70

	)
	if err != nil {
		return nil, err
	}
	return &scalewayVerifier{
		scwClient: scwClient,
	}, nil
}

func (v scalewayVerifier) VerifyToken(ctx context.Context, rawRequest *http.Request, token string, body []byte) (*bootstrap.VerifyResult, error) {
	if !strings.HasPrefix(token, scalewaymetadata.ScalewayAuthenticationTokenPrefix) {
		return nil, bootstrap.ErrNotThisVerifier
	}
	serverID := strings.TrimPrefix(token, scalewaymetadata.ScalewayAuthenticationTokenPrefix)

	metadataAPI := instance.NewMetadataAPI()
	metadata, err := metadataAPI.GetMetadata()
	if err != nil {
		return nil, fmt.Errorf("failed to retrieve server metadata: %w", err)
	}
	zone, err := scw.ParseZone(metadata.Location.ZoneID)
	if err != nil {
		return nil, fmt.Errorf("unable to parse Scaleway zone %q: %w", metadata.Location.ZoneID, err)
	}
	region, err := zone.Region()
	if err != nil {
		return nil, fmt.Errorf("unable to determine region from zone %s", zone)
	}

	profile, err := scalewaymetadata.CreateValidScalewayProfile()
	if err != nil {
		return nil, err
	}
	scwClient, err := scw.NewClient(
		scw.WithProfile(profile),
		scw.WithUserAgent(KopsUserAgentPrefix+kopsv.Version),
	)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check that the verifier host can reach the Scaleway metadata API
  2. Inspect the wrapped error for network/permission causes
  3. Retry — transient metadata service failures reject the node's bootstrap attempt, which will be retried
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/scaleway/verifier.go:70 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/5c85bd7e49b96dce. Report an issue: GitHub.