pfcon startup - FNNDSC/pfcon GitHub Wiki

pfcon startup

WARNING THIS PAGE IS OBSOLETE!!!

Abstract

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

Startup

The pfcon 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 pfcon service assuming a local installation, run

pfcon --forever --httpResponse 

From a docker container

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

docker pull fnndsc/pfcon

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/pfcon.git

and then

cd pfcon

followed by

docker-bin/pfcon --forever --httpResponse

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

docker run --name pfcon -v /someDir:/store --rm -ti fnndsc/pfcon --forever --httpResponse

The host directory /someDir is mounted to /store in the container, which is also the base storage directory of the process.

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:



        __                
       / _|               
 _ __ | |_ ___ ___  _ __  
| '_ \|  _/ __/ _ \| '_ \ 
| |_) | || (_| (_) | | | |
| .__/|_| \___\___/|_| |_|
| |                       
|_|                       


                            Process-File-CONtroller

           A controller for processes and data -- part of the pf* family.

                              -- version 0.99.1 --

    'pfcon' is a module class and stand-alone app that provides a simple API (both
    programmatically and CLI-driven) to coordinate data transfers and process control
    to remote pfioh (for data transfer) and pman (for process management).
    

        
            +-----------------------------------------------------------+
            | NOTE THAT THIS SERVER DOES NOT CURRENTLY AUTHENTICATE AND |
            | WILL HONOR *ALL* DATA PUSH AND PROCESS CONTROL REQUESTS!  |
            +-----------------------------------------------------------+
              

                   Listening on address:                            10.17.24.163
                      Listening on port:                                    5005
                  Server listen forever:                                    True
                  Return HTTP responses:                                    True

		Internal data tree:
                           o---/
                               +---+
                                   o---service
                                   |   +---+
                                   |       o---pangea
                                   |       |   +---+
                                   |       |       o---compute
                                   |       |       |   +--baseURLpath       /api/v1/cmd/
                                   |       |       |   +--addr              10.17.24.163:5010
                                   |       |       |   +--status            undefined
                                   |       |       o---data
                                   |       |           +--baseURLpath       /api/v1/cmd/
                                   |       |           +--addr              10.17.24.163:5055
                                   |       |           +--status            undefined
                                   |       |           +---+
                                   |       |               o---storeAccess.tokenSet
                                   |       |               |   +--action            internalctl
                                   |       |               |   +---+
                                   |       |               |       o---meta
                                   |       |               |           +--var               key
                                   |       |               |           +--set               setKeyValueHere
                                   |       |               o---storeAccess.addrGet
                                   |       |        |          +--action            internalctl
                                   |       |        |          +---+
                                   |       |               |       o---meta
                                   |       |               |           +--compute           address
                                   |       |               |           +--var               storeAddress
                                   |       o---megalodon
                                   |           +---+
                                   |               o---compute
                                   |               |   +--baseURLpath       /api/v1/cmd/
                                   |               |   +--addr              10.23.131.164:5010
                                   |               |   +--status            undefined
                                   |               o---data
                                   |                   +--baseURLpath       /api/v1/cmd/
                                   |                   +--addr              10.23.131.164:5055
                                   |                   +--status            undefined
                                   |                   +---+
                                   |               |       o---storeAccess.tokenSet
                                   |               |       |   +--action            internalctl
                                   |               |       |   +---+
                                   |               |       |       o---meta
                                   |               |       |           +--var               key
                                   |               |       |           +--set               setKeyValueHere
                                   |               |       o---storeAccess.addrGet
                                   |               |           +--action            internalctl
                                   |               |           +---+
                                   |               |               o---meta
                                   |               |                   +--compute           address
                                   |               |                   +--var               storeAddress
                                   o---jobstatus
                                       +--organization      the tree is /jobstatus/<someKey>/info
                                       +--purpose           this structure keeps track of job status: pathPush/pull and compute.
                                       +---+
                                           o---info
                                               +--compute           statusString
                                               +--pullPath          statusString
                                               +--pushPath          statusString



	Waiting for incoming data...

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

--30--

⚠️ **GitHub.com Fallback** ⚠️