[ClusterLabs] No node name in corosync-cmapctl output

Jan Friesse jfriesse at redhat.com
Tue May 31 09:34:54 EDT 2022


Hi,

On 31/05/2022 15:16, Andreas Hasenack wrote:
> Hi,
> 
> corosync 3.1.6
> pacemaker 2.1.2
> crmsh 4.3.1
> 
> TL;DR
> I only seem to get a "name" attribute in the "corosync-cmapctl | grep
> nodelist" output if I set an explicit name in corosync.conf's
> nodelist. If I rely on the default of "name will be uname -n if it's
> not set", I get nothing.
> 

wondering where is problem? name is not set so it's not in cmap, what is 
(mostly) 1:1 mapping of config file. So this is expected, not a bug.

> 
> I formed a test cluster of 3 nodes, and I'm not setting the name
> attribute in the nodelist, so that it defaults to `uname -n`:
> nodelist {
>      node {
>           nodeid: 1
>          ring0_addr: k1
>      }
>      node {
>          nodeid: 2
>          ring0_addr: k2
>      }
>      node {
>          nodeid: 3
>          ring0_addr: k3
>      }
> }
> 
> The addresses "k1", "k2" and "k3" are fully resolvable (I know IPs are
> better, but for this quick test it was simpler to use the hostnames).
> 
> crm status is happy:
> root at k1:~# crm status
> Cluster Summary:
>    * Stack: corosync
>    * Current DC: k3 (version 2.1.2-ada5c3b36e2) - partition with quorum
>    * Last updated: Tue May 31 12:53:02 2022
>    * Last change:  Tue May 31 12:51:55 2022 by hacluster via crmd on k3
>    * 3 nodes configured
>    * 0 resource instances configured
> 
> Node List:
>    * Online: [ k1 k2 k3 ]
> 
> Full List of Resources:
>    * No resources
> 
> 
> But there is no node name in the corosync-cmapctl output:
> 
> root at k1:~# corosync-cmapctl |grep nodelist
> nodelist.local_node_pos (u32) = 0
> nodelist.node.0.nodeid (u32) = 1
> nodelist.node.0.ring0_addr (str) = k1
> nodelist.node.1.nodeid (u32) = 2
> nodelist.node.1.ring0_addr (str) = k2
> nodelist.node.2.nodeid (u32) = 3
> nodelist.node.2.ring0_addr (str) = k3
> 
> I was expecting to have entries like "nodelist.node.0.name = k1" in
> that output. Apparently I only get that if I explicitly set a node
> name in nodelist.
> 
> For example, if I set the name of nodeid 1 to "explicit1":
>      node {
>          name: explicit1
>          nodeid: 1
>          ring0_addr: k1
>      }
> 
> Then I get the name attribute for that nodeid only:
> # corosync-cmapctl |grep nodelist
> nodelist.local_node_pos (u32) = 0
> nodelist.node.0.name (str) = explicit1
> nodelist.node.0.nodeid (u32) = 1
> nodelist.node.0.ring0_addr (str) = k1
> nodelist.node.1.nodeid (u32) = 2
> nodelist.node.1.ring0_addr (str) = k2
> nodelist.node.2.nodeid (u32) = 3
> nodelist.node.2.ring0_addr (str) = k3
> 
> Why not also use "uname -n" when "name" is not explicitly set in the
> corosync nodelist config?

Can you please share use case for this behavior? It shouldn't be be hard 
to implement.

Regards,
   Honza

> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
> 
> ClusterLabs home: https://www.clusterlabs.org/
> 



More information about the Users mailing list