Spurious race conditions detected white-/black-listing MAC addresses in dnsmasq PXE filter
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic Inspector |
Fix Released
|
High
|
Ruby Loo |
Bug Description
The discovery job has following traces in the log:
Jan 02 16:15:14.042391 ubuntu-
Jan 02 16:15:14.043413 ubuntu-
Jan 02 16:17:06.035076 ubuntu-
Jan 02 16:17:06.035439 ubuntu-
This doesn't seem correct since there's just a single instance of ironic-inspector running.
Even worse, the MAC address won't be blacklisted after the node discovery:
Jan 02 16:18:20.481513 ubuntu-
Jan 02 16:18:21.423341 ubuntu-
The patch that introduced this behaviour: I2f7b8d3172f375
Changed in ironic-inspector: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in ironic-inspector: | |
assignee: | nobody → Julia Kreger (juliaashleykreger) |
Changed in ironic-inspector: | |
assignee: | Julia Kreger (juliaashleykreger) → Ruby Loo (rloo) |
This appears to actually be differing behavior vs python 2.7 and python 3.x.
https:/ /github. com/python/ cpython/ blob/2. 7/Objects/ fileobject. c#L1820 basically always returns NoneType, however the code was written to expect a return value, which only works in python3.
Errors in python2 should become io errors, so the try/catch should still raise them without issues if we remove the python3 specific behavior.