* Add option to not maintain persistent connections to RPC's, e.g. log out after a timeout period and login again at the next command. * Store scripts in a list and search the list for the script name, rather than hard code the list. Make it possible to execute arbitrary scripts that are device specific, e.g. "pm --script scriptname". * Power sequencing. Provide a way of expressing the max number of outlets or power control devices which can be powered on in parallel. [Jim Garlick] * Powermand should execute logoff scripts on devices upon receipt of a signal (with timeout). * Redesign the device language to be more general. LUA is a good candidate. [Jim Garlick] * Clean up argument passing into and results out of scripts [Jim Garlick] * Work in something to allow error messages when running 'pm -1' and similar power control commands. Currently, on error, powerman will always output "Command Successful". [Al Chu?] * Generate error if %s appears in script where it is undefined [Adam Bertsch] * Device timeout should be per expect line [Brian J. Murrell] * Allow %s to appear multiple times [Brian J. Murrell] * Allow delay in power cycle command to be configured globally and on a per-plug basis rather than hardwiring it in the script for a particular RPC, since it is a parameter that may need to change depending on what is plugged into the RPC. [Jim Garlick] * Use the above delay to implement a "min cycle time" which applies to power off/on commands in a client session independent way. For example running "pm -0 dev; pm -1 dev" should implicitly sleep for the delay time. [Jim Garlick] * Implement a one-time retry after a timeout/reconnect. This should greatly improve reliability, e.g. for STONITH, although timeout/reconnects should be addressed and not hidden from the user/admin. [Jim Garlick] * There may be a bug where powermand's select loop does not unblock when an disconnects, and the next command times out. The disconnect should unblock the loop and trigger a reconnect. [Jim Garlick] * Piping to ssh has the problem of 1) being affected by the user's ssh config, and 2) not always cleaning up properly. Consider providing a "native" sshpower tool using one of the ssh libs. [Jim Garlick] * Optionally log plug state changes to syslog (or conman?) [Jim Garlick] * Allow pm -q 'rpc name' and report all pugs (even if not mapped) [Jim Garlick] * Implement power (watt) monitoring. Convert units. When querying by rpc name(s), report the minimum granularity over all plugs (may be multiple phases for example). When querying by node(s), sum over configured plugs. If unconfigured plugs are included in total, issue a warning. If configured plugs are included in total, issue a warning/error. [Jim Garlick] * Provide a mechanism to periodically sample and log power usage and record it over time. [Jim Garlick] * Convert temperature output to standard form (configure temp units globally). [Jim Garlick] * Can powerman configure RPC's, e.g. to disable command confirmation and idle timeouts, that sort of thing? Or validate that settings are correct? pm --validate-device-config <device> [Jim Garlick]