[ClusterLabs] Coming in 1.1.14: Fencing topology based on node attribute

Andrew Beekhof andrew at beekhof.net
Wed Sep 9 12:20:43 UTC 2015


> On 9 Sep 2015, at 7:45 pm, Kristoffer Grönlund <kgronlund at suse.com> wrote:
> 
> Hi,
> 
> Ken Gaillot <kgaillot at redhat.com> writes:
> 
>> Pacemaker's upstream master branch has a new feature that will be part
>> of the eventual 1.1.14 release.
>> 
>> Fencing topology is used when a node requires multiple fencing devices
>> (in combination or as fallbacks). Currently, topologies must be
>> specified by node name (or a regular expression matching node names).
>> 
>> The new feature allows topologies to specified by node attribute.
> 
> Sounds like a really useful feature. :) I have implemented initial
> support for this syntax in crmsh,

word of warning, i’m in the process of changing it to avoid overloading the ‘target’ attribute and exposing quoting issues stemming from people’s use of ‘='

   https://github.com/beekhof/pacemaker/commit/ea4fc1c



> so this will work fine in the next
> version of crmsh.
> 
> Examples of crmsh syntax below:
> 
>> Previously, if node1 was in rack #1, you'd have to register a fencing
>> topology by its name, which at the XML level would look like:
>> 
>>   <fencing-topology>
>>      <fencing-level id="node1-1" index="1" target="node1"
>>          devices="apc01,apc02"/>
>>   </fencing-topology>
>> 
> 
> crm cfg fencing-topology node1: apc01,apc02
> 
>> 
>> With the new feature, you could instead register a topology for all
>> hosts that have a node attribute "rack" whose value is "1":
>> 
>>   <fencing-topology>
>>      <fencing-level id="rack-1-1" index="1" target="rack=1"
>>          devices="apc01,apc02"/>
>>   </fencing-topology>
>> 
> 
> crm cfg fencing-topology rack=1: apc01,apc02
> 
>> 
>> You would assign that attribute to all nodes in that rack, e.g.:
>> 
>>   crm_attribute --type nodes --node node1 --name rack --update 1
>> 
> 
> crm node attr node1 set rack 1
> 
>> 
>> The syntax accepts either '=' or ':' as the separator for the name/value
>> pair, so target="rack:1" would work in the XML as well.
> 
> crm cfg fencing-topology rack:1: apc01,apc02
> 
> (admittedly perhaps not as clean as using '=', but it works)
> 
> Cheers,
> Kristoffer
> 
>> -- 
>> Ken Gaillot <kgaillot at redhat.com>
>> 
>> _______________________________________________
>> Users mailing list: Users at clusterlabs.org
>> http://clusterlabs.org/mailman/listinfo/users
>> 
>> Project Home: http://www.clusterlabs.org
>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>> Bugs: http://bugs.clusterlabs.org
>> 
> 
> -- 
> // Kristoffer Grönlund
> // kgronlund at suse.com
> 
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org





More information about the Users mailing list