qa/tasks/mds_thrash: s/random.sample/random.choice/

* use list comprehension instead of concatenating two ranges for
  better readablity -- we want to skip current max_mds for changing
  it. this helps reader to understand the goal of thrashing
* random.sample() is replaced with random.choice(). the latter is a
  better alternative, if the number of samples is 1.

Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
Kefu Chai 2020-05-23 11:29:51 +08:00
parent 752941cfdd
commit bb2c587435

View File

@ -246,10 +246,9 @@ class MDSThrasher(Thrasher, Greenlet):
if random.random() <= self.thrash_max_mds:
max_mds = status.get_fsmap(self.fs.id)['mdsmap']['max_mds']
options = list(range(1, max_mds))+list(range(max_mds+1, self.max_mds+1))
options = [i for i in range(1, self.max_mds + 1) if i != max_mds]
if len(options) > 0:
sample = random.sample(options, 1)
new_max_mds = sample[0]
new_max_mds = random.choice(options)
self.log('thrashing max_mds: %d -> %d' % (max_mds, new_max_mds))
self.fs.set_max_mds(new_max_mds)
stats['max_mds'] += 1