Skip to content

pman startup

Rudolph Pienaar edited this page Mar 23, 2017 · 12 revisions

pman startup

Abstract

This page provides the startup instructions for pman, as well as what to expect/see once pman has started.

Startup

The pman service can be started either "on the metal" (i.e. assuming a local installation) or via a dockerized container.

Local installation "on the metal"

To start the pman service assuming a local installation, run

pman --rawmode 1 --http  --port 5010 --listeners 12

From a docker container

First, make sure that the latest version of the container is accessible;

docker pull fnndsc/pman

Then, if you are using a source repo, run the shadow helper script (with the same args) from the docker-bin dir -- note that this directory is in the repository source code. To use this command you must have cloned the repository and be in the base directory:

git clone https://github.com/FNNDSC/pman.git

and then

cd pman

followed by

docker-bin/pman --rawmode 1 --http  --port 5010 --listeners 12

If you don't have the source repository, you can simply run this:

docker run --name pman -v /home:/Users --rm -ti fnndsc/pman pman --rawmode 1 --http --port 5010 --listeners 12

see the in-line help or the overview for information on each of the passed flags

What to expect

When started as above, the terminal should display something like:

2017-03-03 21:07:29.214989 | <_MainThread(MainThread, started 140488191162112)> |                       __init__ | 
2017-03-03 21:07:29.215204 | <_MainThread(MainThread, started 140488191162112)> |                       __init__ | 
                +-----------------------------------------------+
                | Welcome to the pman process management system |
                +-----------------------------------------------+
        
2017-03-03 21:07:29.215493 | <_MainThread(MainThread, started 140488191162112)> |                       __init__ | 
        'pman' is a client/server system that allows users to monitor                                                                                                                                                                                        
        and control processes on (typically) Linux systems. Actual                                                                                                                                                                                           
        processes are spawned using the 'crunner' module and as such                                                                                                                                                                                         
        are ssh and HPC aware.                                                                                                                                                                                                                               

        The 'pman' server can be queried for running processes, lost/dead                                                                                                                                                                                    
        processes, exit status, etc.                                                                                                                                                                                                                         

        Communication from the 'pman' server is via JSON constructs. See the                                                                                                                                                                                 
        github page for more information.                                                                                                                                                                                                                    

        Typical calling syntax is:                                                                                                                                                                                                                           

                ./pman.py   --raw 1                 \                                                                                                                                                                                                        
                            --http                  \                                                                                                                                                                                                        
                            --ip <someIP>           \                                                                                                                                                                                                        
                            --port 5010             \                                                                                                                                                                                                        
                            --listeners <listeners>                                                                                                                                                                                                          

        
2017-03-03 21:07:29.215749 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |         Server is listening on
2017-03-03 21:07:29.216020 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |                              tcp://172.17.0.2:5010
2017-03-03 21:07:29.216291 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |                Router raw mode
2017-03-03 21:07:29.216554 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |                                                  1
2017-03-03 21:07:29.216823 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |        HTTP response back mode
2017-03-03 21:07:29.217085 | <_MainThread(MainThread, started 140488191162112)> |                     col2_print |                                                  1

Note in the above example the service is listening on host 172.17.0.2:5010 which will be used in all subsequent examples.

It is often useful to keep an eye on this terminal while using pman since this captures all logging that pman will typically perform. To direct logs to a file, start pman with

pman --raw 1 --http --port 5010 --listeners 12 --debugToFile --debugFile ~/pman.log

Note that it is a good idea to specify the log target with a directory prefix/specifier.

--30--