jstore: use EnsureDirs, and add more constants
authorGuido Trotter <ultrotter@google.com>
Wed, 5 May 2010 14:09:24 +0000 (16:09 +0200)
committerGuido Trotter <ultrotter@google.com>
Fri, 7 May 2010 11:34:30 +0000 (13:34 +0200)
Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Balazs Lecz <leczb@google.com>

lib/constants.py
lib/jstore.py

index 8bedcac..f2a9803 100644 (file)
@@ -619,6 +619,8 @@ JOB_QUEUE_ARCHIVE_DIR = QUEUE_DIR + "/archive"
 JOB_QUEUE_DRAIN_FILE = QUEUE_DIR + "/drain"
 JOB_QUEUE_SIZE_HARD_LIMIT = 5000
 JOB_QUEUE_SIZE_SOFT_LIMIT = JOB_QUEUE_SIZE_HARD_LIMIT * 0.8
+JOB_QUEUE_DIRS = [QUEUE_DIR, JOB_QUEUE_ARCHIVE_DIR]
+JOB_QUEUE_DIRS_MODE = 0700
 
 JOB_ID_TEMPLATE = r"\d+"
 
index a4e51fc..cc1bb4c 100644 (file)
@@ -21,7 +21,6 @@
 
 """Module implementing the job queue handling."""
 
-import os
 import errno
 
 from ganeti import constants
@@ -79,13 +78,8 @@ def InitAndVerifyQueue(must_lock):
            locking mode.
 
   """
-  # Make sure our directories exists
-  for path in (constants.QUEUE_DIR, constants.JOB_QUEUE_ARCHIVE_DIR):
-    try:
-      os.mkdir(path, 0700)
-    except OSError, err:
-      if err.errno not in (errno.EEXIST, ):
-        raise
+  dirs = [(d, constants.JOB_QUEUE_DIRS_MODE) for d in constants.JOB_QUEUE_DIRS]
+  utils.EnsureDirs(dirs)
 
   # Lock queue
   queue_lock = utils.FileLock.Open(constants.JOB_QUEUE_LOCK_FILE)