From a3f28804004805b5f151fc9147ac281d029a4393 Mon Sep 17 00:00:00 2001 From: David Ripton Date: Tue, 28 May 2013 10:49:19 -0400 Subject: In utils.tempdir, pass CONF.tempdir as an argument. It's ugly, and potentially racy, to mess around with other modules' global variables. Instead, pass CONF.tempdir into tempfile.mkdtemp as the 'dir' keyword argument. Because we already pass **kwargs to mkdtemp, inspect **kwargs and only set 'dir' if it's not already there. Change-Id: I8a2b34cd051919db29facabc1664cf357073b1d7 --- nova/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'nova/utils.py') diff --git a/nova/utils.py b/nova/utils.py index 97551e8eb..94c425cc1 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -920,8 +920,10 @@ def temporary_chown(path, owner_uid=None): @contextlib.contextmanager def tempdir(**kwargs): - tempfile.tempdir = CONF.tempdir - tmpdir = tempfile.mkdtemp(**kwargs) + argdict = kwargs.copy() + if 'dir' not in argdict: + argdict['dir'] = CONF.tempdir + tmpdir = tempfile.mkdtemp(**argdict) try: yield tmpdir finally: -- cgit