@@ -1,4 +1,4 @@
-import sys, os, time, shelve, random, resource, logging, cPickle
+import sys, os, time, shelve, resource, logging, cPickle
from autotest_lib.client.bin import test
from autotest_lib.client.common_lib import error
@@ -68,9 +68,6 @@ class kvm(test.test):
import kvm_utils
import kvm_preprocessing
- # Seed the random number generator
- random.seed()
-
# Enable core dumps
resource.setrlimit(resource.RLIMIT_CORE, (-1, -1))
@@ -676,10 +676,11 @@ def generate_random_string(length):
@length: length of the string that will be generated.
"""
+ r = random.SystemRandom()
str = ""
chars = string.letters + string.digits
while length > 0:
- str += random.choice(chars)
+ str += r.choice(chars)
length -= 1
return str
Use random.SystemRandom() (which uses /dev/urandom) in kvm_utils.generate_random_string(). Currently, when running multiple jobs in parallel, the generated strings occasionally collide, and this is very bad. Also, don't seed the random number generator in kvm.py. This is not necessary and is probably done by default anyway. Signed-off-by: Michael Goldish <mgoldish@redhat.com> --- client/tests/kvm/kvm.py | 5 +---- client/tests/kvm/kvm_utils.py | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-)