From 896c6171c58a862461327feb204651cd8a86d021 Mon Sep 17 00:00:00 2001 Message-Id: <896c6171c58a862461327feb204651cd8a86d021.1416337400.git.hahn@univention.de> From: Philipp Hahn Date: Tue, 18 Nov 2014 20:02:18 +0100 Subject: [PATCH] Bug #36106 UVMM: Fix noVNC temporary file location Organization: Univention GmbH, Bremen, Germany Create the temporary file on the same partition as the final file so an atomic rename can be used to update the file. --- .../univention-virtual-machine-manager-daemon/debian/changelog | 6 ++++++ .../src/univention/uvmm/node.py | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/debian/changelog b/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/debian/changelog index 071ddfc..e845cea 100644 --- a/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/debian/changelog +++ b/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/debian/changelog @@ -1,3 +1,9 @@ +univention-virtual-machine-manager-daemon (4.0.21-1) unstable; urgency=low + + * Bug #36106: Fix noVNC temporary file location + + -- Philipp Hahn Tue, 18 Nov 2014 20:00:58 +0100 + univention-virtual-machine-manager-daemon (4.0.20-1) unstable; urgency=medium * Bug #36615: fix javascript memory leaks diff --git a/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py b/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py index 3d469f0..eee688c 100644 --- a/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py +++ b/branches/ucs-4.0/ucs-4.0-0/virtualization/univention-virtual-machine-manager-daemon/src/univention/uvmm/node.py @@ -737,9 +737,10 @@ class Node(PersistentCached): self.write_novnc_tokens() def write_novnc_tokens(self): - path = os.path.join(self.cache_dir, 'novnc.tokens', uri_encode(self.pd.uri)) + token_dir = os.path.join(self.cache_dir, 'novnc.tokens') + path = os.path.join(token_dir, uri_encode(self.pd.uri)) logger.debug("Writing noVNC tokens to '%s'", path) - with tempfile.NamedTemporaryFile(delete=False) as tmp_file: + with tempfile.NamedTemporaryFile(delete=False, dir=token_dir) as tmp_file: for uuid, domStat in self.domains.iteritems(): try: gfx = domStat.pd.graphics[0] -- 1.9.1