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 the dhcpd service whether to run in chrooted or non-chrooted mode. a boolean, and yes it defaults to true 🌈 β€” (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 your dhcpd.conf file 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 to chrooted_path. defaults to "/db/dhcpd.leases" πŸ“„ β€” (optional, string, default "/db/dhcpd.leases")
  • pid β€” the path and filename of the PID file. it is relative to chrooted_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