kubernetes/kops · error
local-ipv4 from AWS metadata is not a valid IPv4 address: %q
Error message
local-ipv4 from AWS metadata is not a valid IPv4 address: %q
What it means
Error "local-ipv4 from AWS metadata is not a valid IPv4 address: %q" thrown in kubernetes/kops.
Source
Thrown at upup/pkg/fi/nodeup/command.go:515
//
// An instance launched with a resource-based hostname keeps a resource-based name (it can
// only change while the instance is stopped), so an IP-based node name would not match its
// EC2 hostname; fail rather than join a misconfigured instance.
hostnameBytes, err := vfs.Context.ReadFile("metadata://aws/meta-data/local-hostname")
if err != nil {
return "", fmt.Errorf("error reading local-hostname from AWS metadata: %v", err)
}
if strings.HasPrefix(string(hostnameBytes), instanceID) {
return "", fmt.Errorf("instance %s was launched with a resource-based hostname; useIPBasedNodeNames requires subnets that assign IP-based hostnames", instanceID)
}
localIPv4Bytes, err := vfs.Context.ReadFile("metadata://aws/meta-data/local-ipv4")
if err != nil {
return "", fmt.Errorf("error reading local-ipv4 from AWS metadata: %v", err)
}
localIPv4 := string(localIPv4Bytes)
if net.ParseIP(localIPv4).To4() == nil {
return "", fmt.Errorf("local-ipv4 from AWS metadata is not a valid IPv4 address: %q", localIPv4)
}
return awsbootstrap.PrivateDNSName(localIPv4, region), nil
case api.CloudProviderGCE:
// This lets us tolerate broken hostnames (i.e. systemd)
b, err := vfs.Context.ReadFile("metadata://gce/instance/hostname")
if err != nil {
return "", fmt.Errorf("error reading hostname from GCE metadata: %v", err)
}
// We only want to use the first portion of the fully-qualified name
// e.g. foo.c.project.internal => foo
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")View on GitHub (pinned to 4c8573c808)
When it happens
Trigger: Thrown at upup/pkg/fi/nodeup/command.go:515 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/7933330d42e9cf8a.
Report an issue: GitHub.