Skip to content

Machine Identification

In order to identify discovered machines with ones already in the database, Digital Rebar uses a matching process called whoami. This process uses drpcli machines whoami to create a fingerprint based on several criteria about the machine stored in the Machine.Fingerprint array. The API then scores the fingerprint against known machine fingerprints. If a match is found, then the API returns the machines UUID.

Fingerprint Match Criteria

dr-provision determines whether a fingerprint generated by whoami matches a saved fingerprint using a scoring system. The highest score equal to or greater than 100 wins. The follow items compose a machine fingerprint and other properties. Each has a different contribution to the matching score.

  • 25 points if the Machine has an SSNHash that matches the one in the Whoami. SSNHash is a hash of the DMI system manufacturer, the DMI system product name, and the DMI system serial number.
  • 25 points if the Machine has a CSNHash that matches the one in the Whoami. SSNHash is a hash of the DMI system manufacturer, the DMI system product name, and the first DMI chassis serial number.
  • 50 points if the Machine has a SystemUUID that matches the one in the Whoami. SystemUUID is the DMI provided system UUID.
  • 0 to 100 points varying depending on how many memory DIMM IDs from the machine fingerprint are present in Whoami. Memory DIMM ids are calculated by hashing the memory manufacturer, memory part number, and memory serial number of each DIMM in the system.
  • 0 to 100 points varying depending on how many HardwareAddrs from the Machine are present in Whoami.
  • 1000 points if the machine UUID matches OnDiskUUID
  • 500 points if Cloud Type & Cloud ID matches from cloud-init JSON spec.