Hi PaulB. I can comment on this one. That column 'fw_version' is set to a limit of 32 characters. beaker/Server/bkr/server/model/inventory.py 2526 fw_version = Column(Unicode(32)) Verify by running lshw on the system in question and checking that the version info under the firmware node is longer than 32 characters. Thanks Shawn.
(In reply to sdoherty from comment #4) > Hi PaulB. I can comment on this one. > That column 'fw_version' is set to a limit of 32 characters. > > beaker/Server/bkr/server/model/inventory.py > 2526 fw_version = Column(Unicode(32)) > > Verify by running lshw on the system in question and checking that the > version info under the firmware node is longer than 32 characters. > > Thanks > Shawn. All, lshw is showing this: ---<-snip->--- *-firmware description: BIOS vendor: Huawei Corp. physical id: 1 version: Hisilicon D06 UEFI RC0 - B051 (V0.51) date: 08/28/2018 size: 516KiB capacity: 4MiB capabilities: pci upgrade shadowing cdboot bootselect edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi ---<-snip->--- The line is question is: version: Hisilicon D06 UEFI RC0 - B051 (V0.51) Hisilicon D06 UEFI RC0 - B051 (V0.51) is 37 characters Best, -pbunyan
(In reply to PaulB from comment #5) > > The line is question is: > version: Hisilicon D06 UEFI RC0 - B051 (V0.51) > > Hisilicon D06 UEFI RC0 - B051 (V0.51) is 37 characters > > > Best, > -pbunyan Sadly, I think this is the issue, I cannot think of a way around this other than expanding that column. Which is kind of a shame that Huawei seems to be the only vendor that is naming version info in that way.
Yeah unfortunately that field is free text in SMBIOS and it seems the vendors are not consistent at all in what they put in there. In theory we could make Beaker (or rather lshw) manipulate the strings to try and make them more consistent or sensible... but it's probably not a road we want to go down. Better for Beaker to just record exactly whatever string appears in SMBIOS to make it easier to search for later. In the SMBIOS spec this field is "BIOS Version" (offset 5 in the type 0 block) which is a variable-length string, so the length is effectively unlimited apart from the overall SMBIOS block limit of 64KB. I think we originally picked 32 characters more or less arbitrarily, because it seemed unlikely there would be any version strings longer than that. We could expand it to be... some larger size. Since that field participates in the table's unique constraint, the largest we can make it is VARCHAR(241) due to MySQL's limit of 3072 bytes for composite indexes. That should be plenty big enough. (Although, now that I think about it, that field doesn't really belong in the unique constraint... but that's an issue for a separate bug I guess.)
https://gerrit.beaker-project.org/#/c/beaker/+/6299
Beaker 26.0 has been released.