[Pacemaker] Missing lrm_opstatus
Ron Kerry
rkerry at sgi.com
Thu Sep 30 19:41:40 UTC 2010
Folks -
I am seeing the following message sequence that results in a "bogus" declaration of monitor failures
for two resources very quickly after a failover completes (from hendrix to genesis) with all
resources coming up. The scenario is the same for both resources.
CXFS resource monitor invoked after a successful start but the response is "faked" likely due to the
start-delay defined for monitoring.
Sep 30 10:23:33 genesis crmd: [12176]: info: te_rsc_command: Initiating action 8: monitor
CXFS_monitor_30000 on genesis (local)
Sep 30 10:23:33 genesis crmd: [12176]: info: do_lrm_rsc_op: Performing
key=8:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c op=CXFS_monitor_30000 )
Sep 30 10:23:33 genesis lrmd: [12173]: debug: on_msg_perform_op: an operation operation monitor[15]
on ocf::cxfs::CXFS for client 12176, its parameters: CRM_meta_name=[monitor]
CRM_meta_start_delay=[600000] crm_feature_set=[3.0.2] CRM_meta_on_fail=[restar..
Sep 30 10:23:33 genesis crmd: [12176]: info: do_lrm_rsc_op: Faking confirmation of
CXFS_monitor_30000: execution postponed for over 5 minutes
Sep 30 10:23:33 genesis crmd: [12176]: info: send_direct_ack: ACK'ing resource op CXFS_monitor_30000
from 8:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c: lrm_invoke-lrmd-1285860213-14
Sep 30 10:23:33 genesis crmd: [12176]: info: process_te_message: Processing (N)ACK
lrm_invoke-lrmd-1285860213-14 from genesis
Sep 30 10:23:33 genesis crmd: [12176]: info: match_graph_event: Action CXFS_monitor_30000 (8)
confirmed on genesis (rc=0)
Similar sequence for the TMF resource ...
Sep 30 10:23:44 genesis crmd: [12176]: info: te_rsc_command: Initiating action 12: monitor
TMF_monitor_60000 on genesis (local)
Sep 30 10:23:44 genesis crmd: [12176]: info: do_lrm_rsc_op: Performing
key=12:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c op=TMF_monitor_60000 )
Sep 30 10:23:44 genesis lrmd: [12173]: debug: on_msg_perform_op: an operation operation monitor[19]
on ocf::tmf::TMF for client 12176, its parameters: admin_emails=[rkerry at sgi.com]
loader_hosts=[ibm3494cps] devgrpnames=[ibm3592] loader_names=[ibm3494] loa...
Sep 30 10:23:44 genesis crmd: [12176]: info: do_lrm_rsc_op: Faking confirmation of
TMF_monitor_60000: execution postponed for over 5 minutes
Sep 30 10:23:44 genesis crmd: [12176]: info: send_direct_ack: ACK'ing resource op TMF_monitor_60000
from 12:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c: lrm_invoke-lrmd-1285860224-19
Sep 30 10:23:44 genesis crmd: [12176]: info: process_te_message: Processing (N)ACK
lrm_invoke-lrmd-1285860224-19 from genesis
Sep 30 10:23:44 genesis crmd: [12176]: info: match_graph_event: Action TMF_monitor_60000 (12)
confirmed on genesis (rc=0)
TMF monitor operation state gets an error. Note that the operation id matches the above invocation.
Sep 30 10:26:12 genesis lrmd: [12173]: debug: on_msg_get_state:state of rsc TMF is LRM_RSC_IDLE
Sep 30 10:26:12 genesis crmd: [12176]: WARN: msg_to_op(1326): failed to get the value of field
lrm_opstatus from a ha_msg
Sep 30 10:26:12 genesis crmd: [12176]: info: msg_to_op: Message follows:
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG: Dumping message with 16 fields
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[0] : [lrm_t=op]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[1] : [lrm_rid=TMF]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[2] : [lrm_op=monitor]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[3] : [lrm_timeout=630000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[4] : [lrm_interval=60000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[5] : [lrm_delay=600000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[6] : [lrm_copyparams=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[7] : [lrm_t_run=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[8] : [lrm_t_rcchange=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[9] : [lrm_exec_time=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[10] : [lrm_queue_time=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[11] : [lrm_targetrc=-2]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[12] : [lrm_app=crmd]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[13] :
[lrm_userdata=12:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[14] : [(2)lrm_param=0x6000000000081260(331 413)]
Same for the CXFS monitor operation state ...
Sep 30 10:26:12 genesis lrmd: [12173]: debug: on_msg_get_state:state of rsc CXFS is LRM_RSC_IDLE
Sep 30 10:26:12 genesis crmd: [12176]: WARN: msg_to_op(1326): failed to get the value of field
lrm_opstatus from a ha_msg
Sep 30 10:26:12 genesis crmd: [12176]: info: msg_to_op: Message follows:
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG: Dumping message with 16 fields
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[0] : [lrm_t=op]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[1] : [lrm_rid=CXFS]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[2] : [lrm_op=monitor]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[3] : [lrm_timeout=630000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[4] : [lrm_interval=30000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[5] : [lrm_delay=600000]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[6] : [lrm_copyparams=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[7] : [lrm_t_run=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[8] : [lrm_t_rcchange=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[9] : [lrm_exec_time=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[10] : [lrm_queue_time=0]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[11] : [lrm_targetrc=-2]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[12] : [lrm_app=crmd]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[13] :
[lrm_userdata=8:1:0:68ec92a5-8ae4-4b71-a37b-f348916fba9c]
Sep 30 10:26:12 genesis crmd: [12176]: info: MSG[14] : [(2)lrm_param=0x6000000000030320(214 254)]
In both cases, the lrm_opstatus field appears to be missing!!
This results in updating the fail-count and last-failure values for these resources.
Sep 30 10:26:12 genesis attrd: [12174]: info: attrd_trigger_update: Sending flush op to all hosts
for: fail-count-TMF (<null>)
Sep 30 10:26:12 genesis attrd: [12174]: info: attrd_trigger_update: Sending flush op to all hosts
for: last-failure-TMF (<null>)
Sep 30 10:26:12 genesis attrd: [12174]: info: attrd_trigger_update: Sending flush op to all hosts
for: last-failure-CXFS (<null>)
Sep 30 10:26:12 genesis attrd: [12174]: info: attrd_trigger_update: Sending flush op to all hosts
for: fail-count-CXFS (<null>)
This causes pengine to failover the resources thinking there was a monitor failure when there was not.
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource CXFS (Started
genesis -> hendrix)
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource VirtualIP (Started
genesis -> hendrix)
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource TMF (Started genesis ->
hendrix)
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource DMF (Started genesis ->
hendrix)
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource DMFMAN (Started
genesis -> hendrix)
Sep 30 10:26:12 genesis pengine: [12175]: notice: LogActions: Move resource DMFSOAP (Started
genesis -> hendrix)
--
Ron Kerry rkerry at sgi.com
Field Technical Support - SGI Federal
More information about the Pacemaker
mailing list