From 7a8ea3e88fe9ccc1d86339917304b7bd2a780b5a Mon Sep 17 00:00:00 2001 From: Dan V Date: Tue, 31 Mar 2026 22:50:33 +0200 Subject: [PATCH] fix: correct CPU and memory slot deduplication on HP ProLiant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - discovery.cpp: remove K_SERIAL emission from dmidecode CPU "ID" field (it is the CPUID instruction result, identical across matching processors in a multi-socket system, not a unique per-slot serial number) → upsert_part now falls through to K_SOCKET natural key, correctly inserting both "Proc 1" and "Proc 2" as separate records - discovery.cpp: skip memory slot blocks with missing or empty Locator (HP ProLiant firmware returns a phantom type-17 block with no Locator; this was causing a 19th slot record to be inserted with empty locator that could never be deduplicated on subsequent runs) Verified on HP ProLiant DL360 G7: cpu=2, cpu_slots=2, memory_sticks=12, memory_slots=18, disks=5, nics=4 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../roles/inventory-cli/files/inventory-cli | Bin 0 -> 161888 bytes .../device-inventory/src/client/discovery.cpp | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100755 orchestration/ansible/roles/inventory-cli/files/inventory-cli diff --git a/orchestration/ansible/roles/inventory-cli/files/inventory-cli b/orchestration/ansible/roles/inventory-cli/files/inventory-cli new file mode 100755 index 0000000000000000000000000000000000000000..1378df80e76869ccbef27107a1fd4cc85609eeec GIT binary patch literal 161888 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 I5s&Qu0n$y`?*IS* literal 0 HcmV?d00001 diff --git a/services/device-inventory/src/client/discovery.cpp b/services/device-inventory/src/client/discovery.cpp index 8483753..86028ea 100644 --- a/services/device-inventory/src/client/discovery.cpp +++ b/services/device-inventory/src/client/discovery.cpp @@ -486,6 +486,9 @@ std::vector Discovery::discover_memory_slots() { } for (auto& b : blocks17) { + // Skip blocks without a Locator — these are malformed/phantom HP firmware entries + if (!b.count("Locator") || b["Locator"].empty()) continue; + DiscoveredPart p; p.type_name = PTYPE_MEMORY_SLOT; @@ -579,8 +582,9 @@ std::vector Discovery::discover_cpus() { DiscoveredPart p; p.type_name = PTYPE_CPU; - if (b.count("ID") && b["ID"] != "Not Specified") - p.kv[K_SERIAL] = b["ID"]; + // Do NOT use dmidecode "ID" (CPUID family/model/stepping) as serial — + // it is identical across matching CPUs in multi-socket systems. + // Socket designation is the actual unique natural key. if (b.count("Version") && b["Version"] != "Not Specified") p.kv[K_NAME] = b["Version"]; if (b.count("Manufacturer") && b["Manufacturer"] != "Not Specified")