Skip to content

Running server_identifier on self provided hardware in Q30 chassis leads to completely illegal state(s) #31

@RegentOfOrigin

Description

@RegentOfOrigin

It's possible to purchase the non-HL chassis and provide our own motherboards, etc. However, this leads to a variety of illegal states:

/opt/45drives/tools/server_identifier: ipmitool fru command failed. IPMI is not present on this system. Attempting to pull info from DMI tables
Traceback (most recent call last):
  File "/opt/45drives/tools/server_identifier", line 992, in <module>
    main()
  File "/opt/45drives/tools/server_identifier", line 968, in main
    server["Alias Style"] = g_product_lut[server["Model"]][g_product_lut_idx["ALIAS_STYLE"]]
                            ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
KeyError: 'HomeLab-Default string'

caused by https://github.com/45Drives/tools/blame/master/tools/server_identifier#L709
dmi yields "Default string" for a lot of values, and it assumes HomeLab because I do not have an IPMI controller.

Then, if I manually add an entry for this key:

"HomeLab-Default string": [g_mobo_to_version_lut["Turbo"],0,2,"Q30","HOMELAB"],

dmap will fail, because:

/opt/45drives/tools/dmap: !! ERROR !! Invalid Chassis Size and Alias Style combination set in /etc/45drives/server_info/server_info.json
                          Valid Chassis Size Options for HOMELAB are: dict_keys(['HL15', 'HL4', 'HL8'])
                          You can manually edit this file by setting "Edit Mode": true
                          in /etc/45drives/server_info/server_info.json along with any other parameters

So I had to manually edit /etc/45drives/server_info/server_info.json to set "Alias Style" to "STORINATOR", which would have been relatively easily pre-determined just by the size.

Ideal outcome: Not having to manually edit the script or server_info.json after running server_identifier when using non-standard hardware.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions