_mint_image_boot_medium_disk() aus backend.sh nach scripts/lib/boot_medium.sh verschoben (tuxflotte_boot_medium_disk()) - build_storage_devices_json() (hardware_collectors.sh) braucht dieselbe Ausschluss-Logik jetzt ebenfalls. Nutzer-Feedback (01.09.2026, echter Hardware-Test): der Installations- USB-Stick selbst tauchte in der Kundenplattform unter Flotte -> Aktionen -> Hardware-Info -> Datenträger auf - fuer den Kunden irrefuehrend, da dieser Datentraeger nach der Installation gar nicht mehr existiert. Gleiche Ursache wie der parted-Bug (Commit fa54461): lsblk liefert das Boot-Medium auf echter USB-Stick-Hardware als normalen TYPE="disk" zurueck.
74 lines
2.2 KiB
Bash
74 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
get_cpu_model() {
|
|
awk -F: '
|
|
$1 ~ /^model name[[:space:]]*$/ {
|
|
value = $2
|
|
sub(/^[[:space:]]*/, "", value)
|
|
print value
|
|
exit
|
|
}
|
|
' /proc/cpuinfo
|
|
}
|
|
|
|
get_cpu_count() {
|
|
getconf _NPROCESSORS_ONLN
|
|
}
|
|
|
|
get_memory_bytes() {
|
|
awk '
|
|
$1 == "MemTotal:" {
|
|
print $2 * 1024
|
|
exit
|
|
}
|
|
' /proc/meminfo
|
|
}
|
|
|
|
# Live gefunden (01.09.2026, echter Hardware-Test): auf einem echten
|
|
# USB-Stick enumeriert das Boot-Medium selbst als normales "disk"-
|
|
# Blockgeraet (siehe tuxflotte_boot_medium_disk() in boot_medium.sh) - ohne
|
|
# Ausschluss tauchte der Installations-Stick selbst in der an den Server
|
|
# gemeldeten Datentraeger-Liste auf und war dort fuer den Kunden
|
|
# irrefuehrend sichtbar (Hardware-Info in der Kundenplattform).
|
|
build_storage_devices_json() {
|
|
local boot_medium_disk boot_medium_name
|
|
|
|
boot_medium_disk="$(tuxflotte_boot_medium_disk 2>/dev/null || true)"
|
|
boot_medium_name="${boot_medium_disk#/dev/}"
|
|
|
|
lsblk \
|
|
--bytes \
|
|
--json \
|
|
--nodeps \
|
|
--output NAME,TYPE,MODEL,SERIAL,SIZE,TRAN |
|
|
jq --arg exclude "${boot_medium_name}" '
|
|
[
|
|
.blockdevices[]
|
|
| select(.type == "disk")
|
|
| select($exclude == "" or .name != $exclude)
|
|
| {
|
|
name: .name,
|
|
model: (
|
|
if .model == null or .model == ""
|
|
then null
|
|
else (.model | gsub("^[[:space:]]+|[[:space:]]+$"; ""))
|
|
end
|
|
),
|
|
serial: (
|
|
if .serial == null or .serial == ""
|
|
then null
|
|
else (.serial | gsub("^[[:space:]]+|[[:space:]]+$"; ""))
|
|
end
|
|
),
|
|
size_bytes: .size,
|
|
transport: (
|
|
if .tran == null or .tran == ""
|
|
then null
|
|
else .tran
|
|
end
|
|
)
|
|
}
|
|
]
|
|
'
|
|
}
|