ocf_heartbeat_ovsmonitor - Man Page
Monitors ovs bonding bonds
Synopsis
ovsmonitor [start | stop | status | monitor | meta-data | validate-all]
Description
Monitor the vitality of a local ovs bond.
You may set up this RA as a clone resource to monitor the network bonds on different nodes, with the same bond name. This is not related to the IP address or the network on which a bond is configured. You may use this RA to move resources away from a node, which has a faulty bond or prevent moving resources to such a node. This gives you independent control of the resources, without involving cluster intercommunication. But it requires your nodes to have more than one network bond.
The resource configuration requires a monitor operation, because the monitor does the main part of the work. In addition to the resource configuration, you need to configure some location constraints, based on a CIB attribute value. The name of the attribute value is configured in the 'name' option of this RA.
Example constraint configuration using crmsh location loc_connected_node my_resource_grp rule ="rule_loc_connected_node" -INF: ovsmonitor-bond-public eq 0
Example constraint configuration using pcs. Only allow 'my_resource' to run on nodes where eth0 ethernet device is available. pcs constraint location my_resource rule score=-INFINITY ovsmonitor-bond-public ne 1
The ethmonitor works in 3 different modes to test the bond vitality. 1. call ovs-appctl to see if at least one of the bonding's link status is up (if link is down -> error) 2. call ovs-ofctl and watch the RX counter (if packages come around in a certain time -> success) 3. return error
Supported Parameters
- bond
The name of the network bond which should be monitored (e.g. bond-public).
(unique, required, string, no default)
- bridge
The name of the ovs bridge that contains the bridge.
(unique, required, string, no default)
- name
The name of the CIB attribute to set. This is the name to be used in the constraints. Defaults to "ovsmonitor-'bond_name'".
(unique, optional, string, no default)
- multiplier
Multiplier for the value of the CIB attriobute specified in parameter name.
(optional, integer, default 1)
- repeat_count
Specify how often the bond will be monitored, before the status is set to failed. You need to set the timeout of the monitoring operation to at least repeat_count * repeat_interval
(optional, integer, default 5)
- repeat_interval
Specify how long to wait in seconds between the repeat_counts.
(optional, integer, default 10)
- pktcnt_timeout
Timeout for the RX packet counter. Stop listening for packet counter changes after the given number of seconds.
(optional, integer, default 5)
- link_status_only
Only report success based on link status. Do not perform RX counter related connectivity tests.
(optional, boolean, default false)
Supported Actions
This resource agent supports the following actions (operations):
- start
Starts the resource. Suggested minimum timeout: 60s.
- stop
Stops the resource. Suggested minimum timeout: 20s.
- status
Performs a status check. Suggested minimum timeout: 60s. Suggested interval: 10s.
- monitor
Performs a detailed status check. Suggested minimum timeout: 60s. 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
The following is an example configuration for a ovsmonitor resource using the crm(8) shell:
primitive p_ovsmonitor ocf:heartbeat:ovsmonitor \ params \ bond=string \ bridge=string \ op monitor depth="0" timeout="60s" interval="10s"
Example PCS
The following is an example configuration for a ovsmonitor resource using pcs(8)
pcs resource create p_ovsmonitor ocf:heartbeat:ovsmonitor \ bond=string \ bridge=string \ op monitor OCF_CHECK_LEVEL="0" timeout="60s" interval="10s"
See Also
Author
ClusterLabs contributors (see the resource agent source for information about individual authors)