powerman.conf(5)
β¨ powerman.conf β the manual page, bestie edition β¨
okay so you're looking at the powerman.conf man page, which lives in the File Formats Manual section (5) of the manual. she's a config file for PowerMan and she's lowkey the main character of your whole power-control setup. let's get into it π
π NAME π
powerman.conf β the configuration file for PowerMan. that's it, that's the name, iconic behavior.
π¦ DESCRIPTION π¦
so like, the powerman.conf file typically includes one or more of the remote power controller (RPC) device files that ship in the /etc/powerman directory. it also sets a few global options, instantiates RPC devices with unique names + hostnames + ports, and maps node names to RPC's and plug numbers. it's giving project manager energy fr fr.
Network-attached RPC's get instantiated with device lines shaped like this:
device "name" "type" "host:port"
Serial-attached RPC's get instantiated with device lines shaped like this:
device "name" "type" "special file" "flags"
where special file is the full path to a tty device, and flags is a serial parameter specification in a form similar to the one lilo uses, e.g. "9600,8n1". π«Ά
and RPC's that you access via coprocesses get instantiated like this:
device "name" "type" "process |&"
where process is the full path to a process whose standard output and input will be controlled by powerman, e.g. "/usr/bin/conman -Q -j rpc0 |&". yes bestie, powerman is literally holding the reins of that process's stdin and stdout. no cap.
πΈ EXAMPLE πΈ
here's the moment you've all been waiting for β the following example is a 16-node cluster that uses two 8-plug Baytech RPC-3 remote power controllers. slay.
include "/etc/powerman/baytech.dev" # include def for "baytech" RPC
tcpwrappers yes # enable TCP wrappers
# listen "0.0.0.0:10101" # uncomment to listen on all interfaces
# plug_log_level "info" # uncomment to change syslog messages
# for plug state changes to level
# info (default level is debug)
# Alias example - alias can be used in target specifications
alias "pengra_service" "pengra[0-1]"
alias "pengra_compute" "pengra[2-15]"
# Power controller: device <name> <type> <hostname:port> [<flags>]
device "pow0" "baytech" "pow0:23" # instantiate pow0
device "pow1" "baytech" "pow1:23" # instantiate pow1
# Plugs: node <name> <device> [<plug>]
node "pengra[0-7]" "pow0" "[1-8]" # map pengra0...pengra7 to pow0 plug 1-8
node "pengra[8-15]" "pow1" "[1-8]" # map pengra8...pengra15 to pow1 plug 1-8
look at those aliases and bracket ranges. she ate and left no crumbs π
π FILES π
/etc/powerman/powerman.conf/etc/powerman/*.dev
π ORIGIN π
PowerMan was originally developed by Andrew Uselton on LLNL's Linux clusters. this software is open source and distributed under the terms of the GNU GPL. a legend, honestly. π
π₯ SEE ALSO π₯
and if you wanna go touch grass on the internet: http://github.com/chaos/powerman β
ok that's the whole page, you read all of it, I'm so proud of you π₯Ή go configure your RPC's, bestie. periodt. π
this has been powerman.conf(5) from powerman-2.4.4, dated 13 January 2012 β yes she's an elder but she still slays, mwah πβ¨
π¦ where this page comes from
- debian trixie: powerman 2.4.4-4
- epel 10: powerman 2.4.4-1.el10_2 Β· GPLv2+
- epel 9: powerman 2.4.4-1.el9 Β· GPLv2+
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: powerman 2.4.4-160000.2.2 Β· GPL-2.0-or-later
- ubuntu questing: powerman 2.4.4-5
- ubuntu resolute: powerman 2.4.4-5build1
- ubuntu stonking: powerman 2.4.4-5ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms