diff --git a/lib/bash/collect_system_info.sh b/lib/bash/collect_system_info.sh index 20a3753f..ecf4a75f 100644 --- a/lib/bash/collect_system_info.sh +++ b/lib/bash/collect_system_info.sh @@ -176,18 +176,21 @@ fio_status_minus_a () { print "${adapter}_modules @connected_modules"; for my $module (@connected_modules) { - my ($attached, $general, $firmware, $temperature, $media_status) = / + my ($rest, $attached, $general, $firmware, $temperature, $media_status) = /( ^ \s* $module \s+ (Attached[^\n]+) \n \s+ ([^\n]+) \n # All the second line .+? (Firmware\s+[^\n]+) \n .+? (Internal \s+ temperature:[^\n]+) \n - .+? ((?:Media | Reserve \s+ space) \s+ status:[^\n]+) - /xsm; + .+? ((?:Media | Reserve \s+ space) \s+ status:[^\n]+) \n + .+?(?:\n\n|\z) + )/xsm; + my ($pbw) = $rest =~ /.+?(Rated \s+ PBW:[^\n]+)/xsm; print "${adapter}_${module}_attached_as $attached"; print "${adapter}_${module}_general $general"; print "${adapter}_${module}_firmware $firmware"; print "${adapter}_${module}_media_status $media_status"; print "${adapter}_${module}_temperature $temperature"; + print "${adapter}_${module}_rated_pbw $pbw" if $pbw; } } while <>; diff --git a/lib/bash/report_system_info.sh b/lib/bash/report_system_info.sh index c6fcb9c1..1a10bd78 100644 --- a/lib/bash/report_system_info.sh +++ b/lib/bash/report_system_info.sh @@ -903,6 +903,9 @@ report_fio_minus_a () { name_val "" "$(get_var "${adapter}_${module}_firmware" "$file")" name_val "" "$(get_var "${adapter}_${module}_temperature" "$file")" name_val "" "$(get_var "${adapter}_${module}_media_status" "$file")" + if [ "$(get_var "${adapter}_${module}_rated_pbw" "$file")" ]; then + name_val "" "$(get_var "${adapter}_${module}_rated_pbw" "$file")" + fi local NAME_VAL_LEN=$name_val_len_orig; done done diff --git a/t/lib/bash/collect_system_info.sh b/t/lib/bash/collect_system_info.sh index 9cecde90..c8bded5d 100644 --- a/t/lib/bash/collect_system_info.sh +++ b/t/lib/bash/collect_system_info.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -plan 40 +plan 44 PT_TMPDIR="$TEST_PT_TMPDIR" PATH="$PATH:$PERCONA_TOOLKIT_SANDBOX/bin" @@ -314,9 +314,9 @@ test_dmidecode_system_info "$PT_TMPDIR/dmidecode_system_info" # fio_status_minus_a -for i in $( seq 1 3 ); do +for i in $( seq 1 4 ); do fake_command "fio-status" "\"; cat $samples/fio-status-00${i}.txt; echo \"" fio_status_minus_a "$PT_TMPDIR/got" no_diff "$PT_TMPDIR/got" "$samples/Linux/004/fio-00$i" "fio_status_minus_a works for fio-status-00${i}.txt" -done \ No newline at end of file +done diff --git a/t/lib/bash/report_system_info.sh b/t/lib/bash/report_system_info.sh index 6f7d384d..77201727 100644 --- a/t/lib/bash/report_system_info.sh +++ b/t/lib/bash/report_system_info.sh @@ -1661,11 +1661,13 @@ Dual Controller Adapter | Fusion-io ioDrive2 Duo 2.41TB, Product Number:F01-001- | Firmware v7.0.0, rev 107322 Public | Internal temperature: 51.68 degC, max 58.08 degC | Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% + | Rated PBW: 17.00 PB, 98.41% remaining fct1 | Attached as 'fiob' (block device) | SN:1150D0121-1111 | Firmware v7.0.0, rev 107322 Public | Internal temperature: 46.76 degC, max 51.19 degC | Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% + | Rated PBW: 17.00 PB, 98.95% remaining EOF report_fio_minus_a "$samples/Linux/004/fio-004" > "$PT_TMPDIR/got" diff --git a/t/pt-summary/samples/Linux/004/fio-004 b/t/pt-summary/samples/Linux/004/fio-004 index 768bf623..cbf58bdc 100644 --- a/t/pt-summary/samples/Linux/004/fio-004 +++ b/t/pt-summary/samples/Linux/004/fio-004 @@ -6,10 +6,12 @@ Dual:Controller:Adapter::0_fct0_general SN:1150D0121-1121 Dual:Controller:Adapter::0_fct0_firmware Firmware v7.0.0, rev 107322 Public Dual:Controller:Adapter::0_fct0_media_status Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% Dual:Controller:Adapter::0_fct0_temperature Internal temperature: 51.68 degC, max 58.08 degC +Dual:Controller:Adapter::0_fct0_rated_pbw Rated PBW: 17.00 PB, 98.41% remaining Dual:Controller:Adapter::0_fct1_attached_as Attached as 'fiob' (block device) Dual:Controller:Adapter::0_fct1_general SN:1150D0121-1111 Dual:Controller:Adapter::0_fct1_firmware Firmware v7.0.0, rev 107322 Public Dual:Controller:Adapter::0_fct1_media_status Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00% Dual:Controller:Adapter::0_fct1_temperature Internal temperature: 46.76 degC, max 51.19 degC +Dual:Controller:Adapter::0_fct1_rated_pbw Rated PBW: 17.00 PB, 98.95% remaining adapters Dual:Controller:Adapter::0