LLDP tests fail with construct error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic Inspector |
Fix Committed
|
Undecided
|
Bob Fournier |
Bug Description
The ironic-inspector LLDP tests are failing in master for py27 with the construct lib error below. This problem was not happening in Queens and appears to be due to change in construct lib. This was seen with construct==2.9.35.
Traceback (most recent call last):
ImportError: Failed to import test module: ironic_
Traceback (most recent call last):
File "/home/
module = self._get_
File "/home/
File "ironic_
from ironic_
File "ironic_
from ironic_
File "ironic_
from ironic_
File "ironic_
File "/home/
File "/home/
File "/home/
return select(sc.subcon)
File "/home/
return select(sc.subcon)
File "/home/
raise ConstructError(
ConstructError: Embedding only works with: Struct, Sequence, FocusedSeq, Union
The error is coming from this definition:
ChassisId = core.Struct(
'subtype' / core.Enum(
'value' /
core.
)
It looks like the behavior of "Embedded" has changed such that "Switch" can no longer be embedded in a Struct.
Changed in ironic-inspector: | |
status: | New → Confirmed |
Changed in ironic-inspector: | |
assignee: | nobody → Bob Fournier (bfournie) |
status: | Confirmed → Fix Committed |
Also saw this in a real environment using ironic-inspector @ master, with the lldp_basic and local_link_ connection plugins enabled. It prevented inspector from starting up. Disabling these plugins allowed inspector to start.