Revision d9d1e541
b/lib/luxi.py | ||
---|---|---|
53 | 53 |
REQ_SUBMIT_JOB = "SubmitJob" |
54 | 54 |
REQ_SUBMIT_JOB_TO_DRAINED_QUEUE = "SubmitJobToDrainedQueue" |
55 | 55 |
REQ_SUBMIT_MANY_JOBS = "SubmitManyJobs" |
56 |
REQ_PICKUP_JOB = "PickupJob" |
|
56 | 57 |
REQ_WAIT_FOR_JOB_CHANGE = "WaitForJobChange" |
57 | 58 |
REQ_CANCEL_JOB = "CancelJob" |
58 | 59 |
REQ_ARCHIVE_JOB = "ArchiveJob" |
... | ... | |
78 | 79 |
REQ_AUTO_ARCHIVE_JOBS, |
79 | 80 |
REQ_CANCEL_JOB, |
80 | 81 |
REQ_CHANGE_JOB_PRIORITY, |
82 |
REQ_PICKUP_JOB, |
|
81 | 83 |
REQ_QUERY, |
82 | 84 |
REQ_QUERY_CLUSTER_INFO, |
83 | 85 |
REQ_QUERY_CONFIG_VALUES, |
... | ... | |
479 | 481 |
def SetWatcherPause(self, until): |
480 | 482 |
return self.CallMethod(REQ_SET_WATCHER_PAUSE, (until, )) |
481 | 483 |
|
484 |
def PickupJob(self, job): |
|
485 |
return self.CallMethod(REQ_PICKUP_JOB, (job,)) |
|
486 |
|
|
482 | 487 |
def SubmitJob(self, ops): |
483 | 488 |
ops_state = map(lambda op: op.__getstate__(), ops) |
484 | 489 |
return self.CallMethod(REQ_SUBMIT_JOB, (ops_state, )) |
b/lib/server/masterd.py | ||
---|---|---|
295 | 295 |
_LogNewJob(True, job_id, ops) |
296 | 296 |
return job_id |
297 | 297 |
|
298 |
elif method == luxi.REQ_PICKUP_JOB: |
|
299 |
logging.info("Picking up new job from queue") |
|
300 |
(job_id, ) = args |
|
301 |
queue.PickupJob(job_id) |
|
302 |
|
|
298 | 303 |
elif method == luxi.REQ_SUBMIT_JOB_TO_DRAINED_QUEUE: |
299 | 304 |
logging.info("Forcefully receiving new job") |
300 | 305 |
(job_def, ) = args |
b/src/Ganeti/Luxi.hs | ||
---|---|---|
163 | 163 |
, simpleField "prev_log" [t| JSValue |] |
164 | 164 |
, simpleField "tmout" [t| Int |] |
165 | 165 |
]) |
166 |
, (luxiReqPickupJob, |
|
167 |
[ simpleField "job" [t| JobId |] ] |
|
168 |
) |
|
166 | 169 |
, (luxiReqArchiveJob, |
167 | 170 |
[ simpleField "job" [t| JobId |] ] |
168 | 171 |
) |
... | ... | |
394 | 397 |
J.readJSON e |
395 | 398 |
_ -> J.Error "Not enough values" |
396 | 399 |
return $ WaitForJobChange jid fields pinfo pidx wtmout |
400 |
ReqPickupJob -> do |
|
401 |
[jid] <- fromJVal args |
|
402 |
return $ PickupJob jid |
|
397 | 403 |
ReqArchiveJob -> do |
398 | 404 |
[jid] <- fromJVal args |
399 | 405 |
return $ ArchiveJob jid |
b/test/hs/Test/Ganeti/Luxi.hs | ||
---|---|---|
84 | 84 |
Luxi.ReqWaitForJobChange -> Luxi.WaitForJobChange <$> arbitrary <*> |
85 | 85 |
genFields <*> pure J.JSNull <*> |
86 | 86 |
pure J.JSNull <*> arbitrary |
87 |
Luxi.ReqPickupJob -> Luxi.PickupJob <$> arbitrary |
|
87 | 88 |
Luxi.ReqArchiveJob -> Luxi.ArchiveJob <$> arbitrary |
88 | 89 |
Luxi.ReqAutoArchiveJobs -> Luxi.AutoArchiveJobs <$> arbitrary <*> |
89 | 90 |
arbitrary |
b/test/py/ganeti.rapi.testutils_unittest.py | ||
---|---|---|
43 | 43 |
luxi.REQ_ARCHIVE_JOB, |
44 | 44 |
luxi.REQ_AUTO_ARCHIVE_JOBS, |
45 | 45 |
luxi.REQ_CHANGE_JOB_PRIORITY, |
46 |
luxi.REQ_PICKUP_JOB, |
|
46 | 47 |
luxi.REQ_QUERY_EXPORTS, |
47 | 48 |
luxi.REQ_QUERY_CONFIG_VALUES, |
48 | 49 |
luxi.REQ_QUERY_NETWORKS, |
Also available in: Unified diff