kubernetes/kops · error

error extracting keypairs from pages: %v

Error message

error extracting keypairs from pages: %v

What it means

The keypair list API call succeeded, but decoding/extracting the keypair objects from the returned pages failed. This indicates a malformed or unexpected API response body rather than a transport failure.

Source

Thrown at upup/pkg/fi/cloudup/openstack/keypair.go:116

		return wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) ListKeypairs() ([]keypairs.KeyPair, error) {
	return listKeypairs(c)
}

func listKeypairs(c OpenstackCloud) ([]keypairs.KeyPair, error) {
	var k []keypairs.KeyPair
	done, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {
		allPages, err := keypairs.List(c.ComputeClient(), nil).AllPages(context.TODO())
		if err != nil {
			return false, fmt.Errorf("error listing keypairs: %v", err)
		}

		ks, err := keypairs.ExtractKeyPairs(allPages)
		if err != nil {
			return false, fmt.Errorf("error extracting keypairs from pages: %v", err)
		}
		k = ks
		return true, nil
	})
	if err != nil {
		return k, err
	} else if done {
		return k, nil
	} else {
		return k, wait.ErrWaitTimeout
	}
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check for OpenStack version incompatibilities with the gophercloud SDK in use
  2. Re-run the listing; a corrupted response may not recur
  3. Report the response shape if it persists with your OpenStack distribution
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at upup/pkg/fi/cloudup/openstack/keypair.go:116 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/39406d0354b77fcd. Report an issue: GitHub.