[pve-devel] [PATCH pve-manager master v1 4/6] ceph: tools: simplify helper sub for crash keyring file

Max R. Carrara m.carrara at proxmox.com
Tue Sep 16 19:20:05 CEST 2025


... by using the new, more generic `create_or_update_keyring_file()`
helper sub.

Signed-off-by: Max R. Carrara <m.carrara at proxmox.com>
---
 PVE/Ceph/Tools.pm | 34 ++++++++--------------------------
 1 file changed, 8 insertions(+), 26 deletions(-)

diff --git a/PVE/Ceph/Tools.pm b/PVE/Ceph/Tools.pm
index afff1a0a..b6430f79 100644
--- a/PVE/Ceph/Tools.pm
+++ b/PVE/Ceph/Tools.pm
@@ -541,33 +541,15 @@ my sub create_or_update_keyring_file {
 sub create_or_update_crash_keyring_file {
     my ($rados) = @_;
 
-    if (!defined($rados)) {
-        $rados = PVE::RADOS->new();
-    }
+    my $entity = 'client.crash';
+    my $caps = [
+        mon => 'profile crash',
+        mgr => 'profile crash',
+    ];
 
-    my $output = $rados->mon_command({
-        prefix => 'auth get-or-create',
-        entity => 'client.crash',
-        caps => [
-            mon => 'profile crash',
-            mgr => 'profile crash',
-        ],
-        format => 'plain',
-    });
-
-    if (-f $pve_ceph_crash_key_path) {
-        my $contents = PVE::Tools::file_get_contents($pve_ceph_crash_key_path);
-
-        if ($contents ne $output) {
-            PVE::Tools::file_set_contents($pve_ceph_crash_key_path, $output);
-            return 1;
-        }
-    } else {
-        PVE::Tools::file_set_contents($pve_ceph_crash_key_path, $output);
-        return 1;
-    }
-
-    return 0;
+    return create_or_update_keyring_file(
+        $pve_ceph_crash_key_path, $entity, $caps, $rados,
+    );
 }
 
 # is also used in `pve-ceph-keyring` helper
-- 
2.47.3





More information about the pve-devel mailing list