kubernetes/kops · error
error rendering InstanceTemplate metadata %q: %v
Error message
error rendering InstanceTemplate metadata %q: %v
What it means
Wrapped error from InstanceTemplate.mapToGCE when fi.ResourceAsString fails to render one of the template's metadata entries. The offending key is printed; the resource backing that key (nodeup script, config template, etc.) failed to render to a string.
Source
Thrown at upup/pkg/fi/cloudup/gcetasks/instancetemplate.go:417
for _, s := range e.Scopes {
s = scopeToLongForm(s)
scopes = append(scopes, s)
}
}
var serviceAccounts []*compute.ServiceAccount
for _, sa := range e.ServiceAccounts {
serviceAccounts = append(serviceAccounts, &compute.ServiceAccount{
Email: fi.ValueOf(sa.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 InstanceTemplate metadata %q: %v", key, err)
}
metadataItems = append(metadataItems, &compute.MetadataItems{
Key: key,
Value: new(v),
})
}
var accelerators []*compute.AcceleratorConfig
if len(e.GuestAccelerators) > 0 {
accelerators = []*compute.AcceleratorConfig{}
for _, accelerator := range e.GuestAccelerators {
accelerators = append(accelerators, &compute.AcceleratorConfig{
AcceleratorCount: accelerator.AcceleratorCount,
AcceleratorType: accelerator.AcceleratorType,
})
}
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Identify the failing metadata key from the message and inspect the wrapped error
- Ensure all template variables and assets referenced by that resource are present in the cluster model
- Regenerate configs if templates were modified manually
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/gcetasks/instancetemplate.go:417 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/fbe08484852dc8f2.
Report an issue: GitHub.