OCF_HEARTBEAT_DHCPD(7)
π OCF_HEARTBEAT_DHCPD β like, the whole manual, bestie
okay so this is the ocf_heartbeat_dhcpd page from the OCF resource agents manual (section 7, iykyk), and it's literally all about running a chrooted ISC DHCP server as a cluster resource. no cap, it's kinda iconic. let's get into it π
β¨ NAME β¨
ocf_heartbeat_dhcpd β a Chrooted ISC DHCP server resource agent. that's it, that's the whole vibe π¦
πΈ SYNOPSIS πΈ
dhcpd [start | stop | monitor | meta-data | validate-all]
like, you just hand it one of those and it does the thing β¨
π DESCRIPTION π
so basically: this agent manages an ISC DHCP server service inside a chroot environment. that's the entire elevator pitch, bestie π«Ά
π SUPPORTED PARAMETERS π
these are the knobs you can turn. read them all, don't skip, no skipping allowed π
configβ the absolute path to the DHCP server configuration file. you have to give this one, and it's unique. it's a string, and there's no default β you're on your own, girlie π β (unique, required, string, no default)chrootedβ tells thedhcpdservice whether to run in chrooted or non-chrooted mode. a boolean, and yes it defaults totrueπ β (unique, optional, boolean, default true)chrooted_pathβ the absolute path of the chrooted DHCP environment. defaults to"/var/lib/dhcp"π β (unique, optional, string, default "/var/lib/dhcp")binaryβ the binary for the DHCP server process. an absolute path definition isn't required, but you can use it to override the environment path. defaults to"dhcpd"π₯ β (optional, string, default "dhcpd")userβ the system user the DHCP server process will run as when it's chrooted. defaults to"dhcpd"π§ β (optional, string, default "dhcpd")groupβ the system group the DHCP server process will run as when it's chrooted. defaults to"nogroup"β (optional, string, default "nogroup")interfaceβ the network interface(s) the DHCP server process will bind to. a blank value binds the process to all interfaces (main character energy, honestly) π β (optional, string, no default)includesβ this is the way you copy include files into the chrooted environment. say yourdhcpd.conffile has a line like this:
include "/etc/named.keys";
then an admin also has to tell the dhcpd RA that this file should get pulled into the chrooted environment. it's a space delimited list, bestie, spaces not commas, don't come for me π β (optional, string, no default)
leasesβ the leases database file, relative tochrooted_path. defaults to"/db/dhcpd.leases"π β (optional, string, default "/db/dhcpd.leases")pidβ the path and filename of the PID file. it is relative tochrooted_path. defaults to"/var/run/dhcpd.pid"π β (optional, string, default "/var/run/dhcpd.pid")
β SUPPORTED ACTIONS β
this resource agent supports the following actions (operations) β aka the moves it knows how to make π
startβ Starts the resource. Suggested minimum timeout: 20s.stopβ Stops the resource. Suggested minimum timeout: 20s.restartβ Suggested minimum timeout: 20s.monitorβ Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 10s.meta-dataβ Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.validate-allβ Performs a validation of the resource configuration. Suggested minimum timeout: 20s.
π EXAMPLE CRM SHELL π
here's what a dhcpd resource looks like configured with the crm(8) shell. copy it, love it, live it π
primitive p_dhcpd ocf:heartbeat:dhcpd \
params \
config=string \
op monitor timeout="20s" interval="10s" depth="0"
π¦ EXAMPLE PCS π¦
and here's the same kinda idea using pcs(8). note the depth="0" becomes OCF_CHECK_LEVEL="0" β that's not a typo, that's just how pcs rolls β¨
pcs resource create p_dhcpd ocf:heartbeat:dhcpd \
config=string \
op monitor timeout="20s" interval="10s" OCF_CHECK_LEVEL="0"
π SEE ALSO π
go poke around here, bestie: http://clusterlabs.org/ π
π AUTHOR π
ClusterLabs contributors β see the resource agent source for information about individual authors π
ok that's the whole page, nothing skipped, nothing invented, every flag accounted for. slay π«Ά
sign-off time π β this was resource-agents version UNKNOWN, dated 10/01/2026. yes, the version literally says UNKNOWN and honestly? mysterious. iconic. periodt. π
β¨
π¦ where this page comes from
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: resource-agents 4.18.0+git105.9ea1183-160000.1.1 Β· GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms