which also removes some dead code (the my $local_last_version variable was never used)
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- PVE/API2/Cluster/Ceph.pm | 6 ++---- PVE/Ceph/Services.pm | 30 ++++++++++++++++++++++++++++++ PVE/Service/pvestatd.pm | 19 +------------------ 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/PVE/API2/Cluster/Ceph.pm b/PVE/API2/Cluster/Ceph.pm index 9e3cce50..71d5cde6 100644 --- a/PVE/API2/Cluster/Ceph.pm +++ b/PVE/API2/Cluster/Ceph.pm @@ -74,10 +74,8 @@ __PACKAGE__->register_method ({ version => PVE::Cluster::get_node_kv("ceph-version"), }; - if (defined(my $vers = PVE::Cluster::get_node_kv("ceph-versions"))) { - $res->{node} = { - map { eval { $_ => decode_json($vers->{$_}) } } keys %$vers - }; + if (defined(my $vers = PVE::Ceph::Services::get_ceph_versions())) { + $res->{node} = $vers; } for my $type ( qw(mon mgr mds) ) { diff --git a/PVE/Ceph/Services.pm b/PVE/Ceph/Services.pm index c17008cf..ef46b9ea 100644 --- a/PVE/Ceph/Services.pm +++ b/PVE/Ceph/Services.pm @@ -47,6 +47,36 @@ sub broadcast_ceph_services { } } +sub broadcast_ceph_versions { + my ($version, $buildcommit, $vers_parts) = PVE::Ceph::Tools::get_local_version(1); + + if ($version) { + # FIXME: remove with 7.0 - for backward compat only + PVE::Cluster::broadcast_node_kv("ceph-version", $version); + + my $node_versions = { + version => { + str => $version, + parts => $vers_parts, + }, + buildcommit => $buildcommit, + }; + PVE::Cluster::broadcast_node_kv("ceph-versions", encode_json($node_versions)); + } +} + +sub get_ceph_versions { + my $res; + + if (defined(my $vers = PVE::Cluster::get_node_kv("ceph-versions"))) { + $res = { + map { eval { $_ => decode_json($vers->{$_}) } } keys %$vers + }; + } + + return $res; +} + sub get_cluster_service { my ($type) = @_; diff --git a/PVE/Service/pvestatd.pm b/PVE/Service/pvestatd.pm index 88fb31ac..7899427d 100755 --- a/PVE/Service/pvestatd.pm +++ b/PVE/Service/pvestatd.pm @@ -465,24 +465,7 @@ sub update_ceph_metadata { PVE::Ceph::Services::broadcast_ceph_services(); - my ($version, $buildcommit, $vers_parts) = PVE::Ceph::Tools::get_local_version(1); - - - my $local_last_version = PVE::Cluster::get_node_kv('ceph-versions'); - - if ($version) { - # FIXME: remove with 7.0 - for backward compat only - PVE::Cluster::broadcast_node_kv("ceph-version", $version); - - my $node_versions = { - version => { - str => $version, - parts => $vers_parts, - }, - buildcommit => $buildcommit, - }; - PVE::Cluster::broadcast_node_kv("ceph-versions", encode_json($node_versions)); - } + PVE::Ceph::Services::broadcast_ceph_versions(); } sub update_sdn_status { -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel