=head1 NAME

B<pasu> - run the ASU to many nodes in parallel

=head1 SYNOPSIS

B<pasu> [B<-V>] [B<-d>] [B<-n>] [B<-l> I<user>] [B<-p> I<passwd>] [B<-f> I<fanout>] [B<-i> I<hostname-suffix>] I<noderange> I<command>

B<pasu> [B<-V>] [B<-d>] [B<-n>] [B<-l> I<user>] [B<-p> I<passwd>] [B<-f> I<fanout>] [B<-i> I<hostname-suffix>] B<-b> I<batchfile> I<noderange>

B<pasu> [B<-h> | B<--help>]

=head1 DESCRIPTION

The B<pasu> command runs the ASU command in out-of-band mode in parallel to multiple nodes.  Out-of-band mode means
that ASU connects from the xCAT management node to the IMM (BMC) of each node to set or query the ASU settings.  To
see all of the ASU settings available on the node, use the "show all" command.  To query or set multiple values,
use the B<-b> (batch) option.  To group similar output from multiple nodes, use L<xcoll(1)|xcoll.1>.

Before running B<pasu>, you must install the ASU RPM from IBM.  You can download it from the IBM Fix Central site.
You also must configure the IMMs properly according to xCAT documentation.  Run "B<rpower> I<noderange> B<stat>"
to confirm that the IMMs are configured properly.

=head1 OPTIONS

=over 10

=item B<-n|--nonodecheck>

Do not send the noderange to xcatd to expand it into a list of nodes.  Use the noderange exactly as it is specified
to pasu.  In this case, the noderange must be a simple list of comma-separated hostnames of the IMMs.

=item B<-l|--loginname> I<username>

The username to use to connect to the IMMs.  If not specified, the row in the xCAT B<passwd> table with key "ipmi"
will be used to get the username.

=item B<-p|--passwd> I<passwd>

The password to use to connect to the IMMs.  If not specified, the row in the xCAT passwd table with key "ipmi"
will be used to get the password.

=item B<-f|--fanout>

How many processes to run in parallel simultaneously.  The default is 64.  You can also set the XCATPSHFANOUT
environment variable.

=item B<-b|--batch> -I<batchfile>

A simple text file that contains multiple ASU commands, each on its own line.

=item B<-d|--donotfilter>

By default, pasu filters out (i.e. does not display) the standard initial output from ASU:

 IBM Advanced Settings Utility version 9.30.79N
 Licensed Materials - Property of IBM
 (C) Copyright IBM Corp. 2007-2012 All Rights Reserved
 Connected to IMM at IP address node2-imm

If you want this output to be displayed, use this flag.

=item B<-i|--interface> I<hostname-suffix>

The hostname suffix to be appended to the node names.  

=item B<-V|--verbose>

Display verbose messages.

=item B<-h|--help>

Display usage message.

=back

=head1 RETURN VALUE

0  The command completed successfully.

1  An error has occurred.

=head1 EXAMPLES

=over 3

=item 1.

To display the Com1ActiveAfterBoot setting on 2 nodes:

 pasu node1,node2 show DevicesandIOPorts.Com1ActiveAfterBoot

Output is similar to:

   node1: DevicesandIOPorts.Com1ActiveAfterBoot=Enable
   node2: DevicesandIOPorts.Com1ActiveAfterBoot=Enable

=item 2.

To display the Com1ActiveAfterBoot setting on all compute nodes:

 pasu compute show DevicesandIOPorts.Com1ActiveAfterBoot | xcoll

Output is similar to:

   ====================================
   compute
   ====================================
   DevicesandIOPorts.Com1ActiveAfterBoot=Enable

=item 3.

To set several settings on all compute nodes, create a batch file
called (for example) asu-settings with contents:

 set DevicesandIOPorts.Com1ActiveAfterBoot Enable
 set DevicesandIOPorts.SerialPortSharing Enable
 set DevicesandIOPorts.SerialPortAccessMode Dedicated
 set DevicesandIOPorts.RemoteConsole Enable

Then run:

 pasu -b asu-settings compute | xcoll

Output is similar to:

   ====================================
   compute
   ====================================
   Batch mode start.
   [set DevicesandIOPorts.Com1ActiveAfterBoot Enable]
   DevicesandIOPorts.Com1ActiveAfterBoot=Enable

   [set DevicesandIOPorts.SerialPortSharing Enable]
   DevicesandIOPorts.SerialPortSharing=Enable

   [set DevicesandIOPorts.SerialPortAccessMode Dedicated]
   DevicesandIOPorts.SerialPortAccessMode=Dedicated

   [set DevicesandIOPorts.RemoteConsole Enable]
   DevicesandIOPorts.RemoteConsole=Enable

   Beginning intermediate batch update.
   Waiting for command completion status.
   Command completed successfully.
   Completed intermediate batch update.
   Batch mode competed successfully.

=item 4.

To confirm that all the settings were made on all compute nodes, create a batch file
called (for example) asu-show with contents:

 show DevicesandIOPorts.Com1ActiveAfterBoot
 show DevicesandIOPorts.SerialPortSharing
 show DevicesandIOPorts.SerialPortAccessMode
 show DevicesandIOPorts.RemoteConsole

Then run:

 pasu -b asu-show compute | xcoll

Output is similar to:

   ====================================
   compute
   ====================================
   Batch mode start.
   [show DevicesandIOPorts.Com1ActiveAfterBoot]
   DevicesandIOPorts.Com1ActiveAfterBoot=Enable

   [show DevicesandIOPorts.SerialPortSharing]
   DevicesandIOPorts.SerialPortSharing=Enable

   [show DevicesandIOPorts.SerialPortAccessMode]
   DevicesandIOPorts.SerialPortAccessMode=Dedicated

   [show DevicesandIOPorts.RemoteConsole]
   DevicesandIOPorts.RemoteConsole=Enable

   Batch mode competed successfully.

=back

=head1 FILES

/opt/xcat/bin/pasu

=head1 SEE ALSO

L<noderange(3)|noderange.3>, L<rpower(1)|rpower.1>, L<xcoll(1)|xcoll.1>

