OCF_HEARTBEAT_OPENST(7)

✨ ocf_heartbeat_openstack-virtual-ip ✨

okay bestie, pull up a chair πŸŽ€ this is the OCF_HEARTBEAT_OPENST(7) page, which means it lives in section 7 of the manual (that's the "miscellaneous / conventions" girlies) and it's part of the resource-agents family. let's get into it πŸ’…


🌸 NAME 🌸

ocf_heartbeat_openstack-virtual-ip β€” Move a virtual IP πŸ¦‹

like. that's the whole job. she moves a virtual IP. no cap.


✨ SYNOPSIS ✨

openstack-virtual-ip [start | stop | monitor | meta-data | validate-all]

those are the five actions, and yes we will be covering all of them, don't scroll πŸ‘€


πŸ’– DESCRIPTION πŸ’–

So this is a Resource Agent (an OCF agent, iykyk) whose entire main character moment is moving a virtual IP address from one instance to another πŸ”₯

The way she does it is iconic: she adds an allowed-address pair that's associated with an instance port. that's the mechanism. that's the move. periodt.

She does not figure all that out by herself though β€” she relies on attributes handed to her by the openstack-info resource agent, specifically openstack_ports and openstack_id. so those better be there fr fr πŸ™ˆ

And then the attribute called "openstack_virtual_ip" gets updated. she updates it. that's her whole vibe. πŸ’…


πŸ‘‘ SUPPORTED PARAMETERS πŸ‘‘

bestie these are a lot but every single one matters, no skipping βœ‹πŸ’–

  • cloud β€” the Openstack cloud, and she'll find it either from ~/.config/openstack/clouds.yaml or /etc/openstack/clouds.yaml. (optional, string, no default)
  • openrc β€” Openstack credentials, in the form of an openrc file from api_access/openrc. (optional, string, no default)
  • auth_url β€” the Keystone Auth URL. (optional, string, no default)
  • username β€” Username. yeah. just. the username 🫢 (optional, string, no default)
  • password β€” Password. 🀫 (optional, string, no default)
  • project_name β€” Keystone Project. (optional, string, no default)
  • user_domain_name β€” Keystone User Domain Name. (optional, string, default "Default")
  • project_domain_name β€” Keystone Project Domain Name. (optional, string, default "Default")
  • openstackcli β€” Path to command line tools for openstack. (optional, string, default /usr/bin/openstack)
  • insecure β€” Allow insecure connections. πŸ”“ (optional, boolean, default false)
  • ip β€” Virtual IP Address. this one is literally the whole point of her existence, bestie. (required, string, no default)
  • subnet_id β€” Subnet Identifier to use to attach the address. (required, string, no default)
⚠️ heads up: ip and subnet_id are required. she will not function without them. that's not a suggestion, that's a vibe check she will fail. 😭

πŸ¦‹ SUPPORTED ACTIONS πŸ¦‹

This resource agent supports the following actions (operations):

  • start β€” Starts the resource. Suggested minimum timeout: 180s.
  • stop β€” Stops the resource. Suggested minimum timeout: 180s.
  • monitor β€” Performs a detailed status check. Suggested minimum timeout: 180s. Suggested interval: 60s. she's checking on you every minute, bestie, that's love πŸ’œ
  • validate-all β€” Performs a validation of the resource configuration. Suggested minimum timeout: 5s.
  • meta-data β€” Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s. internal use only, so mind your business πŸ™ˆ

🌈 EXAMPLE CRM SHELL 🌈

Here's an example configuration for a openstack-virtual-ip resource using the crm(8) shell β€” copy it, she's cute:

primitive p_openstack-virtual-ip ocf:heartbeat:openstack-virtual-ip \
  params \
    ip=string \
    subnet_id=string \
  op monitor depth="0" timeout="180s" interval="60s"

πŸŽ€ EXAMPLE PCS πŸŽ€

And here's the same energy but for pcs(8) β€” the other girlies' preferred tool:

pcs resource create p_openstack-virtual-ip ocf:heartbeat:openstack-virtual-ip \
  ip=string \
  subnet_id=string \
  op monitor OCF_CHECK_LEVEL="0" timeout="180s" interval="60s"

note the monitor line is a little different between the two (depth="0" vs OCF_CHECK_LEVEL="0") β€” that's just how each tool says it, both mean "check level 0" πŸ’–


πŸ’œ SEE ALSO πŸ’œ


🌟 AUTHOR 🌟

ClusterLabs contributors (see the resource agent source for information about individual authors) β€” it's a whole collective, we love a collaborative queen πŸ‘‘


and that's the page, bestie!! βœ¨πŸŒΈπŸ¦‹πŸ’–

this was resource-agents version UNKNOWN, dated 04/08/2026, served fresh from OCF_HEARTBEAT_OPENST(7) πŸ’… mwah, go configure something iconic πŸ’–βœ¨

πŸ“¦ where this page comes from