From f6559fbb032c67b44563138af60d43c37e0b9997 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 14 Jul 2019 11:26:41 -0500 Subject: [PATCH] mgr/crash: add 'crash ls-new' Signed-off-by: Sage Weil (cherry picked from commit bebb1c31006ff3cba67831879b34699cf111f945) --- doc/mgr/crash.rst | 8 +++++++- src/pybind/mgr/crash/module.py | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/doc/mgr/crash.rst b/doc/mgr/crash.rst index 8a988103022ea..8cfd130f2aa1e 100644 --- a/doc/mgr/crash.rst +++ b/doc/mgr/crash.rst @@ -37,7 +37,13 @@ Remove a specific crash dump. ceph crash ls -List the timestamp/uuid crashids for all saved crash info. +List the timestamp/uuid crashids for all new and archived crash info. + +:: + + ceph crash ls-new + +List the timestamp/uuid crashids for all newcrash info. :: diff --git a/src/pybind/mgr/crash/module.py b/src/pybind/mgr/crash/module.py index a51bd163e6524..4944bdd06432b 100644 --- a/src/pybind/mgr/crash/module.py +++ b/src/pybind/mgr/crash/module.py @@ -103,6 +103,7 @@ class Module(MgrModule): self.crashes[crashid] = metadata key = 'crash/%s' % crashid self.set_store(key, json.dumps(metadata)) + self._refresh_health_checks() return 0, '', '' def ls(self): @@ -111,7 +112,11 @@ class Module(MgrModule): return self.do_ls({'prefix': 'crash ls'}, '') def do_ls(self, cmd, inbuf): - r = self.crashes.values() + if cmd['prefix'] == 'crash ls': + r = self.crashes.values() + else: + r = [crash for crashid, crash in self.crashes.items() + if 'archived' not in crash] if cmd.get('format') == 'json' or cmd.get('format') == 'json-pretty': return 0, json.dumps(r, indent=4), '' else: @@ -253,7 +258,13 @@ class Module(MgrModule): }, { 'cmd': 'crash ls', - 'desc': 'Show saved crash dumps', + 'desc': 'Show new and archived crash dumps', + 'perm': 'r', + 'handler': do_ls, + }, + { + 'cmd': 'crash ls-new', + 'desc': 'Show new crash dumps', 'perm': 'r', 'handler': do_ls, }, -- 2.39.5