=head1 Name B - display the running status of each node in a noderange =head1 B B [I] [I<-m>|I<--usemon>] [I<-p>|I<--powerstat>] [I<-u>|I<--updatedb>] B [I<-h>|I<--help>|I<-v>|I<--version>] =head1 B B displays and optionally updates the database the running status of a single or range of nodes or groups. See L. By default, it works as following: 1. gets the sshd,pbs_mom,xend port status; 2. if none of them are open, it gets the fping status; 3. for pingable nodes that are in the middle of deployment, it gets the deployment status; 4. for non-pingable nodes, it shows 'noping'. When -m is specified and there are settings in the monsetting table, it displays the status of the applications specified in the monsetting table. When -p is specified it shows the power status for the nodes that are not pingable. When -u is specified it saves the status info into the xCAT database. Node's pingable status and deployment status is saved in the nodelist.status column. Node's application status is saved in the nodelist.appstatus column. To specify settings in the B table, use 'xcatmon' as the name, 'apps' as the key and the value will be a list of comma separated list of application names. For each application, you can specify the port number that can be queried on the nodes to get the running status. Or you can specify a command that can be called to get the node status from. The command can be a command that can be run locally at the management node or the service node for hierarchical cluster, or a command that can be run remotely on the nodes. The following is an example of the settings in the B table: name key value xcatmon apps ssh,ll,gpfs,someapp xcatmon gpfs cmd=/tmp/mycmd,group=compute,group=service xcarmon ll port=9616,group=compute xcatmon someapp dcmd=/tmp/somecmd Keywords to use: apps -- a list of comma separated application names whose status will be queried. For how to get the status of each app, look for app name in the key filed in a different row. port -- the application daemon port number, if not specified, use internal list, then /etc/services. group -- the name of a node group that needs to get the application status from. If not specified, assume all the nodes in the nodelist table. To specify more than one groups, use group=a,group=b format. cmd -- the command that will be run locally on mn or sn. lcmd -- the command that will be run the the mn only. dcmd -- the command that will be run distributed on the nodes using xdsh .... For commands specified by 'cmd' and 'lcmd', the input of is a list of comma separated node names, the output must be in the following format: node1:string1 node2:string2 ... For the command specified by 'dcmd', no input is needed, the output can be a string. =head1 B =over 10 =item B<-m>|B<--usemon> Uses the settings from the B talbe to determine a list of applications that need to get status for. =item B<-p>|B<--powerstat> Gets the power status for the nodes that are 'noping'. =item B<-u>|B<--updatedb> Updates the status and appstatus columns of the nodelist table with the returned running status from the given nodes. =item B<-v>|B<--version> Print version. =item B<-h>|B<--help> Print help. =back =head1 B 1. nodestat compute node1 ping,sshd node2 ping,sshd node3 ping node4 ping,pbs node5 noping 2. nodestat compute -p node1 ping,sshd node2 ping,sshd node3 ping node4 ping,pbs node5 noping(Shutting down) 3. nodeset compute -u node1 ping,sshd node2 ping,sshd node3 ping node4 netboot node5 noping 4. nodeset compute -m node1 ping,sshd,ll,gpfs=ok node2 ping,sshd,ll,gpfs=not ok,someapp=something is wrong node3 netboot node4 noping =head1 B B L, L, L