kubernetes/kops · error

error creating network: %v

Error message

error creating network: %v

What it means

The Neutron network create call failed. Creation is retried with backoff; persistent failure is usually a quota, name collision, or invalid option problem reported in the wrapped error.

Source

Thrown at upup/pkg/fi/cloudup/openstack/network.go:204

		return net, err
	} else if done {
		return net, nil
	} else {
		return net, wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) CreateNetwork(opt networks.CreateOptsBuilder) (*networks.Network, error) {
	return createNetwork(c, opt)
}

func createNetwork(c OpenstackCloud, opt networks.CreateOptsBuilder) (*networks.Network, error) {
	var n *networks.Network

	done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
		r, err := networks.Create(context.TODO(), c.NetworkingClient(), opt).Extract()
		if err != nil {
			return false, fmt.Errorf("error creating network: %v", err)
		}
		n = r
		return true, nil
	})
	if err != nil {
		return n, err
	} else if done {
		return n, nil
	} else {
		return n, wait.ErrWaitTimeout
	}
}

func (c *openstackCloud) DeleteNetwork(networkID string) error {
	return deleteNetwork(c, networkID)
}

func deleteNetwork(c OpenstackCloud, networkID string) error {

View on GitHub (pinned to 4c8573c808)

Defensive patterns

Strategy: try-catch

Validate before calling

// check quota and opts before create
q, _ := osClient.NetworkingV2().Quotas.Get(ctx, projectID).Extract()
// ensure q.Network > currentNetworkCount

Try / catch

net, err := createNetwork(c, opt)
if err != nil {
    var gerr gophercloud.ErrUnexpectedResponseCode
    if errors.As(err, &gerr) {
        switch gerr.Actual {
        case 409: return nil, fmt.Errorf("network quota/conflict: %w", err)
        case 400: return nil, fmt.Errorf("invalid network CreateOpts: %w", err)
        case 403: return nil, fmt.Errorf("insufficient role to create network: %w", err)
        }
    }
    return nil, err
}

Prevention

When it happens

Trigger: networks.Create fails: invalid CreateOpts (e.g. missing admin state, bad MTU), duplicate network name where uniqueness enforced, quota exceeded (409), or auth/policy denial (403).

Common situations: Project network quota exhausted; spec requesting provider/segment settings the plugin doesn't support; insufficient role to create networks; Neutron plugin limitations (e.g. flat/vlan constraints).

Related errors


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/f434e63f5c176646. Report an issue: GitHub.