{"record":{"id":"7c9b064f9a6951f3","repo":"kubernetes/kops","slug":"failed-to-retrieve-server-metadata-w","errorCode":null,"errorMessage":"failed to retrieve server metadata: %w","messagePattern":"failed to retrieve server metadata: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/scaleway/scalewaymetadata/authenticator.go","lineNumber":43,"sourceCode":"\t\"github.com/scaleway/scaleway-sdk-go/api/instance/v1\"\n\t\"k8s.io/kops/pkg/bootstrap\"\n)\n\nconst ScalewayAuthenticationTokenPrefix = \"x-scaleway-instance-server-id \" //nolint:gosec // This is an authentication scheme prefix, not a credential.\n\ntype scalewayAuthenticator struct{}\n\nvar _ bootstrap.Authenticator = (*scalewayAuthenticator)(nil)\n\nfunc NewScalewayAuthenticator() (bootstrap.Authenticator, error) {\n\treturn &scalewayAuthenticator{}, nil\n}\n\nfunc (a *scalewayAuthenticator) CreateToken(body []byte) (string, error) {\n\tmetadataAPI := instance.NewMetadataAPI()\n\tmetadata, err := metadataAPI.GetMetadata()\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"failed to retrieve server metadata: %w\", err)\n\t}\n\treturn ScalewayAuthenticationTokenPrefix + metadata.ID, nil\n}\n","sourceCodeStart":25,"sourceCodeEnd":47,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/scaleway/scalewaymetadata/authenticator.go#L25-L47","documentation":"In the node bootstrap authenticator's CreateToken, the Scaleway instance metadata API GetMetadata call failed. The token is derived from the server's own metadata, so this fires when nodeup runs somewhere that cannot reach the Scaleway metadata service (169.254.42.42) — e.g. outside a Scaleway instance or with metadata blocked.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/scaleway/scalewaymetadata/authenticator.go:43 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify nodeup is running on an actual Scaleway instance","Check that the metadata endpoint is reachable from the node (firewall/network policy)","Retry — the metadata service can be briefly unavailable during boot"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T07:17:12.445Z"}