+++ This bug was initially created as a clone of Bug #2078265 +++ Description of problem: When there is a need of performing any manual activity involving multiple disable/enable of resources & has 'pcs alert' configured, it send across multiple email notifications to the recipients. RFE is to allow system admin to take control over the alert notifications where the alerts can be disabled temporarily and enabled later. #### The suggested implementation is an "enabled" meta-attribute that could be set for an <alert> or an individual <recipient>.
Added upstream by commit 30970ac
Version of pacemaker: > [root@virt-503:~]# rpm -q pacemaker > pacemaker-2.1.6-5.el8.x86_64 Setting of 2-node cluster with Dummy resource: > [root@virt-503:~]# pcs status > Cluster name: STSRHTS17786 > Cluster Summary: > * Stack: corosync (Pacemaker is running) > * Current DC: virt-503 (version 2.1.6-5.el8-6fdc9deea29) - partition with quorum > * Last updated: Fri Jul 28 16:44:05 2023 on virt-503 > * Last change: Fri Jul 28 16:44:01 2023 by root via cibadmin on virt-503 > * 2 nodes configured > * 3 resource instances configured > > Node List: > * Online: [ virt-503 virt-509 ] > > Full List of Resources: > * fence-virt-503 (stonith:fence_xvm): Started virt-503 > * fence-virt-509 (stonith:fence_xvm): Started virt-509 > * dummy (ocf::heartbeat:Dummy): Started virt-503 > > Daemon Status: > corosync: active/disabled > pacemaker: active/disabled > pcsd: active/enabled Installing and configuring sample alert agent on each node in cluster for 3 recipients: > [root@virt-503:~]# install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample /var/lib/pacemaker/alert_file.sh > [root@virt-503:~]# touch /var/log/pcmk_alert_file_default.log > [root@virt-503:~]# chown hacluster:haclient /var/log/pcmk_alert_file_default.log > [root@virt-503:~]# chmod 600 /var/log/pcmk_alert_file_default.log > [root@virt-503:~]# touch /var/log/pcmk_alert_file_enabled.log > [root@virt-503:~]# chown hacluster:haclient /var/log/pcmk_alert_file_enabled.log > [root@virt-503:~]# chmod 600 /var/log/pcmk_alert_file_enabled.log > [root@virt-503:~]# touch /var/log/pcmk_alert_file_disabled.log > [root@virt-503:~]# chown hacluster:haclient /var/log/pcmk_alert_file_disabled.log > [root@virt-503:~]# chmod 600 /var/log/pcmk_alert_file_disabled.log > [root@virt-509:~]# install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample /var/lib/pacemaker/alert_file.sh > [root@virt-509:~]# touch /var/log/pcmk_alert_file_default.log > [root@virt-509:~]# chown hacluster:haclient /var/log/pcmk_alert_file_default.log > [root@virt-509:~]# chmod 600 /var/log/pcmk_alert_file_default.log > [root@virt-509:~]# touch /var/log/pcmk_alert_file_enabled.log > [root@virt-509:~]# chown hacluster:haclient /var/log/pcmk_alert_file_enabled.log > [root@virt-509:~]# chmod 600 /var/log/pcmk_alert_file_enabled.log > [root@virt-509:~]# touch /var/log/pcmk_alert_file_disabled.log > [root@virt-509:~]# chown hacluster:haclient /var/log/pcmk_alert_file_disabled.log > [root@virt-509:~]# chmod 600 /var/log/pcmk_alert_file_disabled.log Creating a cluster alert and adding 3 alert recipients that have "enabled" meta-attributes - default, enabled=true and enabled=false: > [root@virt-503:~]# pcs alert create id=alert_file path=/var/lib/pacemaker/alert_file.sh > [root@virt-503:~]# pcs alert recipient add alert_file id=recipient_default value=/var/log/pcmk_alert_file_default.log meta enabled= > [root@virt-503:~]# pcs alert recipient add alert_file id=recipient_enabled value=/var/log/pcmk_alert_file_enabled.log meta enabled=true > [root@virt-503:~]# pcs alert recipient add alert_file id=recipient_disabled value=/var/log/pcmk_alert_file_disabled.log meta enabled=false Setting "enabled" meta-attributes for a cluster alert, then disabling and enabling Dummy resourse: > [root@virt-503:~]# pcs alert update alert_file meta enabled= > [root@virt-503:~]# pcs resource disable dummy > [root@virt-503:~]# pcs resource enable dummy > [root@virt-503:~]# pcs alert update alert_file meta enabled=false > [root@virt-503:~]# pcs resource disable dummy > [root@virt-503:~]# pcs resource enable dummy > [root@virt-503:~]# pcs alert update alert_file meta enabled=true > [root@virt-503:~]# pcs resource disable dummy > [root@virt-503:~]# pcs resource enable dummy Logging for each options: > [root@virt-503:~]# tail -f /var/log/pcmk_alert_file_default.log > 17:22:56.727687: Resource operation 'stop' for 'dummy' on 'virt-503': ok > 17:24:03.866507: Resource operation 'start' for 'dummy' on 'virt-503': ok > 17:24:03.913507: Resource operation 'monitor (10000)' for 'dummy' on 'virt-503': ok > 17:32:00.011228: Resource operation 'stop' for 'dummy' on 'virt-503': ok > 17:34:22.084844: Resource operation 'start' for 'dummy' on 'virt-503': ok > 17:34:22.121843: Resource operation 'monitor (10000)' for 'dummy' on 'virt-503': ok > > [root@virt-503:~]# tail -f /var/log/pcmk_alert_file_enabled.log > 17:22:56.727687: Resource operation 'stop' for 'dummy' on 'virt-503': ok > 17:24:03.866507: Resource operation 'start' for 'dummy' on 'virt-503': ok > 17:24:03.913507: Resource operation 'monitor (10000)' for 'dummy' on 'virt-503': ok > 17:32:00.011228: Resource operation 'stop' for 'dummy' on 'virt-503': ok > 17:34:22.084844: Resource operation 'start' for 'dummy' on 'virt-503': ok > 17:34:22.121843: Resource operation 'monitor (10000)' for 'dummy' on 'virt-503': ok > > [root@virt-503:~]# tail -f /var/log/pcmk_alert_file_disabled.log > > Results: alert meta-attributes recipient meta-attributes Should it be written to the log file? Does it works? ===================== ========================= ===================================== ============== default default yes yes enabled yes yes disabled no yes __________________________________________________________________________________________________________________________ enabled default yes yes enabled yes yes disabled no yes __________________________________________________________________________________________________________________________ disabled default no yes enabled no yes disabled no yes