kubernetes/kops · error
error reading hostname from Linode metadata: %v
Error message
error reading hostname from Linode metadata: %v
What it means
Error "error reading hostname from Linode metadata: %v" thrown in kubernetes/kops.
Source
Thrown at upup/pkg/fi/nodeup/command.go:547
fullyQualified := string(b)
bareHostname := strings.Split(fullyQualified, ".")[0]
return bareHostname, nil
case api.CloudProviderDO:
vBytes, err := vfs.Context.ReadFile("metadata://digitalocean/interfaces/private/0/ipv4/address")
if err != nil {
return "", fmt.Errorf("error reading droplet private IP from DigitalOcean metadata: %v", err)
}
hostname := string(vBytes)
if hostname == "" {
return "", errors.New("private IP for digitalocean droplet was empty")
}
return hostname, nil
case api.CloudProviderLinode:
label, err := linodemetadata.GetMetadataValue(context.TODO(), "label")
if err != nil {
return "", fmt.Errorf("error reading hostname from Linode metadata: %v", err)
}
// Akamai (Linode) cloud-init does not set the OS hostname.
// Set it here so the OS hostname matches the kubelet hostname override.
if err := os.WriteFile("/etc/hostname", []byte(label+"\n"), 0o644); err != nil { //nolint:gosec // /etc/hostname is conventionally world-readable system configuration.
klog.Warningf("Failed to write /etc/hostname: %v", err)
} else if err := exec.Command("hostname", label).Run(); err != nil {
klog.Warningf("Failed to set runtime hostname %q: %v", label, err)
} else {
klog.Infof("Set OS hostname to %q", label)
}
return label, nil
}
return "", nil
}
View on GitHub (pinned to 4c8573c808)
When it happens
Trigger: Thrown at upup/pkg/fi/nodeup/command.go:547 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/35b124a12e506d1e.
Report an issue: GitHub.