kubernetes/kops · error
error listing networks: %v
Error message
error listing networks: %v
What it means
The Neutron network list call failed while fetching all pages. Reads use retry-with-backoff, so this error indicates a persistent API failure such as credentials, endpoint, or service health.
Source
Thrown at upup/pkg/fi/cloudup/openstack/network.go:135
return network, err
} else if done {
return network, nil
} else {
return network, wait.ErrWaitTimeout
}
}
func (c *openstackCloud) ListNetworks(opt networks.ListOptsBuilder) ([]networks.Network, error) {
return listNetworks(c, opt)
}
func listNetworks(c OpenstackCloud, opt networks.ListOptsBuilder) ([]networks.Network, error) {
var ns []networks.Network
done, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {
allPages, err := networks.List(c.NetworkingClient(), opt).AllPages(context.TODO())
if err != nil {
return false, fmt.Errorf("error listing networks: %v", err)
}
r, err := networks.ExtractNetworks(allPages)
if err != nil {
return false, fmt.Errorf("error extracting networks from pages: %v", err)
}
ns = r
return true, nil
})
if err != nil {
return ns, err
} else if done {
return ns, nil
} else {
return ns, wait.ErrWaitTimeout
}
}
View on GitHub (pinned to 4c8573c808)
Example fix
// before
opt := networks.ListOpts{"bad_field": "x"}
// after
opt := networks.ListOpts{Name: "my-network"} Defensive patterns
Strategy: retry
Validate before calling
// use only documented Neutron list filters
opt := networks.ListOpts{Name: expectedName} // avoid non-standard fields Try / catch
ns, err := listNetworks(c, opt)
if err != nil {
var gerr gophercloud.ErrUnexpectedResponseCode
if errors.As(err, &gerr) && gerr.Actual == 400 {
return nil, fmt.Errorf("invalid ListOpts for this Neutron version: %w", err)
}
return nil, err
} Prevention
- Keep Gophercloud version compatible with the target OpenStack release
- Use only standard Neutron filter fields in ListOpts
- Handle token expiry in long sessions (re-authenticate)
- Monitor Neutron service health
When it happens
Trigger: networks.List(...).AllPages fails: bad ListOpts filter causing API 400, auth failure, or Neutron endpoint error/timeout during pagination.
Common situations: Invalid or unsupported filter fields in networks.ListOpts for the deployed Neutron version; token expiry mid-listing; Neutron service outage.
Related errors
- error describing Network: %v
- network %q not found
- error retrieving network with id %s: %v
- error extracting networks from pages: %v
- error creating network: %v
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/dd65f17565cefa24.
Report an issue: GitHub.