X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/d21d09d6818296c3965d230397bf2a75c27eb60b..4d9e6835a05b0bb59060737b05af87412cf45e13:/lib/jqueue.py?ds=sidebyside diff --git a/lib/jqueue.py b/lib/jqueue.py index 4b9f86d..3364a93 100644 --- a/lib/jqueue.py +++ b/lib/jqueue.py @@ -359,6 +359,8 @@ class _JobQueueWorker(workerpool.BaseWorker): queue.acquire() try: + if op.status == constants.OP_STATUS_CANCELED: + raise CancelJob() assert op.status == constants.OP_STATUS_QUEUED job.run_op_index = idx op.status = constants.OP_STATUS_WAITLOCK @@ -422,8 +424,8 @@ class _JobQueueWorker(workerpool.BaseWorker): op.status = constants.OP_STATUS_ERROR op.result = str(err) op.end_timestamp = TimeStampNow() - logging.info("Op %s/%s: Error in opcode %s", idx + 1, count, - op_summary) + logging.info("Op %s/%s: Error in opcode %s: %s", + idx + 1, count, op_summary, err) finally: queue.UpdateJobUnlocked(job) finally: @@ -1120,7 +1122,7 @@ class JobQueue(object): """ try: for op in job.ops: - op.status = constants.OP_STATUS_ERROR + op.status = constants.OP_STATUS_CANCELED op.result = "Job canceled by request" finally: self.UpdateJobUnlocked(job) @@ -1178,7 +1180,7 @@ class JobQueue(object): logging.debug("Job %s not found", job_id) return False - return self._ArchiveJobUnlocked([job]) == 1 + return self._ArchiveJobsUnlocked([job]) == 1 @utils.LockedMethod @_RequireOpenQueue