← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1600326] [NEW] neutron-lbaas health monitor timeout and delay values intepreated as milliseconds

 

Public bug reported:

The timeout and delay values on the health monitor objects in Neutron
LBaaS are purportedly in units of seconds, but the numeric value is
passed all the the way down to the HAProxy configuration[1] file (in
both the HAProxy namespace driver and Octavia) where it is interpreted
in milliseconds:

* https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4.2-timeout%20check
* https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-inter

Due to this unit mismatch, a user may configure a pool with a reasonable
10 second timeout, and the service may appear to function normally until
even a small load causes the backend servers to exceed a 10 millisecond
timeout and then they are removed from the pool.

A timeout value less than one second is useful some settings, such as
monitoring a pool of backend servers serving static content, let the
database field stores this value as an integer.

1: https://github.com/openstack/neutron-
lbaas/blob/b322615e4869eb42ed7888a3492eae4a52f3b4db/neutron_lbaas/services/loadbalancer/drivers/haproxy/templates/haproxy_proxies.j2#L72

** Affects: neutron
     Importance: Undecided
         Status: New

** Affects: octavia
     Importance: Undecided
         Status: New


** Tags: lbaas

** Description changed:

  The timeout and delay values on the health monitor objects in Neutron
  LBaaS are purportedly in units of seconds, but the numeric value is
- passed all the the way down to the HAProxy configuration[1] file where
- it is interpreted in milliseconds:
+ passed all the the way down to the HAProxy configuration[1] file (in
+ both the HAProxy namespace driver and Octavia) where it is interpreted
+ in milliseconds:
  
  * https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4.2-timeout%20check
  * https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-inter
  
  Due to this unit mismatch, a user may configure a pool with a reasonable
  10 second timeout, and the service may appear to function normally until
  even a small load causes the backend servers to exceed a 10 millisecond
  timeout and then they are removed from the pool.
  
  A timeout value less than one second is useful some settings, such as
  monitoring a pool of backend servers serving static content, let the
  database field stores this value as an integer.
  
- 
- 
- 1: https://github.com/openstack/neutron-lbaas/blob/b322615e4869eb42ed7888a3492eae4a52f3b4db/neutron_lbaas/services/loadbalancer/drivers/haproxy/templates/haproxy_proxies.j2#L72
+ 1: https://github.com/openstack/neutron-
+ lbaas/blob/b322615e4869eb42ed7888a3492eae4a52f3b4db/neutron_lbaas/services/loadbalancer/drivers/haproxy/templates/haproxy_proxies.j2#L72

** Also affects: octavia
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1600326

Title:
  neutron-lbaas health monitor timeout and delay values intepreated as
  milliseconds

Status in neutron:
  New
Status in octavia:
  New

Bug description:
  The timeout and delay values on the health monitor objects in Neutron
  LBaaS are purportedly in units of seconds, but the numeric value is
  passed all the the way down to the HAProxy configuration[1] file (in
  both the HAProxy namespace driver and Octavia) where it is interpreted
  in milliseconds:

  * https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#4.2-timeout%20check
  * https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#5.2-inter

  Due to this unit mismatch, a user may configure a pool with a
  reasonable 10 second timeout, and the service may appear to function
  normally until even a small load causes the backend servers to exceed
  a 10 millisecond timeout and then they are removed from the pool.

  A timeout value less than one second is useful some settings, such as
  monitoring a pool of backend servers serving static content, let the
  database field stores this value as an integer.

  1: https://github.com/openstack/neutron-
  lbaas/blob/b322615e4869eb42ed7888a3492eae4a52f3b4db/neutron_lbaas/services/loadbalancer/drivers/haproxy/templates/haproxy_proxies.j2#L72

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1600326/+subscriptions


Follow ups