[pve-devel] [PATCH manager 5/7] report: overhaul `dmidecode` related output

Mira Limbeck m.limbeck at proxmox.com
Thu Apr 18 12:24:45 CEST 2024


On 4/18/24 11:16, Alexander Zeidler wrote:
> While using keywords (-t bios,...) would be possible, depending on the
> server it also bloats the report with uninteresting information,
> hiding the relevant.
> 
> Therefore the non-grouped, specific number types are used. Where we
> only need specific information, not serial numbers etc., we print the
> information from /sys/... which is the same source that dmidecode uses
> per default.
> 
> New output includes:
> 
> sys_vendor:	HP
> product_name:	ProLiant DL380p Gen8
> product_version:	Not specified
Would it be possible to align these correctly, or just use a single
space between type and value?

>> and
> 
> board_vendor:	ASUSTeK COMPUTER INC.
> board_name:	Z13PP-D32 Series
> board_version:	60SB09M0-SB0G11
> 
> also because there are not always both data blocks available.
> 
> `-t 0`:
> (like the previous "BIOS" output, but without "BIOS Language" block)
> 
> `-t 3`:
> Chassis Information
> 	Manufacturer: HP
> 	Type: Rack Mount Chassis
> 	Boot-up State: Critical
> 	Power Supply State: Critical
> 	Thermal State: Safe
> 	Number Of Power Cords: 2
> 	(...)
> 
> and
> 
> `-t 32`:
> System Boot Information
> 	Status: Firmware-detected hardware failure
> 
> which can hint to Proxmox-independant issues, debug-able via IPMI.
> 
> Signed-off-by: Alexander Zeidler <a.zeidler at proxmox.com>
> ---
> v2:
> * reformat and extend board output
> * add product output
> * adapt dmidecode output
> 
> v1: https://lists.proxmox.com/pipermail/pve-devel/2024-March/062350.html
> 
> 
>  PVE/Report.pm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/Report.pm b/PVE/Report.pm
> index 1ed91c8e..9d1b9b27 100644
> --- a/PVE/Report.pm
> +++ b/PVE/Report.pm
> @@ -110,7 +110,9 @@ my $init_report_cmds = sub {
>  	hardware => {
>  	    order => 70,
>  	    cmds => [
> -		'dmidecode -t bios',
> +		'cd /sys/devices/virtual/dmi/id; grep -HT "" sys_vendor product_name product_version',
> +		'cd /sys/devices/virtual/dmi/id; grep -HT "" board_vendor board_name board_version',
I'd prefer explicit commands like:
cat /sys/devices/virtual/dmi/id/sys_vendor
cat /sys/devices/virtual/dmi/id/product_name
cat /sys/devices/virtual/dmi/id/product_version

This results in a few more lines in the report, since we have the
following structure:
# <command>
<output of command>
<newline>
# <command>
...

Adding at least one additional newline per file read, but there would be
no need for cd-ing, printing the filename with grep and trying to align
the output.

> +		'dmidecode -t 0,3,32',
>  		'lspci -nnk',
>  	    ],
>  	},




More information about the pve-devel mailing list