OCF_HEARTBEAT_GCP-V(7)

πŸ’– ocf_heartbeat_gcp-vpc-move-route πŸ’–

okay bestie, welcome to the OCF_HEARTBEAT_GCP-V(7) manual page β€” section 7, resource agents, the whole vibe. this is your girl's guide to moving a floating IP around inside a Google Cloud VPC. let's go πŸ¦‹


✨ NAME ✨

ocf_heartbeat_gcp-vpc-move-route β€” move an IP within a GCP VPC. that's the whole thing. that's the assignment. πŸ’…


🌸 SYNOPSIS 🌸

gcp-vpc-move-route [start | stop | monitor | meta-data | validate-all]

like, pick one of those five actions and go, bestie. no cap.


πŸ‘‘ DESCRIPTION πŸ‘‘

so this resource agent can move a floating IP address within a GCP VPC by changing an entry in the routing table. and it doesn't just leave it there β€” it also configures the floating IP locally on the instance OS. multitasking queen. πŸ”₯

but fr fr, there are requirements, and they are not optional:

  • IP forwarding must be enabled on all instances in order to be able to terminate the route. yes, all of them. πŸ™ˆ
  • the floating IP address must be chosen so that it's outside all existing subnets in the VPC network. don't pick one that's already taken, that's giving chaos.
  • IAM permissions, and you need all of these (peep https://cloud.google.com/compute/docs/access/iam-permissions):
    1. compute.routes.delete, compute.routes.get and compute.routes.update on the route
    2. compute.networks.updatePolicy on the network (to add a new route)
    3. compute.networks.get on the network (to check the VPC network existence)
    4. compute.routes.list on the project (to check conflicting routes)
bestie. the permissions are not a suggestion. if you skip one, the vibe check fails. πŸ’€

πŸŽ€ SUPPORTED PARAMETERS πŸŽ€

  • ip β€” the floating IP address. note that this IP must be chosen outside of all existing subnet ranges. (unique, required, string, no default)
  • vpc_network β€” name of the VPC network. (optional, string, default "default")
  • project β€” project ID of the instance. it can be useful to set this attribute if the instance is in a shared service project. otherwise, the agent should be able to determine the project ID automatically. (optional, string, default "default")
  • interface β€” name of the network interface. (optional, string, default "eth0")
  • route_name β€” route name. (unique, optional, string, default "ra-gcp-vpc-move-route")
  • serviceaccount β€” path to Service account JSON file. (optional, string, no default)
  • stackdriver_logging β€” if enabled (set to true), IP failover logs will be posted to stackdriver logging. (optional, boolean, default false)

πŸ¦‹ SUPPORTED ACTIONS πŸ¦‹

this resource agent supports the following actions (operations), and honestly? each one is a little main character:

  • 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: 30s. suggested interval: 60s.
  • 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.

🌈 EXAMPLE CRM SHELL 🌈

here's an example config for a gcp-vpc-move-route resource using the crm(8) shell. copy it exactly, bestie, don't freestyle:

primitive p_gcp-vpc-move-route ocf:heartbeat:gcp-vpc-move-route \
  params \
    ip=string \
  op monitor depth="0" timeout="30s" interval="60s"

⭐ EXAMPLE PCS ⭐

and here's the same energy for a gcp-vpc-move-route resource using pcs(8):

pcs resource create p_gcp-vpc-move-route ocf:heartbeat:gcp-vpc-move-route \
  ip=string \
  op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="60s"

πŸ’œ SEE ALSO πŸ’œ


🧚 AUTHOR 🧚

ClusterLabs contributors (see the resource agent source for information about individual authors). they ate, fr. πŸ‘‘


and that's the whole page, babes β€” resource-agents UNKNOWN, dated 04/08/2026, OCF_HEARTBEAT_GCP-V(7), out. slay, go move that IP. πŸ’–βœ¨

πŸ“¦ where this page comes from