PACEMAKER(8)

πŸ’… PACEMAKER β€” the cluster resource manager's chaotic little sibling

okay so real talk, bestie, this whole page is about PACEMAKER(8), one beautiful piece of the Pacemaker cluster resource manager situation. Buckle up πŸŽ€

✨ NAME ✨

Pacemaker β€” literally a whole part of the Pacemaker cluster resource manager, no cap πŸ‘‘

🌸 SYNOPSIS 🌸

cibadmin [<command>] [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

bestie. it queries. it edits. it's giving "the Pacemaker configuration is my personal playground" energy. that's the whole vibe check ✨

πŸ’– OPTIONS πŸ’–

πŸŽ€ Help Options:

these are the "help me help you" girlies 🫢

  • -h, --help β€” shows the help options, obviously πŸ’β€β™€οΈ
  • --help-all β€” shows all the help options, the full buffet
  • --help-output β€” shows the output help
  • --help-commands β€” shows the command help
  • --help-data β€” shows the data help
  • --help-additional β€” shows the additional options help

🌈 Output Options:

where the results go, and what they look like πŸ’«

  • --output-as=FORMAT β€” pick your output format, either text (that's the default, iconique) or xml
  • --output-to=DEST β€” name the file the output goes to (or pass - to yeet it to stdout)

πŸ‘‘ Commands:

the main character energy section, ngl πŸ”₯

  • -u, --upgrade β€” upgrades the configuration to the latest syntax, glow-up era ✨
  • -Q, --query β€” queries the contents of the CIB
  • -E, --erase β€” erases the contents of the whole CIB 😭 like all of it, gone
  • -B, --bump β€” increases the CIB's epoch value by 1
  • -C, --create β€” creates an object in the CIB (it will fail if the object already exists, rude but fair πŸ’€)
  • -M, --modify β€” finds an object somewhere in the CIB's XML tree and updates it (fails if the object doesn't exist, unless -c is also specified)
  • -P, --patch β€” supplies an update in the form of an XML diff (peep crm_diff(8))
  • -R, --replace β€” recursively replaces an object in the CIB
  • -D, --delete β€” deletes the first object matching your criteria (for example, <op id="rsc1_op1" name="monitor"/>). the XML element name and all attributes must match for the element to actually get deleted, no half-matches allowed πŸ™…β€β™€οΈ
  • -d, --delete-all β€” when used with --xpath, removes all matching objects in the configuration instead of just the first one. it's giving "no survivors" πŸ’…
  • -a, --empty=[schema] β€” outputs an empty CIB. accepts an optional schema name argument to use as the validate-with value. if no schema is given, the latest one gets used 🧚
  • -5, --md5-sum β€” calculates the on-disk CIB digest
  • -6, --md5-sum-versioned β€” calculates the on-the-wire versioned CIB digest

πŸ“ Data:

where your XML comes from, bestie πŸ“₯

  • -x, --xml-file=FILE β€” retrieves XML from the named file. currently this takes precedence over --xml-text and --xml-pipe. in a future release, the last one specified will be used. keeping it real about the roadmap 🫢
  • -X, --xml-text=STRING β€” retrieves XML from the supplied string. currently this takes precedence over --xml-pipe, but --xml-file overrides this. in a future release, the last one specified will be used.
  • -p, --xml-pipe β€” retrieves XML from stdin. currently --xml-file and --xml-text override this. in a future release, the last one specified will be used.

πŸ’œ Additional Options:

the extra-flavor section, iykyk 🌟

  • -f, --force β€” forces the action to be performed. do it. don't ask. 😀
  • -t, --timeout=value β€” time (in seconds) to wait before declaring the operation failed ⏳
  • -U, --user=value β€” runs the command with the permissions of the named user (valid only for the root and hacluster accounts, so don't get cute)
  • -o, --scope=value β€” limits the scope of the operation to a specific section of the CIB. valid values: configuration, nodes, resources, constraints, crm_config, rsc_defaults, op_defaults, acls, fencing-topology, tags, alerts, status. if both --scope/-o and --xpath/-a are specified, the last one to appear takes effect πŸ‘€
  • -A, --xpath=value β€” a valid XPath to use instead of --scope/-o. if both --scope/-o and --xpath/-a are specified, the last one to appear takes effect
  • -S, --show-access=[value] β€” whether to use syntax highlighting for ACLs (with -Q/--query and -U/--user). allowed values: 'color' (the default for a terminal), 'text' (plain text, the default for a non-terminal), 'namespace', or 'auto' (use the default value). default value: 'auto' 🎨
  • --score β€” treats new attribute values as atomic score updates where possible (with --modify/-M). this currently happens by default and cannot be disabled, but this default behavior is deprecated and will be removed in a future release. set this flag if this behavior is desired. this option takes effect when updating XML attributes. for an attribute named "name", if the new value is "name++" or "name+=X" for some score X, the new value is set as follows: if attribute "name" is not already set to some value in the element being updated, the new value is set as a literal string. if the new value is "name++", then the attribute is set to its existing value (parsed as a score) plus 1. if the new value is "name+=X" for some score X, then the attribute is set to its existing value plus X, where the existing value and X are parsed and added as scores. scores are integer values capped at INFINITY and -INFINITY. refer to Pacemaker Explained for more details on scores, including how they are parsed and added πŸ“š
  • -c, --allow-create β€” (Advanced) allows the target of --modify/-M to be created if it does not exist 🐣
  • -n, --no-children β€” (Advanced) when querying an object, does not include its children in the result
  • --update-status β€” (Advanced) applies the CIB update without triggering a controller refresh

⭐ Application Options:

  • -$, --version β€” displays the software version and exits, and then dips ✌️
  • -V, --verbose β€” increases debug output (may be specified multiple times, go off queen)

πŸ”₯ EXAMPLES πŸ”₯

query the configuration:

# cibadmin --query

or just:

# cibadmin

query just the cluster options configuration:

# cibadmin --query --scope crm_config

query all 'target-role' settings:

# cibadmin --query --xpath "//nvpair[@name='target-role']"

remove all 'is-managed' settings:

# cibadmin --delete-all --xpath "//nvpair[@name='is-managed']"

remove the resource named 'old':

# cibadmin --delete --xml-text '<primitive id="old"/>'

remove all resources from the configuration:

# cibadmin --replace --scope resources --xml-text '<resources/>'

replace the complete configuration with the contents of $HOME/pacemaker.xml:

# cibadmin --replace --xml-file $HOME/pacemaker.xml

replace the constraints section of the configuration with the contents of $HOME/constraints.xml:

# cibadmin --replace --scope constraints --xml-file $HOME/constraints.xml

increase the configuration version so old configurations can't get loaded by accident:

# cibadmin --modify --score --xml-text '<cib admin_epoch="admin_epoch++"/>'

edit the configuration with your favorite $EDITOR:

# cibadmin --query > $HOME/local.xml

# $EDITOR $HOME/local.xml

# cibadmin --replace --xml-file $HOME/local.xml

assuming a terminal, render the configuration in color (green for writable, blue for readable, red for denied) so you can visualize permissions for user tony:

# cibadmin --show-access=color --query --user tony | less -r

🌟 SEE ALSO: 🌟

crm(8), pcs(8), crm_shadow(8), crm_diff(8) β€” go read those too, bestie, they're part of the lore πŸ¦‹

πŸ’ AUTHOR πŸ’

Written by Andrew Beekhof and the Pacemaker project contributors 🫢


that's a wrap, gorgeous πŸ’– this page came from Pacemaker 3.0.3+20260728.7052..., dated September 2026, and it's filed under PACEMAKER(8) β€” slay, go forth and cluster πŸŽ€βœ¨

πŸ“¦ where this page comes from