Folks, after we merged https://review.openstack.org/184671, there is a situation possible when the action start joins the node to the cluster (it becomes visible in db_nodes), but the monitor action cannot see if it is absent in running_db_nodes!
root@node-1:~# rabbitmqctl eval 'mnesia:system_info(running_db_nodes).' ['rabbit@node-3','rabbit@node-2'] ...done. root@node-1:~# rabbitmqctl eval 'mnesia:system_info(db_nodes).' ['rabbit@node-2','rabbit@node-3','rabbit@node-1'] ...done.
root@node-1:~# ocf_handler_rabbitmq-server monitor lrmd: DEBUG: p_rabbitmq-server: monitor: action start. lrmd: INFO: p_rabbitmq-server: get_monitor(): get_status() returns 0. lrmd: INFO: p_rabbitmq-server: get_monitor(): also checking if we are master. lrmd: INFO: p_rabbitmq-server: get_monitor(): master attribute is 1 lrmd: INFO: p_rabbitmq-server: get_monitor(): checking if rabbit app is running lrmd: INFO: p_rabbitmq-server: get_monitor(): preparing to update master score for node lrmd: INFO: p_rabbitmq-server: get_monitor(): comparing our uptime (0) with node-3.test.domain.local (787) lrmd: INFO: p_rabbitmq-server: get_monitor(): get_monitor function ready to return 0 lrmd: DEBUG: p_rabbitmq-server: monitor: role: lrmd: DEBUG: p_rabbitmq-server: monitor: result: 0 lrmd: DEBUG: p_rabbitmq-server: monitor: action end. Exit status: -e Success (0)
Folks, after we merged https:/ /review. openstack. org/184671,
there is a situation possible when the action start joins the node to the cluster (it becomes visible in db_nodes), but the monitor action cannot see if it is absent in running_db_nodes!
root@node-1:~# rabbitmqctl eval 'mnesia: system_ info(running_ db_nodes) .' node-3' ,'rabbit@ node-2' ] system_ info(db_ nodes). ' node-2' ,'rabbit@ node-3' ,'rabbit@ node-1' ]
['rabbit@
...done.
root@node-1:~# rabbitmqctl eval 'mnesia:
['rabbit@
...done.
root@node-1:~# ocf_handler_ rabbitmq- server monitor test.domain. local (787)
lrmd: DEBUG: p_rabbitmq-server: monitor: action start.
lrmd: INFO: p_rabbitmq-server: get_monitor(): get_status() returns 0.
lrmd: INFO: p_rabbitmq-server: get_monitor(): also checking if we are master.
lrmd: INFO: p_rabbitmq-server: get_monitor(): master attribute is 1
lrmd: INFO: p_rabbitmq-server: get_monitor(): checking if rabbit app is running
lrmd: INFO: p_rabbitmq-server: get_monitor(): preparing to update master score for node
lrmd: INFO: p_rabbitmq-server: get_monitor(): comparing our uptime (0) with node-3.
lrmd: INFO: p_rabbitmq-server: get_monitor(): get_monitor function ready to return 0
lrmd: DEBUG: p_rabbitmq-server: monitor: role:
lrmd: DEBUG: p_rabbitmq-server: monitor: result: 0
lrmd: DEBUG: p_rabbitmq-server: monitor: action end.
Exit status: -e Success (0)