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
- Check project network quota before cluster creation
- Ensure the credentials' role permits network creation
- Validate CreateOpts (MTU, provider networks) against Neutron plugin capabilities
- Clean up stale networks to free quota
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
- error describing Network: %v
- network %q not found
- error retrieving network with id %s: %v
- error listing networks: %v
- error extracting networks from pages: %v
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/f434e63f5c176646.
Report an issue: GitHub.