From d7cf226927e61ca3af25510822f509e0ee936649 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Fri, 30 Jan 2026 16:32:35 +0100 Subject: [PATCH] qa/tasks/rbd_mirror_thrash: don't use random.randrange() on floats This stopped working in Python 3.12: Changed in version 3.12: Automatic conversion of non-integer types is no longer supported. Calls such as randrange(10.0) and randrange(Fraction(10, 1)) now raise a TypeError. Fixes: https://tracker.ceph.com/issues/74676 Signed-off-by: Ilya Dryomov (cherry picked from commit d663359fae135b2337e0ffbb86256768f61088c7) --- qa/tasks/rbd_mirror_thrash.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qa/tasks/rbd_mirror_thrash.py b/qa/tasks/rbd_mirror_thrash.py index a42d19e7083..a5b7ae71f54 100644 --- a/qa/tasks/rbd_mirror_thrash.py +++ b/qa/tasks/rbd_mirror_thrash.py @@ -109,7 +109,7 @@ class RBDMirrorThrasher(Thrasher, Greenlet): while not self.stopping.is_set(): delay = self.max_thrash_delay if self.randomize: - delay = random.randrange(self.min_thrash_delay, self.max_thrash_delay) + delay = random.uniform(self.min_thrash_delay, self.max_thrash_delay) if delay > 0.0: self.log('waiting for {delay} secs before thrashing'.format(delay=delay)) @@ -145,7 +145,7 @@ class RBDMirrorThrasher(Thrasher, Greenlet): # wait for a while before restarting delay = self.max_revive_delay if self.randomize: - delay = random.randrange(0.0, self.max_revive_delay) + delay = random.uniform(0.0, self.max_revive_delay) self.log('waiting for {delay} secs before reviving daemons'.format(delay=delay)) sleep(delay) -- 2.47.3