[pve-devel] [PATCH cluster v2 1/8] corosync config: support 'linknumber' property
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Jun 11 19:36:26 CEST 2019
Corosync has moved its rings a layer up, i.e., abstracted away from
the network layer below. That what early were called rings are now
links, knet can have up to 8 all others 1, for now.
Let our parser understand this change in the totem section of the
config, but keep backwards compatibility and accept 'ringnumber'
also.
While we are at it, try to write out the two map operations used in a
bit more readable way.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
changes v1 (RFC) -> v2:
* fix commit message typos
data/PVE/Corosync.pm | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/data/PVE/Corosync.pm b/data/PVE/Corosync.pm
index e46a119..fea7258 100644
--- a/data/PVE/Corosync.pm
+++ b/data/PVE/Corosync.pm
@@ -73,8 +73,17 @@ sub parse_conf {
# make working with the config way easier
my ($totem, $nodelist) = $conf->{main}->@{"totem", "nodelist"};
- $nodelist->{node} = { map { $_->{name} // $_->{ring0_addr} => $_ } @{$nodelist->{node}} };
- $totem->{interface} = { map { $_->{ringnumber} => $_ } @{$totem->{interface}} };
+
+ $nodelist->{node} = {
+ map {
+ $_->{name} // $_->{ring0_addr} => $_
+ } @{$nodelist->{node}}
+ };
+ $totem->{interface} = {
+ map {
+ $_->{linknumber} // $_->{ringnumber} => $_
+ } @{$totem->{interface}}
+ };
$conf->{digest} = $digest;
@@ -210,7 +219,7 @@ sub create_conf {
interface => {
0 => {
bindnetaddr => $bindnet0_addr,
- ringnumber => 0,
+ linknumber => 0,
},
},
},
@@ -246,7 +255,7 @@ sub create_conf {
$conf->{totem}->{interface}->{1} = {
bindnetaddr => $bindnet1_addr,
- ringnumber => 1,
+ linknumber => 1,
};
$conf->{totem}->{rrp_mode} = 'passive';
$conf->{nodelist}->{node}->{$nodename}->{ring1_addr} = $ring1_addr;
--
2.20.1
More information about the pve-devel
mailing list