FENCE_AGENT(8)
π FENCE_AGENT(8) β the manual, but make it make sense π
System Manager's Manual β¨ this is the page for fence_compute and bestie, we're gonna get through it together, no cap π«Ά
πΈ NAME πΈ
fence_compute β the fence agent for the automatic resurrection of OpenStack compute instances π§ββοΈβ¨ like, it literally brings things back from the dead, it's giving necromancy but make it infrastructure π
π¦ DESCRIPTION π¦
So what does this thing actually do? It tells Nova that compute nodes are down, and then it reschedules the instances that got flagged. Periodt. That's the whole vibe.
Okay and here's the tea β β this fence agent takes options from the command line and from stdin. When fenced execs the agent, it sends parameters through stdin. But you can also just run the agent all by itself with command line options, which is lowkey so useful for testing and for turning outlets on or off from scripts. Iconic behavior honestly.
Vendor URL: (it's empty in the original, bestie β nothing there) π
β¨ PARAMETERS β¨
Okay buckle up, here comes the whole list. Every single one. I'm not skipping a thing π
-o,--action=[action]β the fencing action. (Default Value:off)-k,--auth-url=[url]β Keystone Admin Auth URL. (Default Value: β yes, empty)-e,--endpoint-type=[endpoint]β Nova Endpoint type. (Default Value:internalURL)-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. No plug, no party.--region-name=[region]β Region Name. (Default Value: β empty again)-t,--tenant-name=[name]β Keystone Admin Tenant or v3 Project. (Default Value: )-l,--username=[name]β login name.--insecureβ allow Insecure TLS Requests. π¬ (says it right there, bestie, it's insecure)-P,--project-domain=[name]β Keystone v3 Project Domain. (Default Value:Default)-u,--user-domain=[name]β Keystone v3 User Domain. (Default Value:Default)-d,--domain=[string]β the DNS domain in which hosts live.--instance-filteringβ allow instances to be evacuated. (Default Value:True)--no-shared-storageβ disable functionality for dealing with shared storage. (Default Value:False)--record-onlyβ only record the target as needing evacuation. (Default Value:False)--compute-domain=[string]β replaced bydomain. (it's deprecated, babe, use the new one π)-q,--quietβ disable logging to stderr. Does not affect--verbose,--debug-file, or logging to syslog. Read that again, it matters.-v,--verboseβ verbose mode. You can stack multiple-vflags on the command line (e.g.,-vvv) to increase verbosity. The more v's the more you see π--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).-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 cmd prompt after login. (Default Value:5)--power-timeout=[seconds]β test X seconds for 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 cmd prompt after issuing a command. (Default Value:180)--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)
π ACTIONS π
The things this agent can actually do when you ask it to:
onβ power on machine. β‘offβ power off 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. π no fr, that's literally what it says, bestie, nobody knows.validate-allβ validate if all required parameters are entered.
π STDIN PARAMETERS π
Same energy, different delivery system β these are the ones that come in through stdin:
actionβ fencing action. (Default Value:off)auth_urlβ Keystone Admin Auth URL. (Default Value: )endpoint_typeβ Nova Endpoint type. (Default Value:internalURL)passwordβ login password or passphrase. Obsoletes:passwdpassword_scriptβ script to run to retrieve password. Obsoletes:passwd_scriptplugβ physical plug number on device, UUID or identification of machine. π¨ This parameter is always required. Obsoletes:portregion_nameβ Region Name. (Default Value: )tenant_nameβ Keystone Admin Tenant or v3 Project. (Default Value: )usernameβ login name. Obsoletes:logininsecureβ allow Insecure TLS Requests.project_domainβ Keystone v3 Project Domain. (Default Value:Default) Obsoletes:project-domainuser_domainβ Keystone v3 User Domain. (Default Value:Default) Obsoletes:user-domaindomainβ DNS domain in which hosts live.instance_filteringβ allow instances to be evacuated. (Default Value:True)no_shared_storageβ disable functionality for dealing with shared storage. (Default Value:False)record_onlyβ only record the target as needing evacuation. (Default Value:False)compute_domainβ replaced bydomain. Obsoletes:compute-domainquietβ 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 given file. Obsoletes:debugversionβ display version information and exit.helpβ display help and exit.plug_separatorβ separator for plug parameter when specifying more than 1 plug. (Default Value:,)separatorβ separator for CSV created bylistoperation. (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 cmd prompt after login. (Default Value:5)power_timeoutβ test X seconds for 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 cmd prompt after issuing command. (Default Value:180)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)
Reminder bestie:--compute-domain/compute_domainis replaced bydomainβ it's old news, don't build anything new on it π
And that's the whole page!! π«Ά Written under fence_compute (Fence Agent), dated 2009-10-20, and filed as FENCE_AGENT(8). Slay, go fence something responsibly π
β¨πΈ
π¦ where this page comes from
- debian trixie: fence-agents-compute 4.16.0-3 Β· GPL-2.0-or-later
- fedora 43: fence-agents-compute 4.16.0-5.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 43: fence-agents-compute 4.17.0-1.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: fence-agents-compute 4.17.0-2.fc44 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- ubuntu questing: fence-agents-compute 4.16.0-3ubuntu1
- ubuntu resolute: fence-agents-compute 4.17.0-1ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: fence-agents-compute 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