BlkioCgroup._set_limits(): sort devices before iterating on them to
have a reliable behaviour.
The devs variable is a dictionary. On Python 3, the hash function is
now randomized, so iterating on a dictionary gives items in a random
order. Use sorted() to iterate on the list of sorted devices instead.
tox.ini: add cinder.tests.unit.test_volume_throttling to Python 3.
Blueprint cinder-python3
Partial-Bug: #
1348818
Change-Id: Icf7141f772397c7ac08f0f1e21ad74cb86a06351
def _set_limits(self, rw, devs):
total = sum(devs.values())
- for dev in devs:
+ for dev in sorted(devs):
self._limit_bps(rw, dev, self.bps_limit * devs[dev] / total)
@utils.synchronized('BlkioCgroup')
cinder.tests.unit.test_volume_configuration \
cinder.tests.unit.test_volume_glance_metadata \
cinder.tests.unit.test_volume_rpcapi \
+ cinder.tests.unit.test_volume_throttling \
cinder.tests.unit.test_volume_transfer \
cinder.tests.unit.test_volume_types \
cinder.tests.unit.test_volume_types_extra_specs \