Open Garfunkl opened 6 months ago
Hi,
as a fellow supermicro user I can confirm that patch is needed.
if you have many, could you complain to supermicro of their incompetence so they finally start getting this right? You might wanna have some conditions that whatever is returned is value is in fact looking like a serial number (so [0-9A-F]{1,20} or something - don't have one to look at right now)
At least for us, it's probably not the fault of Supermicro. Supermicro doesn't sell its servers directly. We have to buy them from resellers, and on the bill, they show up with a custom serial from the reseller.
For example: A Supermicro server with the serial supermicro-xyz shows up as reseller-xyz. I think the resellers are supposed to set those serial numbers, but they nearly never do.
The "workaround" I proposed was to set the system serial number to the motherboard serial number if it is set to the default of "0123456789". Since the motherboard serial is set by Supermicro and is hopefully a unique identifier, this should resolve the issue.
Thank you @Garfunkl for the proposed solution. We are facing the same issue with the default serial number in many of our Supermicro servers and I took the liberty to pick you proposed solution and opened this pull request: https://github.com/Solvik/netbox-agent/pull/321 In this other pull request there is also a new command line option to update the serial number of existing servers, which we needed to update the old serial numbers with the new ones without removing the server object from Netbox: https://github.com/Solvik/netbox-agent/pull/320
Describe the bug On our Supermicro Servers there is nearly never a system or chassis serial number set. That leads to this error:
Expected behavior Maybe fall back to baseboard serial ?
Environment:
Additional context Working fix in my setup for netbox_agent/vendors/supermicro.py :