docklet/web/webViews/batch.py

109 lines
3.6 KiB
Python
Raw Normal View History

2018-07-30 12:28:22 +08:00
from flask import session, redirect, request
from webViews.view import normalView
2018-08-08 21:48:29 +08:00
from webViews.log import logger
2018-07-30 12:28:22 +08:00
from webViews.checkname import checkname
2018-08-01 09:57:33 +08:00
from webViews.dockletrequest import dockletRequest
import json
2018-07-30 12:28:22 +08:00
class batchJobListView(normalView):
template_path = "batch/batch_list.html"
@classmethod
def get(self):
2018-08-08 21:48:29 +08:00
masterips = dockletRequest.post_to_all()
job_list = {}
for ipname in masterips:
ip = ipname.split("@")[0]
result = dockletRequest.post("/batch/job/list/",{},ip)
job_list[ip] = result.get("data")
logger.debug("job_list[%s]: %s" % (ip,job_list[ip]))
2018-07-30 12:28:22 +08:00
if True:
2019-03-18 02:34:36 +08:00
return self.render(self.template_path, masterips=masterips, job_list=job_list)
2018-07-30 12:28:22 +08:00
else:
return self.error()
class createBatchJobView(normalView):
template_path = "batch/batch_create.html"
2018-11-18 01:11:11 +08:00
2018-07-30 12:28:22 +08:00
@classmethod
def get(self):
2018-08-01 09:57:33 +08:00
masterips = dockletRequest.post_to_all()
images = {}
for master in masterips:
images[master.split("@")[0]] = dockletRequest.post("/image/list/",{},master.split("@")[0]).get("images")
logger.info(images)
return self.render(self.template_path, masterips=masterips, images=images)
2018-07-30 12:28:22 +08:00
class infoBatchJobView(normalView):
template_path = "batch/batch_info.html"
error_path = "error.html"
masterip = ""
jobid = ""
2018-07-30 12:28:22 +08:00
@classmethod
def get(self):
data = {
'jobid':self.jobid
}
result = dockletRequest.post("/batch/job/info/",data,self.masterip)
data = result.get("data")
logger.info(str(data))
#logger.debug("job_list: %s" % job_list)
if result.get('success',"") == "true":
return self.render(self.template_path, masterip=self.masterip, jobinfo=data)
2018-07-30 12:28:22 +08:00
else:
return self.render(self.error_path, message = result.get('message'))
2018-07-30 12:28:22 +08:00
class addBatchJobView(normalView):
template_path = "batch/batch_list.html"
error_path = "error.html"
2018-07-30 12:28:22 +08:00
@classmethod
def post(self):
2018-08-08 17:58:31 +08:00
masterip = self.masterip
result = dockletRequest.post("/batch/job/add/", self.job_data, masterip)
if result.get('success', None) == "true":
return redirect('/batch_jobs/')
else:
return self.render(self.error_path, message = result.get('message'))
2019-03-18 02:34:36 +08:00
class stopBatchJobView(normalView):
template_path = "batch/batch_list.html"
error_path = "error.html"
2019-03-18 02:34:36 +08:00
@classmethod
def get(self):
masterip = self.masterip
data = {'jobid':self.jobid}
result = dockletRequest.post("/batch/job/stop/", data, masterip)
if result.get('success', None) == "true":
return redirect('/batch_jobs/')
else:
return self.render(self.error_path, message = result.get('message'))
2018-11-18 01:11:11 +08:00
class outputBatchJobView(normalView):
template_path = "batch/batch_output.html"
masterip = ""
2018-11-18 01:11:11 +08:00
jobid = ""
taskid = ""
2019-03-06 01:39:05 +08:00
vnodeid = ""
2018-11-18 01:11:11 +08:00
issue = ""
@classmethod
def get(self):
data = {
'jobid':self.jobid,
'taskid':self.taskid,
2019-03-06 01:39:05 +08:00
'vnodeid':self.vnodeid,
2018-11-18 01:11:11 +08:00
'issue':self.issue
}
result = dockletRequest.post("/batch/job/output/",data,self.masterip)
2018-11-18 01:11:11 +08:00
output = result.get("data")
#logger.debug("job_list: %s" % job_list)
if result.get('success',"") == "true":
return self.render(self.template_path, masterip=self.masterip, jobid=self.jobid,
2019-03-06 01:39:05 +08:00
taskid=self.taskid, vnodeid=self.vnodeid, issue=self.issue, output=output)
2018-11-18 01:11:11 +08:00
else:
return self.error()