Comment 0 for bug 1589599

Revision history for this message
Alexey Galkin (agalkin) wrote :

RabbitMQ hasn't any policy. By default pacemaker has incorrect configuration for rabbitmq.

1. Deploy env with 3 controller + 1 compute
2. Make ssh to controller and execute:
 root@node-2:~# file $(pcs resource show p_rabbitmq-server | grep policy_file | awk -F 'policy_file=' '{print $2}')
/usr/sbin/set_rabbitmq_policy: directory
3. And execute:
 root@node-2:~# rabbitmqctl list_policies
 Listing policies ...
 root@node-2:~#

Excepted results:

[Step2] Make ssh to controller and execute:
 root@node-2:~# file $(pcs resource show p_rabbitmq-server | grep policy_file | awk -F 'policy_file=' '{print $2}')
/usr/sbin/set_rabbitmq_policy/set_rabbitmq_policy.sh: ASCII text

[Step3] And execute:
root@node-2:~# rabbitmqctl list_policies
Listing policies ...
/ ha-notif all ^(event|metering|notifications)\\. {"ha-mode":"all","ha-sync-mode":"automatic"} 0
/ heat_rpc_expire all ^heat-engine-listener\\. {"expires":3600000} 1
/ results_expire all ^results\\. {"expires":3600000} 1
/ tasks_expire all ^tasks\\. {"expires":3600000} 1
root@node-2:~#

Actual:

[Step 2] Make ssh to controller and execute:
 root@node-2:~# file $(pcs resource show p_rabbitmq-server | grep policy_file | awk -F 'policy_file=' '{print $2}')
/usr/sbin/set_rabbitmq_policy: directory

[Step 3] And execute:
 root@node-2:~# rabbitmqctl list_policies
 Listing policies ...
 root@node-2:~#

Reproducibility:
 Always

Workaround:
 1.Make ssh on one of controllers and execute: crm_resource --resource p_rabbitmq-server --set-parameter policy_file --parameter-value /usr/sbin/set_rabbitmq_policy/set_rabbitmq_policy.sh
 2.Restart rabbitmq cluster with pcs by command: pcs resource restart p_rabbitmq-server

Impact:
 This bug break events replication (Messages(events) are lost when rabbit restarting on one of nodes). May be critical/blocker for celiometers.

Description of the environment:
 iso: 9.0-mos.all #443.
 shotgun2 report: http://paste.openstack.org/show/508416