[ClusterLabs Developers] Proposed future feature: multiple notification scripts

Andrew Beekhof andrew at beekhof.net
Fri Dec 4 00:40:49 UTC 2015


> On 3 Dec 2015, at 4:14 PM, Digimer <lists at alteeve.ca> wrote:
> 
> On 02/12/15 06:23 PM, Ken Gaillot wrote:
>> This will be of interest to cluster front-end developers and anyone who
>> needs event notifications ...
>> 
>> One of the new features in Pacemaker 1.1.14 will be built-in
>> notifications of cluster events, as described by Andrew Beekhof on That
>> Cluster Guy blog:
>> http://blog.clusterlabs.org/blog/2015/reliable-notifications/
>> 
>> For a future version, we're considering extending that to allow multiple
>> notification scripts, each with multiple recipients. This would require
>> a significant change in the CIB. Instead of a simple cluster property,
>> our current idea is a new configuration section in the CIB, probably
>> along these lines:
>> 
>> <configuration>
>>   <!-- usual crm_config etc. here -->
>> 
>>   <!-- this is the new section -->
>>   <notifications>
>> 
>>      <!-- each script would be in a notify element -->
>>      <notify id="notify-1" path="/my/script.sh" timeout="30s">
>> 
>>         <recipient id="recipient-1" value="me at example.com" />
>>         <!-- etc. for multiple recipients -->
>> 
>>      </notify>
>> 
>>      <!-- etc. for multiple scripts -->
>> 
>>   </notifications>
>> </configuration>
>> 
>> 
>> The recipient values would be passed to the script as command-line
>> arguments (ex. "/my/script.sh me at example.com").
>> 
>> For backward compatibility, the (brand new!) notification-agent and
>> notification-recipient cluster properties would be kept as deprecated
>> shortcuts for a single notify script and recipient.
>> 
>> Also for backward compatibility, the first recipient would be passed to
>> the script as the CRM_notify_recipient environment variable.
>> 
>> This proposal came about because the new notification capability has
>> turned out to be useful enough that people sometimes want to use it for
>> multiple purposes, e.g. email an administrator, and notify some software
>> that an event occurred. Trying to fit unrelated actions in one
>> notification script (or a script that calls multiple other scripts) has
>> obvious pitfalls, so this would make it easier on sysadmins.
>> 
>> Another advantage will be a configurable timeout (1.1.14 will have a
>> hardcoded 5-minute timeout for notification scripts).
> 
> In ScanCore, we handled this by delivering to a locally configured
> postfix instance. This handles queueing and delivery without the
> higher-level app needing to worry about it.
> 
> (unless I am misunderstanding "timeout" in this context…)

how long the script can take

> 
>> The crm_attribute command and the various cluster front-ends would need
>> to be modified to handle the new configuration syntax.
>> 
>> This is all in the idea stage (development is still a ways off), so any
>> comments, suggestions, criticisms, etc. are welcome.
> 
> Would it be up to the called script to craft the message,

yes because pacemaker has (and wants) no knowledge of the transport (SMS, vs email vs. snmp etc)

> or would the
> message be generated by pacemaker? If the later; How would you handle
> internationalization?
> 
> Event-driven alerts is a fantastic idea. :D
> 
> -- 
> Digimer
> Papers and Projects: https://alteeve.ca/w/
> What if the cure for cancer is trapped in the mind of a person without
> access to education?
> 
> _______________________________________________
> Developers mailing list
> Developers at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/developers





More information about the Developers mailing list