OCF_HEARTBEAT_MEDIAT(7)

πŸ“¦ version 4.18.0+git105.9ea1183, in opensuse-leap 16.0

πŸ’œ ocf_heartbeat_mediationzone(7) β€” the MediationZone pico resource agent, explained by your favorite cluster bestie 🫢

okay so. bestie. listen. this is the manual page for ocf_heartbeat_mediationzone, and it lives in the OCF resource agents section of the manual. it's giving "niche but powerful" and honestly? we're obsessed. πŸ’…

It's a resource agent β€” the little helper that teaches Pacemaker how to babysit a MediationZone thing. Let's get into it. ✨


🌸 NAME 🌸

ocf_heartbeat_mediationzone β€” literally just here to manage a MediationZone pico process. that's it, that's the job. πŸŽ€


✨ SYNOPSIS ✨

mediationzone [start | stop | monitor | meta-data | validate-all]

those are your moves, bestie. pick one. πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

so the mediationzone resource agent manages MediationZone pico processes β€” and MediationZone is by DigitalRoute, for the record β€” as active/passive cluster resources. iconic behavior honestly. πŸ‘‘

One resource per pico. one pico, one resource, no sharing, we don't do that here. πŸ™…β€β™€οΈ

The order matters, okay? The platform VIP has to start first, then the platform container, and then any other containers (ui, ec, etc.). it's a whole lineup. think of it as the main character arriving before the entourage. πŸ’«

Now the important part β€” set <yellow>meta priority=100</yellow> on the platform resource. Why? Because the platform is the most critical pico β€” literally every other pico depends on it. 😭 So in a split-brain situation, Pacemaker fences the lower-priority node first, which means the platform node survives. slay. protective. πŸ›‘οΈ

⚠️ but bestie, heads up: the cluster property priority-fencing-delay must be greater than 0 for this to actually take effect. if it's 0, none of that protection kicks in. no cap. πŸ™ˆ

🌈 SUPPORTED PARAMETERS 🌈

these are the knobs you get to turn. turn them responsibly. πŸŽ›οΈ

  • os_user β€” the OS user that owns the MediationZone installation and runs the mzsh commands. this is optional, it's a string, and it defaults to "mzadmin". πŸ‘€
  • mz_home β€” path to the MediationZone installation directory. it gets passed to mzsh as MZ_HOME, and mzsh is expected to be sitting at MZ_HOME/bin/mzsh. optional, string, default "/opt/mz". πŸ“
  • java_home β€” path to the JDK or JRE that MediationZone uses. optional, string, default "/usr/lib/jvm/java-17-openjdk". β˜•
  • pico_name β€” the name of the MediationZone pico you want to manage. the known names with default ports are platform (port 9000) and ui (port 9001). for any other pico name + port combo, you gotta set pico_port explicitly. optional, string, default "platform". 🏷️
  • pico_port β€” the port the pico web server listens on. it's used to clear TIME-WAIT connections before startup (yes, really, that's a thing 🫠). it defaults to 9000 for platform and 9001 for ui. you must set it explicitly when you're managing a different pico type, or when the default port has been changed in the container configuration. optional, integer, no default. πŸ”Œ
  • mzsh_timeout β€” the max time in seconds to wait for a single mzsh call (that's status, shutdown, kill, and the pre-start kill that runs before startup). must be 10 or higher. and here's the tea: the stop action chains shutdown then kill on failure, so worst-case stop time is 2 Γ— mzsh_timeout. if mzsh_timeout is too short, both shutdown and kill time out and the stop action fails β€” and then Pacemaker fences the node to recover. 😭 also, set the stop operation timeout on the cluster resource to at least 2 Γ— mzsh_timeout + 60s. optional, integer, default 30. ⏱️
  • monitor_retries β€” how many times the monitor action retries mzsh status after an initial failure before reporting the pico as not running or failed. this applies only to the monitor action β€” start and stop are not affected, okay? a value of 0 disables retries. bump it up if transient status failures are causing unwanted restarts in your environment. must be 0 or higher. optional, integer, default 1. πŸ”

πŸ‘‘ SUPPORTED ACTIONS πŸ‘‘

this resource agent supports the following actions (operations), and yes, each one has a suggested minimum timeout so you don't leave it hanging: ⏳

  • start β€” starts the resource. suggested minimum timeout: 360s. πŸš€
  • stop β€” stops the resource. suggested minimum timeout: 360s. πŸ›‘
  • monitor β€” performs a detailed status check. suggested minimum timeout: 90s, suggested interval: 60s. πŸ‘€
  • validate-all β€” performs a validation of the resource configuration. suggested minimum timeout: 30s. βœ…
  • meta-data β€” retrieves resource agent metadata (internal use only). suggested minimum timeout: 5s. πŸ—‚οΈ
  • methods β€” suggested minimum timeout: 5s. πŸ§ͺ
  • usage β€” suggested minimum timeout: 5s. πŸ“–

🧚 EXAMPLE CRM SHELL 🧚

here's an example config for a mediationzone resource using the crm(8) shell. steal it, it's cute:

primitive p_mediationzone ocf:heartbeat:mediationzone \
  op monitor timeout="90s" interval="60s"

πŸ“ EXAMPLE PCS πŸ“

and here's the same vibe but for pcs(8):

pcs resource create p_mediationzone ocf:heartbeat:mediationzone \
  op monitor timeout="90s" interval="60s"

πŸ¦‹ SEE ALSO πŸ¦‹


πŸ’€ AUTHOR πŸ’€

ClusterLabs contributors β€” and if you want to know about individual authors, go check the resource agent source, it's all in there. 🫢


and that's the page!! πŸ’œ version resource-agents UNKNOWN, dated 10/01/2026 β€” mwah, sending you cluster-safe kisses, go forth and keep that platform pico alive πŸŒˆβœ¨πŸŽ€

πŸ“¦ where this page comes from