FENCE_AGENT(8)

πŸ“¦
version 4.17.0 Β· 5 versions
, in debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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 --verbose or --debug-file or logging to syslog.
  • -v, --verbose β€” verbose mode. multiple -v flags 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 --verbose flags specified on the command line, or to 1 if verbose=1 in 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 the list operation (Default Value: ,)
  • --delay=[seconds] β€” wait X seconds before fencing is started (Default Value: 0)
  • --disable-timeout=[true/false] β€” disable timeout (true/false) (default: true when 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. returns N/A otherwise.
  • 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_prompt
  • identity_file β€” identity file (private key) for SSH
  • inet4_only β€” forces the agent to use IPv4 addresses only
  • inet6_only β€” forces the agent to use IPv6 addresses only
  • ip β€” IP address or hostname of the fencing device. This parameter is always required. Obsoletes: ipaddr
  • ipport β€” TCP/UDP port to use for connection with the device (Default Value: 23)
  • password β€” login password or passphrase. Obsoletes: passwd
  • password_script β€” script to run to retrieve the password. Obsoletes: passwd_script
  • plug β€” physical plug number on the device, UUID or identification of the machine. This parameter is always required. Obsoletes: port
  • ssh β€” use SSH connection. Obsoletes: secure
  • ssh_options β€” SSH options to use (Default Value: -1 -c blowfish)
  • switch β€” physical switch number on the device
  • username β€” login name. This parameter is always required. Obsoletes: login
  • quiet β€” disable logging to stderr. does not affect --verbose or --debug-file or logging to syslog.
  • verbose β€” verbose mode. multiple -v flags 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 --verbose flags specified on the command line, or to 1 if verbose=1 in a stonith device configuration (i.e., on stdin).
  • debug_file β€” write debug information to the given file. Obsoletes: debug
  • version β€” display version information and exit
  • help β€” display help and exit
  • plug_separator β€” separator for the plug parameter when specifying more than 1 plug (Default Value: ,)
  • separator β€” separator for the CSV created by the list operation (Default Value: ,)
  • delay β€” wait X seconds before fencing is started (Default Value: 0)
  • disable_timeout β€” disable timeout (true/false) (default: true when 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