kubernetes/kops · error
failed to extract monitor pages: %s
Error message
failed to extract monitor pages: %s
What it means
The monitor list call succeeded but extracting monitor objects from the returned pages failed, indicating a malformed/unexpected response body from the load-balancer API.
Source
Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:84
return poolMonitor, nil
}
func (c *openstackCloud) ListMonitors(opts monitors.ListOpts) (monitorList []monitors.Monitor, err error) {
return listMonitors(c, opts)
}
func listMonitors(c OpenstackCloud, opts monitors.ListOpts) (monitorList []monitors.Monitor, err error) {
if c.LoadBalancerClient() == nil {
return monitorList, fmt.Errorf("loadbalancer support not available in this deployment")
}
done, err := vfs.RetryWithBackoff(readBackoff, func() (bool, error) {
allPages, err := monitors.List(c.LoadBalancerClient(), opts).AllPages(context.TODO())
if err != nil {
return false, fmt.Errorf("failed to list monitors: %s", err)
}
monitorList, err = monitors.ExtractMonitors(allPages)
if err != nil {
return false, fmt.Errorf("failed to extract monitor pages: %s", err)
}
return true, nil
})
if !done {
if err == nil {
err = wait.ErrWaitTimeout
}
return monitorList, err
}
return monitorList, nil
}
func (c *openstackCloud) DeleteMonitor(monitorID string) error {
return deleteMonitor(c, monitorID)
}
func deleteMonitor(c OpenstackCloud, monitorID string) error {
if c.LoadBalancerClient() == nil {View on GitHub (pinned to 4c8573c808)
Solutions
- Check OpenStack/gophercloud version compatibility
- Retry the listing in case of a one-off corrupted response
- Report persistent extraction failures with your Octavia version
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:84 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/bcf772da8c3f75a8.
Report an issue: GitHub.