yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #92684
[Bug 2028724] [NEW] neutron should forbid configuring agent_down_time that is known to crash due to CPython epoll limitation
Public bug reported:
This bug is created to improve neutron to not allow configuring
agent_down_time to values that are known to misbehave because of
limitations of CPython C-types interface that doesn't seem to support
any values larger than (2^32 / 2 - 1) [in miliseconds] for green thread
waiting.
We can either truncate or error on invalid value (the former is probably
preferable).
Also, we may want to consider patching oslo.service (?) to apply similar
truncation for values passed through loopingcall module. If the library
is patched to do the truncation, then neutron enforcement won't be
needed.
To reproduce, set agent_down_time to a number larger than (2^32 / 2 - 1)/1000 and check the neutron server log for an error like:
```
05:28:58.327 39 ERROR oslo_service.threadgroup [req-39043291-6236-4d9b-a1e5-45b6cfc7eb2d - - - - -] Error waiting on thread.: OverflowError: timeout is too large
```
This bug is applicable to all current versions of Neutron and can be
reproduced on master devstack
** Affects: neutron
Importance: Undecided
Assignee: Lewis Denny (lewisdenny)
Status: New
** Affects: oslo.service
Importance: Undecided
Status: New
** Changed in: neutron
Assignee: (unassigned) => Lewis Denny (lewisdenny)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2028724
Title:
neutron should forbid configuring agent_down_time that is known to
crash due to CPython epoll limitation
Status in neutron:
New
Status in oslo.service:
New
Bug description:
This bug is created to improve neutron to not allow configuring
agent_down_time to values that are known to misbehave because of
limitations of CPython C-types interface that doesn't seem to support
any values larger than (2^32 / 2 - 1) [in miliseconds] for green
thread waiting.
We can either truncate or error on invalid value (the former is
probably preferable).
Also, we may want to consider patching oslo.service (?) to apply
similar truncation for values passed through loopingcall module. If
the library is patched to do the truncation, then neutron enforcement
won't be needed.
To reproduce, set agent_down_time to a number larger than (2^32 / 2 - 1)/1000 and check the neutron server log for an error like:
```
05:28:58.327 39 ERROR oslo_service.threadgroup [req-39043291-6236-4d9b-a1e5-45b6cfc7eb2d - - - - -] Error waiting on thread.: OverflowError: timeout is too large
```
This bug is applicable to all current versions of Neutron and can be
reproduced on master devstack
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2028724/+subscriptions
Follow ups