kubernetes/kops · error
failed to create Linode client: %w
Error message
failed to create Linode client: %w
What it means
pkg/nodeidentity/linode.New wraps linodego.NewClient failure while building the Linode API client for the node identifier. It fires when the client cannot be constructed (nil http client misuse / internal init error); note the preceding guard already required a non-empty LINODE_TOKEN env var.
Source
Thrown at pkg/nodeidentity/linode/identify.go:62
}
// nodeIdentifier identifies a node from Akamai (Linode).
type nodeIdentifier struct {
client linodeClient
cache expirationcache.Store
cacheEnabled bool
}
// New creates and returns a nodeidentity.Identifier for Nodes running on Akamai (Linode).
func New(cacheNodeidentityInfo bool) (nodeidentity.Identifier, error) {
accessToken := os.Getenv("LINODE_TOKEN")
if accessToken == "" {
return nil, fmt.Errorf("%s is required", "LINODE_TOKEN")
}
client, err := linodego.NewClient(nil)
if err != nil {
return nil, fmt.Errorf("failed to create Linode client: %w", err)
}
client.SetUserAgent("kops/nodeidentity")
client.SetToken(accessToken)
return &nodeIdentifier{
client: &client,
cache: expirationcache.NewTTLStore(stringKeyFunc, cacheTTL),
cacheEnabled: cacheNodeidentityInfo,
}, nil
}
// IdentifyNode queries Akamai (Linode) for the node identity information.
func (i *nodeIdentifier) IdentifyNode(ctx context.Context, node *corev1.Node) (*nodeidentity.Info, error) {
providerID := node.Spec.ProviderID
if providerID == "" {
return nil, fmt.Errorf("providerID not set for node %s", node.Name)
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Check the wrapped client-construction error
- Verify any Linode API base URL overrides or HTTP proxy settings on the node
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pkg/nodeidentity/linode/identify.go:62 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/8cfde148485fa2a3.
Report an issue: GitHub.