[pve-devel] [PATCH manager] ceph: fix version check shortcut

Dominik Csapak d.csapak at proxmox.com
Fri Nov 5 15:23:47 CET 2021


with 'get_node_kv', we get a hash which contains the value for
all nodes in the cluster (with the nodename as key), so we have to use
the value from the hash corresponding to our nodename.

also the 'str' property is inside the 'version' hash

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
i noticed on my ceph cluster many warnings from pvestatd, because of this
 PVE/Ceph/Services.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/PVE/Ceph/Services.pm b/PVE/Ceph/Services.pm
index ad41dbe4..5340f5fc 100644
--- a/PVE/Ceph/Services.pm
+++ b/PVE/Ceph/Services.pm
@@ -52,9 +52,10 @@ sub broadcast_ceph_versions {
 
     if ($version) {
 	if (my $old = PVE::Cluster::get_node_kv("ceph-versions")) {
-	    $old = eval { decode_json($old) };
+	    my $nodename = PVE::INotify::nodename();
+	    $old = eval { decode_json($old->{$nodename}) };
 	    warn $@ if $@; # should not happen
-	    if (defined($old) && $old->{buildcommit} eq $buildcommit && $old->{str} eq $version) {
+	    if (defined($old) && $old->{buildcommit} eq $buildcommit && $old->{version}->{str} eq $version) {
 		return; # up to date, nothing to do so avoid (not exactly cheap) broadcast
 	    }
 	}
-- 
2.30.2






More information about the pve-devel mailing list