FENCE_AGENT(8)
π FENCE_AGENT(8) β the manual page, but make it make sense π
okay bestie, sit down, hydrate, because we're learning fence_apc today and honestly? it's giving "unix but make it cute". this page lives in the System Manager's Manual (section 8, obviously, we're fancy like that π).
β¨ NAME β¨
fence_apc β the fence agent for APC, and it does its thing over telnet or ssh. no cap.
πΈ DESCRIPTION πΈ
so fence_apc is a Power Fencing agent and it's the one you call when you need the APC network power switch to do its job. the way it works is: it logs into the device via telnet or ssh, and then it reboots a specified outlet. that's the whole vibe. π¦
real talk though β avoid lengthy telnet/ssh connections while a GFS cluster is running, because that connection will block any necessary fencing actions. like, do not do it. it's giving sabotage.
okay and here's the cute part: the fence agent takes options on the command line and from stdin. when fenced execs the agent, it sends parameters through stdin. but you can also run the agent all by itself with command line options β which is perfect for testing and for turning outlets on or off from scripts. main character energy fr fr. π
Vendor URL: http://www.apc.com
π PARAMETERS π
here come the flags, bestie. all of them. every single one. periodt.
-o,--action=[action]β the fencing action you want (Default Value:reboot)-c,--command-prompt=[prompt]β forces a Python regex for the command prompt (Default Value:['\n>', '\napc>'])-k,--identity-file=[filename]β identity file (private key) for SSH-4,--inet4-onlyβ forces the agent to use IPv4 addresses only-6,--inet6-onlyβ forces the agent to use IPv6 addresses only-a,--ip=[ip]β IP address or hostname of the fencing device. This parameter is always required.-u,--ipport=[port]β TCP/UDP port to use for connection with the device (Default Value:23)-p,--password=[password]β login password or passphrase-S,--password-script=[script]β script to run to retrieve the password-n,--plug=[id]β physical plug number on the device, UUID or identification of the machine. This parameter is always required.-x,--sshβ use an SSH connection--ssh-options=[options]β SSH options to use (Default Value:-1 -c blowfish)-s,--switch=[id]β physical switch number on the device-l,--username=[name]β login name. This parameter is always required.-q,--quietβ disable logging to stderr. it does not affect--verboseor--debug-fileor logging to syslog.-v,--verboseβ verbose mode. multiple-vflags can be stacked on the command line (e.g.,-vvv) to increase verbosity. stack 'em like bracelets π--verbose-levelβ level of debugging detail in the output. defaults to the number of--verboseflags specified on the command line, or to1ifverbose=1in a stonith device configuration (i.e., on stdin).-D,--debug-file=[debugfile]β write debug information to the given file-V,--versionβ display version information and exit-h,--helpβ display help and exit--plug-separator=[char]β separator for the plug parameter when you're specifying more than 1 plug (Default Value:,)-C,--separator=[char]β separator for the CSV created by thelistoperation (Default Value:,)--delay=[seconds]β wait X seconds before fencing is started (Default Value:0)--disable-timeout=[true/false]β disable timeout (true/false) (default:truewhen run from Pacemaker 2.0+)--login-timeout=[seconds]β wait X seconds for the cmd prompt after login (Default Value:5)--power-timeout=[seconds]β test X seconds for a status change after ON/OFF (Default Value:20)--power-wait=[seconds]β wait X seconds after issuing ON/OFF (Default Value:0)--shell-timeout=[seconds]β wait X seconds for the cmd prompt after issuing a command (Default Value:3)--stonith-status-sleep=[seconds]β sleep X seconds between status calls during a STONITH action (Default Value:1)--retry-on=[attempts]β count of attempts to retry power on (Default Value:1)--ssh-path=[path]β path to the ssh binary (Default Value:/usr/bin/ssh)--telnet-path=[path]β path to the telnet binary (Default Value:/usr/bin/telnet)
π¦ ACTIONS π¦
the things this agent can do. choose your fighter:
onβ power on machine.offβ power off machine.rebootβ reboot machine.statusβ this returns the status of the plug/virtual machine.listβ list available plugs with aliases/virtual machines, if there's support for more than one device. returnsN/Aotherwise.list-statusβ list available plugs with aliases/virtual machines and their power state, if it can be obtained without additional commands.monitorβ check the health of the fence device.metadataβ display the XML metadata describing this resource.manpageβ the operational behavior of this is not known. π (iconic of it honestly)validate-allβ validate if all required parameters are entered.
π STDIN PARAMETERS π
same energy, snake_case edition. fenced sends these through stdin π«Ά
actionβ fencing action (Default Value:reboot)command_promptβ force Python regex for command prompt (Default Value:['\n>', '\napc>']). Obsoletes:cmd_promptidentity_fileβ identity file (private key) for SSHinet4_onlyβ forces the agent to use IPv4 addresses onlyinet6_onlyβ forces the agent to use IPv6 addresses onlyipβ IP address or hostname of the fencing device. This parameter is always required. Obsoletes:ipaddripportβ TCP/UDP port to use for connection with the device (Default Value:23)passwordβ login password or passphrase. Obsoletes:passwdpassword_scriptβ script to run to retrieve the password. Obsoletes:passwd_scriptplugβ physical plug number on the device, UUID or identification of the machine. This parameter is always required. Obsoletes:portsshβ use SSH connection. Obsoletes:securessh_optionsβ SSH options to use (Default Value:-1 -c blowfish)switchβ physical switch number on the deviceusernameβ login name. This parameter is always required. Obsoletes:loginquietβ disable logging to stderr. does not affect--verboseor--debug-fileor logging to syslog.verboseβ verbose mode. multiple-vflags can be stacked on the command line (e.g.,-vvv) to increase verbosity.verbose_levelβ level of debugging detail in output. defaults to the number of--verboseflags specified on the command line, or to1ifverbose=1in a stonith device configuration (i.e., on stdin).debug_fileβ write debug information to the given file. Obsoletes:debugversionβ display version information and exithelpβ display help and exitplug_separatorβ separator for the plug parameter when specifying more than 1 plug (Default Value:,)separatorβ separator for the CSV created by thelistoperation (Default Value:,)delayβ wait X seconds before fencing is started (Default Value:0)disable_timeoutβ disable timeout (true/false) (default:truewhen run from Pacemaker 2.0+)login_timeoutβ wait X seconds for the cmd prompt after login (Default Value:5)power_timeoutβ test X seconds for a status change after ON/OFF (Default Value:20)power_waitβ wait X seconds after issuing ON/OFF (Default Value:0)shell_timeoutβ wait X seconds for the cmd prompt after issuing a command (Default Value:3)stonith_status_sleepβ sleep X seconds between status calls during a STONITH action (Default Value:1)retry_onβ count of attempts to retry power on (Default Value:1)ssh_pathβ path to the ssh binary (Default Value:/usr/bin/ssh)telnet_pathβ path to the telnet binary (Default Value:/usr/bin/telnet)
okay that's the whole page, you ate that. π this was fence_apc (Fence Agent), dated 2009-10-20, and it's part of FENCE_AGENT(8). go forth and fence responsibly, bestie πβ¨
π¦ where this page comes from
- debian trixie: fence-agents-apc 4.16.0-3 Β· GPL-2.0-or-later
- fedora 43: fence-agents-apc 4.17.0-1.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: fence-agents-apc 4.17.0-2.fc44 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- opensuse-leap 16.0: fence-agents-apc 4.16.0+git.1750325058.755815b1-160000.2.2 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- ubuntu questing: fence-agents-apc 4.16.0-3ubuntu1
- ubuntu resolute: fence-agents-apc 4.17.0-1ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: fence-agents-apc 4.17.0-1ubuntu2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms