From 7ea40f0ee611eee917b331ad4ac0645bd25c2618 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Thu, 26 Oct 2023 10:18:59 +0000 Subject: [PATCH] qa/tasks/ceph_manager: thrash - add trim stale osdmaps Signed-off-by: Matan Breizman --- qa/tasks/ceph_manager.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 86b57028ee2..0b6170ff5b0 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -235,6 +235,7 @@ class OSDThrasher(Thrasher): self.random_eio = self.config.get('random_eio') self.chance_force_recovery = self.config.get('chance_force_recovery', 0.3) self.chance_reset_purged_snaps_last = self.config.get('chance_reset_purged_snaps_last', 0.3) + self.chance_trim_stale_osdmaps = self.config.get('chance_trim_stale_osdmaps', 0.3) num_osds = self.in_osds + self.out_osds self.max_pgs = self.config.get("max_pgs_per_pool_osd", 1200) * len(num_osds) @@ -793,6 +794,19 @@ class OSDThrasher(Thrasher): except CommandFailedError: self.log('Failed to reset_purged_snaps_last, ignoring') + def trim_stale_osdmaps(self): + """ + Trim stale osdmaps + """ + self.log('trim_stale_osdmaps') + for osd in self.in_osds: + try: + self.ceph_manager.raw_cluster_cmd( + 'tell', "osd.%s" % (str(osd)), + 'trim stale osdmaps') + except CommandFailedError: + self.log('Failed to trim stale osdmaps, ignoring') + def all_up(self): """ Make sure all osds are up and not out. @@ -1245,6 +1259,8 @@ class OSDThrasher(Thrasher): actions.append((self.force_cancel_recovery, self.chance_force_recovery)) if self.chance_reset_purged_snaps_last > 0: actions.append((self.reset_purged_snaps_last, self.chance_reset_purged_snaps_last)) + if self.chance_trim_stale_osdmaps > 0: + actions.append((self.trim_stale_osdmaps, self.chance_trim_stale_osdmaps)) for key in ['heartbeat_inject_failure', 'filestore_inject_stall']: for scenario in [ -- 2.39.5