From 90e234a6b1bc3638304c4563c37a019eb882f882 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Tue, 11 Jan 2011 12:39:28 +0100
Subject: [PATCH] utils: Move NewUUID to utils.io

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 lib/utils/__init__.py            | 13 -------------
 lib/utils/io.py                  | 15 +++++++++++++++
 test/ganeti.utils.io_unittest.py |  7 +++++++
 test/ganeti.utils_unittest.py    |  6 ------
 4 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/lib/utils/__init__.py b/lib/utils/__init__.py
index d808ce44d..41360be3d 100644
--- a/lib/utils/__init__.py
+++ b/lib/utils/__init__.py
@@ -66,8 +66,6 @@ from ganeti.utils.nodesetup import * # pylint: disable-msg=W0401
 from ganeti.utils.process import * # pylint: disable-msg=W0401
 
 
-_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid"
-
 _VALID_SERVICE_NAME_RE = re.compile("^[-_.a-zA-Z0-9]{1,128}$")
 
 UUID_RE = re.compile('^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-'
@@ -289,17 +287,6 @@ def GetHomeDir(user, default=None):
   return result.pw_dir
 
 
-def NewUUID():
-  """Returns a random UUID.
-
-  @note: This is a Linux-specific method as it uses the /proc
-      filesystem.
-  @rtype: str
-
-  """
-  return ReadFile(_RANDOM_UUID_FILE, size=128).rstrip("\n")
-
-
 def FirstFree(seq, base=0):
   """Returns the first non-existing integer from seq.
 
diff --git a/lib/utils/io.py b/lib/utils/io.py
index 1e99d8ab6..e6f98735e 100644
--- a/lib/utils/io.py
+++ b/lib/utils/io.py
@@ -34,6 +34,10 @@ from ganeti import constants
 from ganeti.utils import filelock
 
 
+#: Path generating random UUID
+_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid"
+
+
 def ReadFile(file_name, size=-1):
   """Reads a file.
 
@@ -760,3 +764,14 @@ def ReadWatcherPauseFile(filename, now=None, remove_after=3600):
         value = None
 
   return value
+
+
+def NewUUID():
+  """Returns a random UUID.
+
+  @note: This is a Linux-specific method as it uses the /proc
+      filesystem.
+  @rtype: str
+
+  """
+  return ReadFile(_RANDOM_UUID_FILE, size=128).rstrip("\n")
diff --git a/test/ganeti.utils.io_unittest.py b/test/ganeti.utils.io_unittest.py
index 41abdd657..43b4634b4 100755
--- a/test/ganeti.utils.io_unittest.py
+++ b/test/ganeti.utils.io_unittest.py
@@ -691,5 +691,12 @@ class TestSshKeys(testutils.GanetiTestCase):
       " ssh-dss AAAAB3NzaC1w520smc01ms0jfJs22 root@key-b\n")
 
 
+class TestNewUUID(unittest.TestCase):
+  """Test case for NewUUID"""
+
+  def runTest(self):
+    self.failUnless(utils.UUID_RE.match(utils.NewUUID()))
+
+
 if __name__ == "__main__":
   testutils.GanetiTestProgram()
diff --git a/test/ganeti.utils_unittest.py b/test/ganeti.utils_unittest.py
index 84c96c764..e557b2be1 100755
--- a/test/ganeti.utils_unittest.py
+++ b/test/ganeti.utils_unittest.py
@@ -81,12 +81,6 @@ class TestGetMounts(unittest.TestCase):
         ("none", "/proc", "proc", "rw,nosuid,nodev,noexec,relatime"),
       ])
 
-class TestNewUUID(unittest.TestCase):
-  """Test case for NewUUID"""
-
-  def runTest(self):
-    self.failUnless(utils.UUID_RE.match(utils.NewUUID()))
-
 
 class TestFirstFree(unittest.TestCase):
   """Test case for the FirstFree function"""
-- 
GitLab