diff --git a/lib/utils.py b/lib/utils.py
index bc9bfbd99659944d2c2edf4f76b8c3df30ebcbd3..ebe974262854cdbb1a477dc6fbae6e2a008b2624 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -864,6 +864,23 @@ def NewUUID():
     f.close()
 
 
+def ReadFile(file_name, size=None):
+  """Reads a file.
+
+  @type size: None or int
+  @param size: Read at most size bytes
+
+  """
+  f = open(file_name, "r")
+  try:
+    if size is None:
+      return f.read()
+    else:
+      return f.read(size)
+  finally:
+    f.close()
+
+
 def WriteFile(file_name, fn=None, data=None,
               mode=None, uid=-1, gid=-1,
               atime=None, mtime=None, close=True,