1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#!/usr/bin/env python3
'''
author__ = "Aaron Chan"
__copyright__ = "Copyright 2018, Intel Corp"
__credits__" = ["Aaron Chan"]
__license__" = "GPL"
__version__" = "1.0"
__maintainer__ = "Aaron Chan"
__email__ = "aaron.chun.yew.chan@intel.com"
'''
import xmlrpc
class scheduler():
def __init__(self, server, user, token, url):
self.server = server
self.user = user
self.token = token
self.url = url
@classmethod
# Description: Submit the given job data which is in LAVA
# job JSON or YAML format as a new job to
# LAVA scheduler.
# Return: dict <type>
def lava_jobs_submit(self, server, data):
return server.scheduler.jobs.submit(data)
@classmethod
# Description: Cancel the given job referred by its id
# Return: Boolean <type>
def lava_jobs_cancel(self, server, jobid):
state = server.scheduler.jobs.cancel(jobid)
if type(state) is bool: return state
@classmethod
def lava_jobs_resubmit(self, server, jobid):
return server.scheduler.jobs.resubmit(jobid)
@classmethod
# Description: Return the logs for the given job
# Args: jobid <str>, line <int> - Show only after the given line
# Return: tuple <type>
def lava_jobs_logs(self, server, jobid, line):
return server.scheduler.jobs.logs(jobid, line)
@classmethod
# Description: Show job details
# Return: Dict <type>
def lava_jobs_show(self, server, jobid):
return server.scheduler.jobs.show(jobid)
@classmethod
# Description: Return the job definition
# Return: Instance <type>
def lava_jobs_define(self, server, jobid):
return server.scheduler.jobs.definition(jobid)
@classmethod
def lava_jobs_status(self, server, jobid):
return server.scheduler.job_status(jobid)
@classmethod
def lava_jobs_output(self, server, jobid, offset):
return server.scheduler.job_output(jobid, offset)
@classmethod
def lava_jobs_details(self, server, jobid):
return server.scheduler.job_details(jobid)
|