Nomad: Use dmidecode as fallback source of cpu_total_compute

Created on 30 Apr 2018  路  4Comments  路  Source: hashicorp/nomad

ARM chipsets sparsely populate /proc/cpuinfo and often cause cpu_total_compute fingerprinting to fail.

dmidecode is a viable fallback when /proc/cpuinfo does not contain the necessary information:

$ dmidecode -t 4

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0400, DMI type 4, 42 bytes
Processor Information
    Socket Designation: CPU 0
    Type: Central Processor
    Family: Other
    Manufacturer: QEMU
    ID: 00 00 00 00 00 00 00 00
    Version: 1.0
    Voltage: Unknown
    External Clock: Unknown
    Max Speed: 2000 MHz
    Current Speed: 2000 MHz
    Status: Populated, Enabled
    Upgrade: Other
    L1 Cache Handle: Not Provided
    L2 Cache Handle: Not Provided
    L3 Cache Handle: Not Provided
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    Core Count: 1
    Core Enabled: 1
    Thread Count: 1
    Characteristics: None

...

See https://github.com/hashicorp/nomad/issues/2638#issuecomment-385239401 for details and thanks to @balupton for the suggestion!

themclient themfingerprint themplatform-arm typenhancement

Most helpful comment

Note that you can work around this issue by using the cpu_total_compute configuration for compute elements that miscalculate. This will override the fingerprinter in cases where it can't calculate properly.

All 4 comments

Is anyone working on this?

Note that you can work around this issue by using the cpu_total_compute configuration for compute elements that miscalculate. This will override the fingerprinter in cases where it can't calculate properly.

Has this made it into 1.0.0 GA ? I assume not, as I am hitting this on an aarch64 VM of CentOS 7.
(setting the cpu_total_compute value works, but 馃槥 )

Hi @shantanugadgil. No this didn't land in 1.0

Was this page helpful?
0 / 5 - 0 ratings