]> git.proxmox.com Git - pve-cluster.git/commitdiff
reload corosync.conf after removing a node
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 20 Sep 2016 07:34:30 +0000 (09:34 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 20 Sep 2016 07:34:30 +0000 (09:34 +0200)
origial patch from w.link, rebased on current code

data/PVE/CLI/pvecm.pm

index 25273327f53cfc40a14c2b3efff01187720870a4..b26a1eca29298581f5a81fa0599e87ce9c3d3997 100755 (executable)
@@ -410,14 +410,17 @@ __PACKAGE__->register_method ({
        my $nodelist = corosync_nodelist($conf);
 
        my $node;
+       my $nodeid;
 
        foreach my $tmp_node (keys %$nodelist) {
-           my $ring0_addr = $nodelist->{$tmp_node}->{ring0_addr};
-           my $ring1_addr = $nodelist->{$tmp_node}->{ring1_addr};
+           my $d = $nodelist->{$tmp_node};
+           my $ring0_addr = $d->{ring0_addr};
+           my $ring1_addr = $d->{ring1_addr};
            if (($tmp_node eq $param->{node}) ||
                (defined($ring0_addr) && ($ring0_addr eq $param->{node})) ||
                (defined($ring1_addr) && ($ring1_addr eq $param->{node}))) {
                $node = $tmp_node;
+               $nodeid = $d->{nodeid};
                last;
            }
        }
@@ -429,6 +432,9 @@ __PACKAGE__->register_method ({
 
        corosync_update_nodelist($conf, $nodelist);
 
+       PVE::Tools::run_command(['corosync-cfgtool','-k', $nodeid])
+           if defined($nodeid);
+
        return undef;
     }});