kubernetes/kops · error
failed to create pool monitor: %v
Error message
failed to create pool monitor: %v
What it means
The Octavia health-monitor create call failed. The creation is retried with backoff; this error means it kept failing, e.g. invalid monitor options (delay/timeout/max_retries), pool state issues, or API errors.
Source
Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:56
Duration: time.Second,
Factor: 2,
Jitter: 0.1,
Steps: 10,
}
func (c *openstackCloud) CreatePoolMonitor(opts monitors.CreateOpts) (*monitors.Monitor, error) {
return createPoolMonitor(c, opts)
}
func createPoolMonitor(c OpenstackCloud, opts monitors.CreateOpts) (poolMonitor *monitors.Monitor, err error) {
if c.LoadBalancerClient() == nil {
return nil, fmt.Errorf("loadbalancer support not available in this deployment")
}
done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
poolMonitor, err = monitors.Create(context.TODO(), c.LoadBalancerClient(), opts).Extract()
if err != nil {
return false, fmt.Errorf("failed to create pool monitor: %v", err)
}
return true, nil
})
if !done {
if err == nil {
err = wait.ErrWaitTimeout
}
return poolMonitor, err
}
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 {View on GitHub (pinned to 4c8573c808)
Solutions
- Inspect the wrapped Octavia error for the failing field
- Confirm the target pool exists and is not in ERROR state
- Fix monitor options and retry
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/loadbalancer.go:56 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/d95e01e010425282.
Report an issue: GitHub.