Hide Forgot
Description of problem: <altname ../> element validation is position dependent If it's the first element of <clusternode> then it works, if it's the last element there then it does not work. Version-Release number of selected component (if applicable): cman-3.0.12.1-21.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. add <altname> as a first tag 2. ccs_config_validate 3. move the <altname> tag so that it's the last element of <clusternode> 4. ccs_config_validate Actual results: step 4 fails: tempfile:15: element altname: Relax-NG validity error : Element clusternode has extra content: altname tempfile:6: element clusternode: Relax-NG validity error : Element clusternodes has extra content: clusternode Expected results: Configuration validates Additional info: (07:35:20) [root@marathon-01:/etc/cluster]$ cat cluster.conf <?xml version="1.0"?> <cluster name="marathon" config_version="1"> <cman> </cman> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="marathon-01" votes="1" nodeid="1"> <fence> <method name="scsi"> <device name="scsi_fence_dev"/> </method> </fence> <unfence> <device name="scsi_fence_dev" action="on"/> </unfence> <altname name="marathon-01-a"/> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_scsi" name="scsi_fence_dev" devices="/dev/disk/by-id/scsi-3600213a0ffffffff043a1c519a5c7601,/dev/disk/by-id/scsi-3600213a0ffffffff043a1c519a5c7600"/> </fencedevices> </cluster> (07:35:22) [root@marathon-01:/etc/cluster]$ ccs_config_validate tempfile:15: element altname: Relax-NG validity error : Element clusternode has extra content: altname tempfile:6: element clusternode: Relax-NG validity error : Element clusternodes has extra content: clusternode Configuration fails to validate (07:35:37) [root@marathon-01:/etc/cluster]$ cat cluster.conf <?xml version="1.0"?> <cluster name="marathon" config_version="1"> <cman> </cman> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="marathon-01" votes="1" nodeid="1"> <altname name="marathon-01-a"/> <fence> <method name="scsi"> <device name="scsi_fence_dev"/> </method> </fence> <unfence> <device name="scsi_fence_dev" action="on"/> </unfence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_scsi" name="scsi_fence_dev" devices="/dev/disk/by-id/scsi-3600213a0ffffffff043a1c519a5c7601,/dev/disk/by-id/scsi-3600213a0ffffffff043a1c519a5c7600"/> </fencedevices> </cluster> (07:35:40) [root@marathon-01:/etc/cluster]$ ccs_config_validate Configuration validates
Targetting 6.3. A workaround exists and issue for a TP technology.
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=c39f49052a97fe2bdd5f46c29409676bd1783ed9 Unit test postpatch: 1) no altname [root@clusternet-node2 ~]# ccs_config_validate Configuration validates [root@clusternet-node2 ~]# 2) altname on top <clusternode name="clusternet-node1-eth1" votes="1" nodeid="1"> <altname name="clusternet-node1-eth2"/> <fence> <method name="single"> <device name="xvm" domain="clusternet-node1"/> </method> </fence> </clusternode> [root@clusternet-node2 ~]# ccs_config_validate Configuration validates 3) altname bottom <clusternode name="clusternet-node1-eth1" votes="1" nodeid="1"> <fence> <method name="single"> <device name="xvm" domain="clusternet-node1"/> </method> </fence> <altname name="clusternet-node1-eth2"/> </clusternode> [root@clusternet-node2 ~]# ccs_config_validate Configuration validates [root@clusternet-node2 ~]# 4) altname mixed <clusternode name="clusternet-node1-eth1" votes="1" nodeid="1"> <fence> <method name="single"> <device name="xvm" domain="clusternet-node1"/> </method> </fence> <altname name="clusternet-node1-eth2"/> <unfence> </unfence> </clusternode>
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: No Documentation needed
Verified in cman-3.0.12.1-28.el6: [root@dash-03 ~]# cat /etc/cluster/cluster.conf <?xml version="1.0"?> <cluster name="dash" config_version="1"> <cman> </cman> <logging debug="on"/> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="dash-01" votes="1" nodeid="1"> <fence> <method name="apc"> <device name="link-apc" switch="2" port="2"/> </method> </fence> <altname name="dash-01-a"/> </clusternode> <clusternode name="dash-02" votes="1" nodeid="2"> <fence> <method name="apc"> <device name="link-apc" switch="2" port="3"/> </method> </fence> </clusternode> <clusternode name="dash-03" votes="1" nodeid="3"> <fence> <method name="apc"> <device name="link-apc" switch="2" port="4"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice name="link-apc" agent="fence_apc" ipaddr="link-apc" login="apc" passwd="apc"/> <fencedevice name="di-1" agent="fence_ipmilan" ipaddr="dash-01-ipmi" login="root" passwd="password"/> <fencedevice name="di-2" agent="fence_ipmilan" ipaddr="dash-02-ipmi" login="root" passwd="password"/> <fencedevice name="di-3" agent="fence_ipmilan" ipaddr="dash-03-ipmi" login="root" passwd="password"/> </fencedevices> </cluster> [root@dash-03 ~]# rpm -q cman cman-3.0.12.1-24.el6.x86_64 [root@dash-03 ~]# ccs_config_validate tempfile:13: element altname: Relax-NG validity error : Element clusternode has extra content: altname tempfile:7: element clusternode: Relax-NG validity error : Element clusternodes has extra content: clusternode Configuration fails to validate Same cluster.conf as above with updated packages: [root@dash-03 ~]# rpm -q cman cman-3.0.12.1-28.el6.x86_64 [root@dash-03 ~]# ccs_config_validate Configuration validates 1) No altname: [root@dash-03 ~]# ccs_config_validate Configuration validates 2) altname on top: <?xml version="1.0"?> <cluster name="dash" config_version="1"> <cman> </cman> <logging debug="on"/> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="dash-01" votes="1" nodeid="1"> <altname name="dash-01-a"/> <fence> <method name="apc"> <device name="link-apc" switch="2" port="2"/> </method> </fence> </clusternode> [root@dash-03 ~]# ccs_config_validate Configuration validates 3) altname bottom: <?xml version="1.0"?> <cluster name="dash" config_version="1"> <cman> </cman> <logging debug="on"/> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="dash-01" votes="1" nodeid="1"> <fence> <method name="apc"> <device name="link-apc" switch="2" port="2"/> </method> </fence> <altname name="dash-01-a"/> </clusternode> [root@dash-03 ~]# ccs_config_validate Configuration validates 4) altname mixed: <?xml version="1.0"?> <cluster name="dash" config_version="1"> <cman> </cman> <logging debug="on"/> <fence_daemon post_join_delay="20" clean_start="0"/> <clusternodes> <clusternode name="dash-01" votes="1" nodeid="1"> <fence> <method name="apc"> <device name="link-apc" switch="2" port="2"/> </method> </fence> <altname name="dash-01-a"/> <unfence> </unfence> </clusternode> [root@dash-03 ~]# ccs_config_validate Configuration validates
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. http://rhn.redhat.com/errata/RHBA-2012-0861.html