neutron should forbid configuring agent_down_time that is known to crash due to CPython epoll limitation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Lewis Denny | ||
oslo.service |
New
|
Undecided
|
Unassigned |
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.
```
This bug is applicable to all current versions of Neutron and can be reproduced on master devstack
Changed in neutron: | |
assignee: | nobody → Lewis Denny (lewisdenny) |
Hi,
Thanks for the report! I'm not really sure if we need to protect ourselves against an admin maintaining configuration, but at the same time I don't see a problem with the validation either. By the way let me link your patch here:
https:/ /review. opendev. org/c/openstack /neutron/ +/889373