kubernetes/kops · error
error rendering Instance metadata %q: %v
Error message
error rendering Instance metadata %q: %v
What it means
Wrapped error from Instance.mapToGCE when fi.ResourceAsString fails for one of the instance's metadata entries. The offending key is included; the resource (typically a template or file asset) could not be rendered to a string — e.g. missing template data or a failing asset loader.
Source
Thrown at upup/pkg/fi/cloudup/gcetasks/instance.go:276
if e.ServiceAccount != nil {
if e.Scopes != nil {
var scopes []string
for _, s := range e.Scopes {
s = scopeToLongForm(s)
scopes = append(scopes, s)
}
serviceAccounts = append(serviceAccounts, &compute.ServiceAccount{
Email: fi.ValueOf(e.ServiceAccount.Email),
Scopes: scopes,
})
}
}
var metadataItems []*compute.MetadataItems
for key, r := range e.Metadata {
v, err := fi.ResourceAsString(r)
if err != nil {
return nil, fmt.Errorf("error rendering Instance metadata %q: %v", key, err)
}
metadataItems = append(metadataItems, &compute.MetadataItems{
Key: key,
Value: new(v),
})
}
i := &compute.Instance{
CanIpForward: *e.CanIPForward,
Disks: disks,
MachineType: BuildMachineTypeURL(project, zone, *e.MachineType),
Metadata: &compute.Metadata{
Items: metadataItems,
},
View on GitHub (pinned to 4c8573c808)
Solutions
- Look at the wrapped error and the named metadata key to find the failing resource/template
- Check that all template variables referenced by the nodeup/config assets are defined in the cluster spec
- Regenerate the cluster config if assets were changed out-of-band
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/gcetasks/instance.go:276 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/ba793c3d710652ba.
Report an issue: GitHub.