kubernetes/kops · error

unable to create server: %v

Error message

unable to create server: %v

What it means

The Nova servers.Create call failed while provisioning a new instance. The message wraps the raw OpenStack API error; common causes are quota exhaustion, invalid flavor/image, network problems, or scheduler failures.

Source

Thrown at upup/pkg/fi/cloudup/openstack/instance.go:88

// waitForStatusActive uses gopherclouds WaitFor() func to determine when the server becomes "ACTIVE".
//
// The function will immediately fail if the server transistions into the status "ERROR"
// and will result in a timeout when not reaching status "ACTIVE" in time.
func waitForStatusActive(c OpenstackCloud, serverID string, timeout *time.Duration) error {
	if timeout == nil {
		timeout = new(defaultActiveTimeout)
	}
	ctx, cancel := context.WithTimeout(context.TODO(), time.Duration(timeout.Seconds())*time.Second)
	defer cancel()
	return gophercloud.WaitFor(ctx, func(_ context.Context) (bool, error) {
		server, err := c.GetInstance(serverID)
		if err != nil {
			return false, err
		}

		if server.Status == errorStatus {
			return false, fmt.Errorf("unable to create server: %v", server.Fault)
		}

		if server.Status == activeStatus {
			return true, nil
		}

		return false, nil
	})
}

func createInstance(c OpenstackCloud, opt servers.CreateOptsBuilder, schedulerHints servers.SchedulerHintOptsBuilder, portID string) (*servers.Server, error) {
	var server *servers.Server

	done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {

		v, err := servers.Create(context.TODO(), c.ComputeClient(), opt, schedulerHints).Extract()
		if err != nil {
			if IsPortInUse(err) && portID != "" {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Inspect the wrapped error for the Nova API failure reason
  2. Check project quotas (instances, vCPUs, RAM)
  3. Verify flavor, image and network references are valid
  4. Retry after fixing the underlying cause; transient failures are retried with backoff
Defensive patterns

Strategy: retry

When it happens

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