Make random_bytes() enforce sane size limits
This makes random_bytes() refuse to generate more than 1MiB of data at a time. This should almost never be necessary, and we have chased actual gate OOM failures related to sloppy handling of even moderately-sized test buffers. Change-Id: I9cebe778a9309a0f4f5d78be97d062864e1849f1
This commit is contained in:
parent
8dfefcebee
commit
8663655afa
@ -0,0 +1,9 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
The ``tempest.lib.common.utils.data_utils.random_bytes()`` helper
|
||||
function will no longer allow a ``size`` of more than 1MiB. Tests
|
||||
generally do not need to generate and use large payloads for
|
||||
feature verification and it is easy to lose track of and duplicate
|
||||
large buffers. The sum total of such errors can become problematic
|
||||
in paralllelized and constrained CI environments.
|
@ -169,6 +169,8 @@ def random_bytes(size=1024):
|
||||
:return: size randomly bytes
|
||||
:rtype: string
|
||||
"""
|
||||
if size > 1 << 20:
|
||||
raise RuntimeError('Size should be less than 1MiB')
|
||||
return b''.join([six.int2byte(random.randint(0, 255))
|
||||
for i in range(size)])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user