[SOLVED] pvecm status fails to parse valid corosync.conf (missing ':' after key '3')

cluck

Member
May 21, 2021
14
9
8
55
# pvecm status
missing ':' after key '2'
Can't use an undefined value as a HASH reference at /usr/share/perl5/PVE/CLI/pvecm.pm line 486, <DATA> line 960.

This is while corosync is happily running, `corosync-cfgtool -n` shows running links etc..

Looks to me like pvecm is choking on the parameter auto_tie_breaker_node which accepts a multi-token argument value.

The snipped below is from the votequorum(5) man page:

quorum {
provider: corosync_votequorum
expected_votes: 8
auto_tie_breaker: 1
auto_tie_breaker_node: 1 3 5
}
 
Compare /etc/pve/corosync.conf with /etc/corosync/corosyn.conf. The one in /etc/pve is the one to edit, as it will be distributed across the cluster, when it is quorate.

Other then that the whole nodelist is missing, aside from other parts.
 
My corosync is working properly. I haven't posted my corosync.conf because I think I see a parser bug that is independent of the config file in /usr/share/perl5/PVE/Corosync.pm (approx line 92).

The parser is just a tad too simplistic and fails to parse valid corosync.conf files when they contain multi-valued options. E.g. it fails to parse "auto_tie_breaker_node: 1 3 5"), but succeeds in parsing "auto_tie_breaker_node: 3". The configuration snipped posted previously is just the "part" of corosync.conf required to reproduce the bug, and to give some minimal context.