Manpages

NAME

powerman - power on/off nodes

SYNOPSIS

pm [-options] -action [targets] [-action [targets] ...]

DESCRIPTION

powerman provides power management in a data center or compute cluster environment. It performs operations such as power on, power off, and power cycle via remote power controller (RPC) devices. Target hostnames are mapped to plugs on RPC devices in powerman.conf(5).

OPTIONS

-1, --on targets

Power ON targets.

-0, --off targets

Power OFF targets.

-c, --cycle targets

Power cycle targets.

-r, --reset targets

Assert hardware reset for targets (if implemented by RPC).

-f, --flash targets

Turn beacon ON for targets (if implemented by RPC).

-u, --unflash targets

Turn beacon OFF for targets (if implemented by RPC).

-l, --list

List available targets. If possible, output will be compressed into a host range (see TARGET SPECIFICATION below).

-q, --query-all

Query plug status of all targets. Status is not cached; each time this option is used, powermand queries the appropriate RPC’s. Targets connected to RPC’s that could not be contacted (e.g. due to network failure) are reported as status "unknown". If possible, output will be compressed into host ranges.

-Q, --query targets

Query plug status of specific targets.

-n, --soft-all

Query soft power status of all targets (if implemented by RPC). In this context, a node in the OFF state could be ON at the plug but operating in standby power mode.

-N, --soft targets

Query soft power status of specific targets (if implemented by RPC).

-b, --beacon-all

Query beacon status of all targets (if implemented by RPC).

-B, --beacon targets

Query beacon status of specific targets (if implemented by RPC).

-t, --temp-all

Query node temperature of all targets (if implemented by RPC). Temperature information is not interpreted by powerman and is reported as received from the RPC on one line per target, prefixed by target name.

-P, --temp targets

Query node temperature of specific targets (if implemented by RPC).

-L, --license

Show powerman license information.

-h, --server-host host[:port]

Connect to a powerman daemon on non-default host and optionally port.

-V, --version

Display the powerman version number and exit.

-D, --device

Displays RPC status information. If targets are specified, only RPC’s matching the target list are displayed.

-T, --telemetry

Causes RPC telemetry information to be displayed as commands are processed. Useful for debugging device scripts.

-x, --exprange

Expand host ranges in query responses.

-g, --genders

If configured with the genders(3) package, this option tells powerman that targets are genders attributes that map to node names rather than the node names themselves.

TARGET SPECIFICATION

powerman target hostnames may be specified as comma separated or space separated hostnames or host ranges. Host ranges are of the general form: prefix[n-m,l-k,...], where n < m and l < k, etc., This form should not be confused with regular expression character classes (also denoted by ’’[]’’). For example, foo[19] does not represent foo1 or foo9, but rather represents a degenerate range: foo19.

This range syntax is meant only as a convenience on clusters with a prefixNN naming convention and specification of ranges should not be considered necessary -- the list foo1,foo9 could be specified as such, or by the range foo[1,9].

Some examples of powerman targets follows:

Power on hosts bar,baz,foo01,foo02,...,foo05
powerman --on bar baz foo[01-05]

Power on hosts bar,foo7,foo9,foo10
powerman --on bar,foo[7,9-10]

Power on foo0,foo4,foo5
powerman --on foo[0,4-5]

As a reminder to the reader, some shells will interpret brackets ([ and ]) for pattern matching. Depending on your shell, it may be necessary to enclose ranged lists within quotes. For example, in tcsh, the last example above should be executed as:
powerman --on "foo[0,4-5]"

FILES

/usr/bin/powerman
/usr/bin/pm

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.

SEE ALSO

powerman(1), powermand(8), httppower(8), plmpower(8), vpcd(8), powerman.conf(5), powerman.dev(5).

http://github.com/chaos/powerman