]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
queue: delete every job when it finishes, so only running jobs are buried
authorJosh Durgin <josh.durgin@dreamhost.com>
Fri, 26 Aug 2011 00:09:03 +0000 (17:09 -0700)
committerJosh Durgin <josh.durgin@dreamhost.com>
Mon, 29 Aug 2011 17:23:12 +0000 (10:23 -0700)
teuthology/queue.py

index 089944460a8f7f75f5d4d15b0c1c5dd0a1a3f942..7614190a0520da339e3e38e3832302d181aa3bd0 100644 (file)
@@ -72,17 +72,19 @@ describe. One job is run at a time.
 
         # bury the job so it won't be re-run if it fails
         job.bury()
-        run_job(job, ctx.archive_dir)
+        log.debug('Config is: %s', job.body)
+        job_config = yaml.safe_load(job.body)
 
-def run_job(job, archive_dir):
-    log.info('Running job %d', job.jid)
-    log.debug('Config is: %s', job.body)
-    job_config = yaml.safe_load(job.body)
+        log.debug('Creating archive dir...')
+        safe_archive = safepath.munge(job_config['name'])
+        safepath.makedirs(ctx.archive_dir, safe_archive)
+        archive_path = os.path.join(ctx.archive_dir, safe_archive, str(job.jid))
 
-    safe_archive = safepath.munge(job_config['name'])
-    safepath.makedirs(archive_dir, safe_archive)
-    archive_path = os.path.join(archive_dir, safe_archive, str(job.jid))
+        log.info('Running job %d', job.jid)
+        run_job(job_config, archive_path)
+        job.delete()
 
+def run_job(job_config, archive_path):
     arg = [
         os.path.join(os.path.dirname(sys.argv[0]), 'teuthology'),
         ]
@@ -113,7 +115,6 @@ def run_job(job, archive_dir):
         log.exception(e)
     else:
         log.info('Success!')
-        job.delete()
     finally:
         os.close(tmp_fp)
         os.unlink(tmp_path)