Red Hat Bugzilla – Bug 1342376
The expiration policy will be removed after restarting the rabbitmq cluster via pacemaker
Last modified: 2017-08-01 10:55:11 EDT
Description of problem: The expiration policy will be removed after restarting the rabbitmq cluster via pacemaker Version-Release number of selected component (if applicable): OSP6 HA How reproducible: 100% Steps to Reproduce: 1. Create a expiration policy to a queue 2. Restart the rabbitmq-server-clone via pacemaker 3. Check the policy Actual results: The policy is removed Expected results: The policy should persist Additional info:
I tested resource-agents-3.9.5-86.el7.x86_64 on osp-10 latest and it failed, should i check with a different version of rabbitmq?(or on later osp versions?) [root@overcloud-controller-0 ~]# rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"all"} 0 / expiry queues .* {"expires":60000} 0 [root@overcloud-controller-0 ~]# pcs resource disable rabbitmq-clone all;sleep 60;pcs resource enable rabbitmq-clone all [root@overcloud-controller-0 ~]# rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"all"} 0 [root@overcloud-controller-0 ~]# rpm -qa |grep resource-agents- resource-agents-3.9.5-86.el7.x86_64 [root@overcloud-controller-0 ~]# rpm -qa |grep rabbit puppet-rabbitmq-5.6.0-1.057a013git.el7ost.noarch rabbitmq-server-3.6.3-6.el7ost.noarch
Ok, I've found what went wrong. We should dump/restore another one table - rabbit_runtime_parameters. // rabbitmqctl eval "ets:tab2list(rabbit_runtime_parameters)."
Failed. Tested using osp11. resource-agents-3.9.5-95.el7.x86_64 puppet-rabbitmq-5.6.0-3.03b8592git.el7ost.noarch rabbitmq-server-3.6.5-1.el7ost.noarch [root@puma04 ~]# rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 [root@puma04 ~]# rabbitmqctl set_policy expiry ".*" '{"expires":60000}' --apply-to queues Setting policy "expiry" for pattern ".*" to "{\"expires\":60000}" with priority "0" ... [root@puma04 ~]# rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 / expiry queues .* {"expires":60000} 0 [root@puma04 ~]# pcs resource disable rabbitmq-clone all;sleep 60;pcs resource enable rabbitmq-clone all [root@puma04 ~]# rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 [root@puma04 ~]#
(In reply to Asaf Hirshberg from comment #7) > Failed. Tested using osp11. > resource-agents-3.9.5-95.el7.x86_64 > puppet-rabbitmq-5.6.0-3.03b8592git.el7ost.noarch > rabbitmq-server-3.6.5-1.el7ost.noarch > > [root@puma04 ~]# rabbitmqctl list_policies > Listing policies ... > / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 > [root@puma04 ~]# rabbitmqctl set_policy expiry ".*" '{"expires":60000}' > --apply-to queues > Setting policy "expiry" for pattern ".*" to "{\"expires\":60000}" with > priority "0" ... > [root@puma04 ~]# rabbitmqctl list_policies > Listing policies ... > / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 > / expiry queues .* {"expires":60000} 0 > [root@puma04 ~]# pcs resource disable rabbitmq-clone all;sleep 60;pcs > resource enable rabbitmq-clone all > [root@puma04 ~]# rabbitmqctl list_policies > Listing policies ... > / ha-all all ^(?!amq\\.).* {"ha-mode":"exactly","ha-params":2} 0 > [root@puma04 ~]# We've found an error in script. We'll provide a test build shortly. https://github.com/ClusterLabs/resource-agents/pull/983
Verified on resource-agents-3.9.5-105.el7. [heat-admin@messaging-0 ~]$ sudo rabbitmqctl set_policy expiry ".*" '{"expires":60000}' --apply-to queues Setting policy "expiry" for pattern ".*" to "{\"expires\":60000}" with priority "0" ... [heat-admin@messaging-0 ~]$ sudo pcs resource disable rabbitmq-clone all;sleep 80;sudo pcs resource enable rabbitmq-clone all [heat-admin@messaging-0 ~]$ sudo rabbitmqctl list_policies Listing policies ... / ha-all all ^(?!amq\\.).* {"ha-mode":"all"} 0 / expiry queues .* {"expires":60000} 0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:1844