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
- Inspect the wrapped error for the Nova API failure reason
- Check project quotas (instances, vCPUs, RAM)
- Verify flavor, image and network references are valid
- 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.