kubernetes/kops · error
providerID %q not recognized for node %s: %w
Error message
providerID %q not recognized for node %s: %w
What it means
The node's spec.providerID does not parse as a Linode provider ID: after the linode:// prefix check and path parsing, no numeric instance ID remained (parseInstanceIDFromProviderID failed). The offending value is shown in the message.
Source
Thrown at pkg/nodeidentity/linode/identify.go:83
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)
}
instanceNumericID, instanceID, err := parseInstanceIDFromProviderID(providerID)
if err != nil {
return nil, fmt.Errorf("providerID %q not recognized for node %s: %w", providerID, node.Name, err)
}
if i.cacheEnabled {
obj, exists, err := i.cache.GetByKey(instanceID)
if err != nil {
klog.Warningf("Nodeidentity info cache lookup failure: %v", err)
}
if exists {
return obj.(*nodeidentity.Info), nil
}
}
instance, err := i.client.GetInstance(ctx, instanceNumericID)
if err != nil {
return nil, fmt.Errorf("failed to get info for Akamai (Linode) instance %q: %w", instanceID, err)
}
if instance == nil {
return nil, fmt.Errorf("failed to get info for Akamai (Linode) instance %q: empty response", instanceID)View on GitHub (pinned to 4c8573c808)
Solutions
- Correct node.spec.providerID to linode://<numeric-instance-id>
- Check which integration stamped the malformed provider ID
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at pkg/nodeidentity/linode/identify.go:83 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/a3bf3301cfd200eb.
Report an issue: GitHub.