pod-info — Shows information about PoD and PROOF workers.


pod-info (1) general options (2) information options (3) connection options

(1) [-h, --help] [-v, --version] [-d, --debug] [-b, --batch]
(2) [[-c, --connection_string] | [-l, --list] | [-n, --number] | [-s, --status] | [--xpdPid] | [--xpdPort] | [--agentPid] | [--agentPort]]
(3) [--remote arg] [--remote_path arg] [--ssh_opt arg] [--ssh_open_domain arg]


One can use pod-info to retrieve different kinds of information about and from PoD. For example pod-info could help to find out whether PoD server running or not, how many PROOF workers are already online and which exactly. Please see the section called “Options” to find out all kinds of information pod-info can retrieve and show.

By default pod-info tries to find and connect to a local PoD server. A PoD server considered to be a local one if the pod-info and the PoD server run under the same user id. It could be the same machine or different machines but with a shared home file system. If none of local PoD servers are detected, pod-info will check for any PoD server managed by the pod-remote(1) command and will connect to the server if found.

When you want to retrieve information about remote PoD servers, than you need to use the --remote option. Using this option you can specify an ssh connection string, where a remote PoD server is running. The pod-info command will first try to find the running PoD server on that host and than process user requests on that server. In the section called “Examples” you will find some use cases.

The pod-info utility exits 0 on success, and >0 if an error occurs.


-h, --help

Produce help message.

-v, --version

Version information.

-d, --debug

Show debug messages. This option enables a debug mode and helps in some cases to understand what is going wrong.

-b, --batch

Enable the batch mode. For example, in case when the --remote option also used, than there will be no password prompts or any interaction with a user. The utility will try to use SSH public key authentication and will fail if it's not working.

The batch mode is very useful, when pod-info is used in a ROOT/PROOF script to retrieve a connection string (see Example 10.3, “PROOF connection string”). In this case you want pod-info to return either a PROOF connection string or an empty string in case of an error and no prompts of any kind.

-c, --connection_string

Show a PROOF connection string, which could be passed to the TProof::Open method as an argument (see Example 10.3, “PROOF connection string”).

-l, --list

List all available PROOF workers.

-n, --number

Report a number of currently available PROOF workers.

-s, --status

Show PoD server status.

--remote arg

A connection string in form of user@host.fqdn. Directs pod-info to use SSH to detect and connect to a remote PoD server.

--remote_path arg

A working directory of the remote PoD server. It is very important either to write an explicit path or use quotes, so that shell will not substitute local variable in the remote path. (default: ~/.PoD/)

--ssh_opt arg

If needed, users can provide additional SSH options, which will be used by pod-info in all SSH communications.

--ssh_open_domain arg

The --ssh_open_domain is in development. So far pod-info can only work with remote PoD servers which are at least directly accessible via SSH.

The name of a third party machine open to the outside world and from which direct connections to the server are possible. The optional argument, can be used when PoD server machine is not directly accessible from outside via SSH.


Example 10.1. PoD version information

pod-info -v

Get PoD version from a remote PoD server on the machine server.fqdn (it could be also on a shared home file system there):

pod-info --remote user@server.fqdn -v

Example 10.2. available PROOF workers

a number of workers:

pod-info -n

the same from the remote PoD server:

pod-info --remote user@server.fqdn -n

a list of workers:

pod-info -l

or all together:

pod-info -nl

Example 10.3. PROOF connection string

pod-info -c

the same from the remote PoD server:

pod-info --remote user@server.fqdn -c

or if the remote server has a non-default working folder:

pod-info --remote user@server.fqdn --remote_path "~/pod/work_dir/" -c

use this command in a ROOT script or your analysis code directly:

TProof::Open(gSystem->GetFromPipe("pod-info -c"));

with a remote PoD server:

TProof::Open(gSystem->GetFromPipe("pod-info --remote user@server.fqdn -c -b"));

note, that we use the -b option, because we can't have any prompt in out ROOT script and therefore the call to pod-info must be silent. Since it will return an empty string in case of failure, users may want to check:

std::string url(gSystem->GetFromPipe("pod-info --remote user@server.fqdn -c -b"));
if( url.empty() )
   // PoD server is not running
   // print out an error message...
   return 1;
TProof::Open( url.c_str() );

Example 10.4. PoD server status

pod-info -s

the same from the remote PoD server:

pod-info --remote user@server.fqdn -s