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.csa...@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



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to