kubernetes/kops · error

failed to find image %v: %v

Error message

failed to find image %v: %v

What it means

The image lookup by the configured image name failed while preparing to create the instance. The wrapped error typically means the named Glance image does not exist in the project, or is duplicated.

Source

Thrown at upup/pkg/fi/cloudup/openstacktasks/instance.go:336

func (_ *Instance) RenderOpenstack(t *openstack.OpenstackAPITarget, a, e, changes *Instance) error {
	cloud := t.Cloud

	if a != nil && fi.ValueOf(a.Status) == errorStatus {
		klog.V(2).Infof("Delete previously failed server: %s\n", fi.ValueOf(a.ID))
		cloud.DeleteInstanceWithID(fi.ValueOf(a.ID))
	}

	if a == nil || fi.ValueOf(a.Status) == errorStatus {
		serverName, err := generateInstanceName(e)
		if err != nil {
			return err
		}
		klog.V(2).Infof("Creating Instance with name: %q", serverName)

		imageName := fi.ValueOf(e.Image)
		image, err := cloud.GetImage(imageName)
		if err != nil {
			return fmt.Errorf("failed to find image %v: %v", imageName, err)
		}

		flavorName := fi.ValueOf(e.Flavor)
		flavor, err := cloud.GetFlavor(flavorName)
		if err != nil {
			return fmt.Errorf("failed to find flavor %v: %v", flavorName, err)
		}

		opt := servers.CreateOpts{
			Name:      serverName,
			ImageRef:  image.ID,
			FlavorRef: flavor.ID,
			Networks: []servers.Network{
				{
					Port: fi.ValueOf(e.Port.ID),
				},
			},
			Metadata:       e.Metadata,

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the image name exists in Glance (openstack image list)
  2. Update the cluster spec's image to an existing unique image
  3. Import the image if missing
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstacktasks/instance.go:336 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/d30f455fa6839b01. Report an issue: GitHub.