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.
Conflicts:
neutron/conf/agent/database/agents_db.py
Closes-Bug: #2028724
Change-Id: Ib5b943344cddbd468c00768461ba1ee00a2b4c58
(cherry picked from commit 6fef1e6525
)
This commit is contained in:
parent
222c997022
commit
2c8076dd28
@ -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 is 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