mirror of
https://github.com/xcat2/xcat-core.git
synced 2025-05-25 13:12:03 +00:00
114 lines
3.3 KiB
Perl
114 lines
3.3 KiB
Perl
#!/usr/bin/perl
|
|
# IBM(c) 2016 EPL license http://www.eclipse.org/legal/epl-v10.html
|
|
#-------------------------------------------------------
|
|
|
|
=head1
|
|
|
|
Provides more information related to an xCAT message
|
|
for z/VM. These are messages which are similar to the
|
|
following:
|
|
Warning (ZXCATIVP:VN01) Network VSW3 was not found as a network.
|
|
These message were originally added for the z/VM IVP and
|
|
are in the form:
|
|
<message type> (group:msgId) <msgText>
|
|
|
|
The information provided consists of:
|
|
Explanation of the message,
|
|
System Action, and
|
|
User Action.
|
|
|
|
=cut
|
|
|
|
#-------------------------------------------------------
|
|
package xCAT::zvmMsgs;
|
|
BEGIN
|
|
{
|
|
$::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : '/opt/xcat';
|
|
}
|
|
|
|
$XML::Simple::PREFERRED_PARSER='XML::Parser';
|
|
|
|
use Getopt::Long;
|
|
use lib "$::XCATROOT/lib/perl";
|
|
use Text::Wrap;
|
|
use xCAT::zvmMsgs;
|
|
use strict;
|
|
use warnings;
|
|
1;
|
|
|
|
# set the usage message
|
|
my $usage_string = "Usage:\n
|
|
$0 -h
|
|
$0 --help
|
|
$0 --group <group id> --id <msg id>\n
|
|
Use this script to display extra information for messages related
|
|
to z/VM that have the format:
|
|
<msgType> (<group>:<msgId>) <msgText>
|
|
for example:
|
|
Warning (ZXCATIVP:VN01) Network VSW3 was not found.\n
|
|
The following options are supported:
|
|
--group <group id>
|
|
specified the identifier of the group to which the message belongs.
|
|
The group id is the first part of the identifer, e.g.
|
|
'Warning (ZXCATIVP:VDS01)' belongs to the 'ZXCATIVP' group.
|
|
The group id is case sensitive. This operand should be specified
|
|
along with the --id operand.
|
|
-h | --help
|
|
Displays usage information.
|
|
--id <msg id>
|
|
specifies the message identifier. The message id is the second part
|
|
of the identifier, e.g. 'Warning (ZXCATIVP:VDS01)' where 'VDS01'
|
|
is the message id. The message identifier is case sensitive. This
|
|
operand should be specified along with the --group operand to fully
|
|
identify the message.\n";
|
|
|
|
#*****************************************************************************
|
|
# Main routine
|
|
#*****************************************************************************
|
|
# Parse the arguments
|
|
my $displayHelp = 0;
|
|
my $group = '';
|
|
my $msgId = '';
|
|
$Getopt::Long::ignorecase = 0;
|
|
Getopt::Long::Configure( 'bundling' );
|
|
|
|
if ( !GetOptions(
|
|
'h|help' => \$displayHelp,
|
|
'group=s' => \$group,
|
|
'id=s' => \$msgId,
|
|
)) {
|
|
print $usage_string;
|
|
goto FINISH;
|
|
}
|
|
|
|
if ( $displayHelp ) {
|
|
print $usage_string;
|
|
goto FINISH;
|
|
}
|
|
|
|
if ( $group eq '' ) {
|
|
print "--group operand was not specified.\n";
|
|
print $usage_string;
|
|
} elsif ( $msgId eq '' ) {
|
|
print "--id operand was not specified.\n";
|
|
print $usage_string;
|
|
} else {
|
|
my $extraInfo;
|
|
my $msg;
|
|
my $recAction;
|
|
my $sev;
|
|
( $recAction, $sev, $msg, $extraInfo ) = xCAT::zvmMsgs->buildMsg( $group, $msgId );
|
|
if ( $msg =~ ': Message was not found!' ) {
|
|
# Oops, we could not find the message.
|
|
print "$msg\n";
|
|
} else {
|
|
if ( $extraInfo ne '' ) {
|
|
print "Additional information for message $msgId in group $group:\n";
|
|
print "$extraInfo\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
FINISH:
|
|
exit;
|