The master daemon, bpmaster, is the central part of BProc system. It runs on the front end machine. Once it is running, the slave nodes run the slave daemon, bpslave, to connect to the front end machine.
Every node in the BProc system has a node state associated with it. Functionally, BProc only really has two states: down and not down. Down means that a node is not connected to he master. In any of the other states it is. The other states are provided as a convenience for automated node setup systems.
When a node first connects to the master, the master daemon will run the script /etc/beowulf/node_up with the node number as an argument. While this script is running, the node is tagged as unavailable and the permissions are set so that only the superuser can run commands on it. If the script exits sucessfully, the node state will be set to up. If the permissions have not already been changed to something else, they will be set to execute permission for all. If the script fails, the node state will be set to error.
Nodes are down when they are NOT connected to the BProc master daemon. It is impossible to do anything to nodes via BProc when they are in this state. Manually setting a node's state to down will cause the master daemon to disconnect that node.
Unavailable is intended as a transitional state. The master daemon places the node in this state while the /etc/beowulf/node_up script is running.
If the /etc/beowulf/node_up script is successful, the master daemon will place the node in the up state.
If the /etc/beowulf/node_up script fails, the master daemon will place the node in the error state.