Add max limit to agent_down_time
The agent_down_time ends up being passed to an eventlet green-thread; under the hood, this uses a CPython C-types interface with a limitation of (2^32 / 2 - 1) INT_MAX (as defined in C) where int is usually 32 bits I have set the max value to (2^32 / 2 - 1)/1000 as agent_down_time configured in seconds, this ends up being 2147483. This patch is required as passing a larger number causes this error: OverflowError: timeout is too large If a user currently has a value larger than (2^32 / 2 - 1)/1000 set, Neutron Server will fail to start and will print out a very helpful error message. Closes-Bug: #2028724 Change-Id: Ib5b943344cddbd468c00768461ba1ee00a2b4c58
This commit is contained in:
parent
de2494da5f
commit
6fef1e6525
@ -16,7 +16,12 @@ from neutron._i18n import _
|
||||
from neutron.common import _constants
|
||||
|
||||
AGENT_OPTS = [
|
||||
# The agent_down_time value can only be a max of INT_MAX (as defined in C),
|
||||
# where int is usually 32 bits. The agent_down_time will be passed to
|
||||
# eventlet in milliseconds and any number higher will produce an OverFlow
|
||||
# error. More details here: https://bugs.launchpad.net/neutron/+bug/2028724
|
||||
cfg.IntOpt('agent_down_time', default=75,
|
||||
max=((2**32 / 2 - 1) // 1000),
|
||||
help=_("Seconds to regard the agent as down; should be at "
|
||||
"least twice report_interval, to be sure the "
|
||||
"agent is down for good.")),
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
fixes:
|
||||
- |
|
||||
The config option ``agent_down_time`` is now limited to a maximum value of
|
||||
`2147483`, as neutron-server will fail to start if it is configured higher.
|
||||
See bug `2028724 <https://bugs.launchpad.net/neutron/+bug/2028724>`_ for more information.
|
Loading…
Reference in New Issue
Block a user