Bug 684020 - Add totem/ttl option to cluster relax-ng schema
Summary: Add totem/ttl option to cluster relax-ng schema
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: cluster
Version: 6.1
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: 6.1
Assignee: Fabio Massimo Di Nitto
QA Contact: Cluster QE
URL:
Whiteboard:
: 684305 (view as bug list)
Depends On: 633415 640311 684305 684928 684930
Blocks: 688049
TreeView+ depends on / blocked
 
Reported: 2011-03-10 22:17 UTC by Angus Salkeld
Modified: 2011-05-19 12:54 UTC (History)
15 users (show)

Fixed In Version: cluster-3.0.12-37.el6
Doc Type: Bug Fix
Doc Text:
Clone Of: 640311
: 688049 (view as bug list)
Environment:
Last Closed: 2011-05-19 12:54:45 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0537 0 normal SHIPPED_LIVE cluster and gfs2-utils bug fix update 2011-05-18 17:57:40 UTC

Comment 1 Angus Salkeld 2011-03-10 22:21:44 UTC
Cloned (as suggested by fabio), so cluster can modify the schema to allow the new ttl option.

Comment 2 Fabio Massimo Di Nitto 2011-03-11 04:29:52 UTC
Lon please hold a sec on this one. I think there is a bug in cman preconfig that would prevent this to work forever. See #640311 comment 9.

I'll try to finish my investigation by end of today.

Comment 3 Fabio Massimo Di Nitto 2011-03-11 09:53:10 UTC
Confirmed the issue in #640311 comment 9 and 10.

Comment 4 Fabio Massimo Di Nitto 2011-03-11 11:32:50 UTC
Need info from 640311. I have patches ready for both cases, need to know the correct one, based on feedback.

Comment 5 Fabio Massimo Di Nitto 2011-03-11 18:29:06 UTC
*** Bug 684305 has been marked as a duplicate of this bug. ***

Comment 6 Fabio Massimo Di Nitto 2011-03-15 08:11:06 UTC
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=0f5af364300d3ddb2de2428de2f169be917a3c15

Patch is now upstream, based on agreements from other related BZs.

TTL in cman is configured as:

<cman...>
 <multicast ttl="value"/>
</cman>

and relaxng schema is updated to reflect that.

Tested in a 2 nodes cluster (one node i686 and one x86_64) with corosync + ttl patches and cman with this patch:

  <cman>
   <multicast ttl="0"/>
  </cman>

[root@fedora14-node1 ~]# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 84
Membership state: Cluster-Member
Nodes: 1
Expected votes: 2
Total votes: 1
Node votes: 1
Quorum: 2 Activity blocked
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node1
Node ID: 1
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.97 

Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 88
Membership state: Cluster-Member
Nodes: 1
Expected votes: 2
Total votes: 1
Node votes: 1
Quorum: 2 Activity blocked
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node2
Node ID: 2
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.98 

As expected with ttl=0 nodes do not join the cluster as multicast traffic is only local.

[root@fedora14-node1 ~]# corosync-objctl |grep ttl
cluster.cman.multicast.ttl=0
totem.interface.ttl=0

[root@fedora14-node2 ~]# corosync-objctl |grep ttl
cluster.cman.multicast.ttl=0
totem.interface.ttl=0

and key is propagated down to the totem interface config.

  <cman>
   <multicast ttl="1"/>
  </cman>

[root@fedora14-node1 ~]# cman_tool status 
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 92
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node1
Node ID: 1
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.97 
[root@fedora14-node1 ~]# 

[root@fedora14-node2 ~]# cman_tool status 
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 92
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node2
Node ID: 2
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.98 
[root@fedora14-node2 ~]# 

as expected, nodes join the cluster

[root@fedora14-node2 ~]# corosync-objctl |grep ttl
cluster.cman.multicast.ttl=1

default value is not propagated down as it is unnecessary operation.

  <cman>
   <multicast ttl="255"/>
  </cman>

Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 100
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node1
Node ID: 1
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.97 

[root@fedora14-node2 ~]# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 100
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node2
Node ID: 2
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.98 

[root@fedora14-node2 ~]# corosync-objctl |grep ttl
cluster.cman.multicast.ttl=255
totem.interface.ttl=255

Testing default (no multicast ttl specified):

[root@fedora14-node1 ~]# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 108
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node1
Node ID: 1
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.97 

[root@fedora14-node2 ~]# cman_tool status
Version: 6.2.0
Config Version: 2
Cluster Name: fabbione
Cluster Id: 25573
Cluster Member: Yes
Cluster Generation: 108
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2  
Active subsystems: 1
Flags: 
Ports Bound: 0  
Node name: fedora14-node2
Node ID: 2
Multicast addresses: 239.192.99.73 
Node addresses: 192.168.2.98 

[root@fedora14-node2 ~]# corosync-objctl |grep ttl
[root@fedora14-node2 ~]# 

testing error conditions:

  <cman>
   <multicast ttl="-1"/>
  </cman>

[root@fedora14-node2 cluster]# cman_tool -d join
Validating configuration
calling '/usr/sbin/ccs_config_validate  '
TTL value (4294967295) out of range (0 - 255)
Unable to get the configuration
cman_tool: Not joining, configuration is not valid

(the output of 4294967295 is due to ttl value being unsigned)

  <cman>
   <multicast ttl="256"/>
  </cman>

[root@fedora14-node2 cluster]# cman_tool -d join
Validating configuration
calling '/usr/sbin/ccs_config_validate  '
TTL value (256) out of range (0 - 255)
Unable to get the configuration
cman_tool: Not joining, configuration is not valid

Comment 9 errata-xmlrpc 2011-05-19 12:54:45 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0537.html


Note You need to log in before you can comment on or make changes to this bug.