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

  1. Identify the failing metadata key from the message and inspect the wrapped error
  2. Ensure all template variables and assets referenced by that resource are present in the cluster model
  3. 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.