mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-06-14 10:20:31 +00:00
modify output format of rvitals leds
This commit is contained in:
@ -34,27 +34,26 @@ class OpenBMCSensorTask(ParallelNodesCommand):
|
||||
|
||||
def _get_beacon_info(self, beacon_dict, display_type='full'):
|
||||
|
||||
led_label = 'LEDs'
|
||||
info_list = []
|
||||
# display_type == 'full' for detailed output for 'rvitals leds' command
|
||||
# display_type == 'compact' for compact output for 'rbeacon stat' command
|
||||
if display_type == 'compact':
|
||||
info_list.append('Front:%s Rear:%s' % (beacon_dict.get('front_id'), beacon_dict.get('rear_id', 'N/A')))
|
||||
info_list.append('Front:%s Rear:%s' % (beacon_dict.get('front_id'), beacon_dict.get('rear_id', 'N/A')))
|
||||
return info_list
|
||||
info_list.append('Front . . . . . : Power:%s Fault:%s Identify:%s' %
|
||||
(beacon_dict.get('front_power', 'N/A'),
|
||||
beacon_dict.get('front_fault', 'N/A'),
|
||||
beacon_dict.get('front_id', 'N/A')))
|
||||
if (beacon_dict.get('fan0', 'N/A') == 'Off' and beacon_dict.get('fan1', 'N/A') == 'Off' and
|
||||
beacon_dict.get('fan2', 'N/A') == 'Off' and beacon_dict.get('fan3', 'N/A') == 'Off'):
|
||||
info_list.append('Front Fans . . : No LEDs On')
|
||||
else:
|
||||
info_list.append('Front Fans . . : fan0:%s fan1:%s fan2:%s fan3:%s' %
|
||||
(beacon_dict.get('fan0', 'N/A'), beacon_dict.get('fan1', 'N/A'),
|
||||
beacon_dict.get('fan2', 'N/A'), beacon_dict.get('fan3', 'N/A')))
|
||||
info_list.append('Rear . . . . . : Power:%s Fault:%s Identify:%s' %
|
||||
(beacon_dict.get('rear_power', 'N/A'),
|
||||
beacon_dict.get('rear_fault', 'N/A'),
|
||||
beacon_dict.get('rear_id', 'N/A')))
|
||||
|
||||
for i in range(4):
|
||||
info_list.append('%s Fan%s: %s' % (led_label, i, beacon_dict.get('fan' + str(i), 'N/A')))
|
||||
|
||||
led_types = ('Fault', 'Identify', 'Power')
|
||||
for i in ('Front', 'Rear'):
|
||||
for led_type in led_types:
|
||||
tmp_type = led_type.lower()
|
||||
if led_type == 'Identify':
|
||||
tmp_type = 'id'
|
||||
key_type = i.lower() + '_' + tmp_type
|
||||
info_list.append('%s %s %s: %s' % (led_label, i, led_type, beacon_dict.get(key_type, 'N/A')))
|
||||
|
||||
return info_list
|
||||
|
||||
|
||||
|
@ -1863,6 +1863,10 @@ sub parse_command_status {
|
||||
$next_status{LOGIN_RESPONSE} = "RVITALS_REQUEST";
|
||||
$next_status{RVITALS_REQUEST} = "RVITALS_RESPONSE";
|
||||
$status_info{RVITALS_RESPONSE}{argv} = "$subcommand";
|
||||
if ($subcommand eq "all") {
|
||||
$next_status{RVITALS_RESPONSE} = "RVITALS_LEDS_REQUEST";
|
||||
$next_status{RVITALS_LEDS_REQUEST} = "RVITALS_LEDS_RESPONSE";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4150,17 +4154,23 @@ sub rvitals_response {
|
||||
push (@sorted_output, $content_info);
|
||||
} else {
|
||||
# Full output for "rvitals leds" command
|
||||
$content_info = "Front . . . . . : Power:$leds{front_power} Fault:$leds{front_fault} Identify:$leds{front_id}";
|
||||
push (@sorted_output, $content_info);
|
||||
$content_info = "Rear . . . . . : Power:$leds{rear_power} Fault:$leds{rear_fault} Identify:$leds{rear_id}";
|
||||
push (@sorted_output, $content_info);
|
||||
# Fans
|
||||
if ($leds{fan0} =~ "Off" and $leds{fan1} =~ "Off" and $leds{fan2} eq "Off" and $leds{fan3} eq "Off") {
|
||||
$content_info = "Front Fans . . : No LEDs On";
|
||||
} else {
|
||||
$content_info = "Front Fans . . : fan0:$leds{fan0} fan1:$leds{fan1} fan2:$leds{fan2} fan3:$leds{fan3}";
|
||||
}
|
||||
push (@sorted_output, $content_info);
|
||||
my @front_rear = ("Front", "Rear");
|
||||
my @led_types = ("Power", "Fault", "Identify");
|
||||
foreach my $i (@front_rear) {
|
||||
foreach my $led_type (@led_types) {
|
||||
my $tmp_type = lc($led_type);
|
||||
$tmp_type = "id" if ($led_type eq "Identify");
|
||||
my $key_type = lc($i) . "_" . $tmp_type;
|
||||
$content_info = "LEDs $i $led_type: $leds{$key_type}";
|
||||
push (@sorted_output, $content_info);
|
||||
}
|
||||
}
|
||||
# Fans
|
||||
for (my $i = 0; $i < 4; $i++) {
|
||||
my $tmp_key = "fan" . $i;
|
||||
$content_info = "LEDs Fan$i: $leds{$tmp_key}";
|
||||
push (@sorted_output, $content_info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user