def get(self): data = {} allclusters = dockletRequest.post_to_all('/cluster/list/') for master in allclusters: allclusters[master] = allclusters[master].get('clusters') result = dockletRequest.post('/user/selfQuery/') quotas = result['data']['groupinfo'] quotanames = quotas.keys() '''result = dockletRequest.post('/monitor/user/quotainfo/', data) quotainfo = result.get('quotainfo') quotainfo['cpu'] = int(int(quotainfo['cpu'])) print(quotainfo)''' allcontainers = {} if (result): containers = {} for master in allclusters: allcontainers[master] = {} for cluster in allclusters[master]: data["clustername"] = cluster message = dockletRequest.post('/cluster/info/', data, master.split("@")[0]) if (message): message = message.get('message') else: self.error() allcontainers[master][cluster] = message return self.render(self.template_path, quotas = quotas, quotanames = quotanames, allcontainers = allcontainers, user = session['username']) else: self.error()
def get_by_id(cls, notify_id): notifies = [] if notify_id == 'all': notifies.extend(dockletRequest.post('/notification/query/all/')['data']) else: notifies.append(dockletRequest.post('/notification/query/', data={'notify_id': notify_id})['data']) return cls.render(cls.template_path, notifies=notifies)
def get(self): result = dockletRequest.post('/user/groupList/') groups = result["groups"] quotas = result["quotas"] defaultgroup = result["default"] parms = dockletRequest.post('/system/parmList/') return self.render(self.template_path, groups = groups, quotas = quotas, defaultgroup = defaultgroup, parms = parms)
def post(self): data = { "src_host": self.hostip, "dst_host_list": self.target } dockletRequest.post("/host/migrate/", data, self.masterip) return redirect("/hosts/")
def get(self): result = dockletRequest.post('/user/groupList/') groups = result["groups"] quotas = result["quotas"] defaultgroup = result["default"] parms = dockletRequest.post('/system/parmList/') rootimage = dockletRequest.post('/image/list/').get('images') lxcsetting = dockletRequest.post('/user/lxcsettingList/')['data'] return self.render(self.template_path, groups = groups, quotas = quotas, defaultgroup = defaultgroup, parms = parms, lxcsetting = lxcsetting, root_image = rootimage['private'])
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/listphynodes/', data) userslist = [{'name':'root'},{'name':'libao'}] for user in userslist: result = dockletRequest.post('/monitor/user/%s/clustercnt/'%(user['name']), data) user['clustercnt'] = result.get('monitor').get('clustercnt') return self.render(self.template_path, userslist = userslist, user = session['username'])
def get(self): images = dockletRequest.post('/image/list/').get('images') clusters = dockletRequest.post("/cluster/list/").get("clusters") clusters_info = {} data={} for cluster in clusters: data["clustername"] = cluster result = dockletRequest.post("/cluster/info/",data).get("message") clusters_info[cluster] = result return self.render("config.html", images = images, clusters = clusters_info, mysession=dict(session))
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/hosts/%s/containerslist'%(self.com_ip), data) containers = result.get('monitor').get('containerslist') containerslist = [] for container in containers: result = dockletRequest.post('/monitor/vnodes/%s/basic_info'%(container), data) basic_info = result.get('monitor').get('basic_info') containerslist.append(basic_info) return self.render(self.template_path, containerslist = containerslist, com_ip = self.com_ip, user = session['username'])
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/hosts/%s/cpuconfig'%(self.com_ip), data) proc = result.get('monitor').get('cpuconfig') result = dockletRequest.post('/monitor/hosts/%s/osinfo'%(self.com_ip), data) osinfo = result.get('monitor').get('osinfo') result = dockletRequest.post('/monitor/hosts/%s/diskinfo'%(self.com_ip), data) diskinfos = result.get('monitor').get('diskinfo') return self.render(self.template_path, com_ip = self.com_ip, user = session['username'],processors = proc, OSinfo = osinfo, diskinfos = diskinfos)
def get(self): allimages = dockletRequest.post_to_all('/image/list/') for master in allimages: allimages[master] = allimages[master].get('images') allclusters = dockletRequest.post_to_all("/cluster/list/") for master in allclusters: allclusters[master] = allclusters[master].get('clusters') allclusters_info = {} clusters_info = {} data={} for master in allclusters: allclusters_info[master] = {} for cluster in allclusters[master]: data["clustername"] = cluster result = dockletRequest.post("/cluster/info/", data, master.split("@")[0]).get("message") allclusters_info[master][cluster] = result result = dockletRequest.post("/user/usageQuery/") quota = result.get("quota") usage = result.get("usage") default = result.get("default") restcpu = int(quota['cpu']) - int(usage['cpu']) restmemory = int(quota['memory']) - int(usage['memory']) restdisk = int(quota['disk']) - int(usage['disk']) if restcpu >= int(default['cpu']): defaultcpu = default['cpu'] elif restcpu <= 0: defaultcpu = "0" else: defaultcpu = str(restcpu) if restmemory >= int(default['memory']): defaultmemory = default['memory'] elif restmemory <= 0: defaultmemory = "0" else: defaultmemory = str(restmemory) if restdisk >= int(default['disk']): defaultdisk = default['disk'] elif restdisk <= 0: defaultdisk = "0" else: defaultdisk = str(restdisk) defaultsetting = { 'cpu': defaultcpu, 'memory': defaultmemory, 'disk': defaultdisk } return self.render("config.html", allimages = allimages, allclusters = allclusters_info, mysession=dict(session), quota = quota, usage = usage, defaultsetting = defaultsetting)
def get(self): 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)
def post(self): 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'))
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/vnodes/%s/history/'%(self.vnode_name), data) history = result.get('monitor').get('history') return self.render(self.template_path, vnode_name = self.vnode_name, user = session['username'], history = history)
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/user/createdvnodes/', data) vnodes = result.get('createdvnodes') return self.render(self.template_path, user = session['username'],vnodes = vnodes)
def get(self): result = dockletRequest.post("/image/list/") images = result.get("images") if (result): return self.render(self.template_path, user = session['username'], images = images) else: self.error()
def render(self, *args, **kwargs): self.mysession = dict(session) kwargs['mysession'] = self.mysession kwargs['version'] = version result = dockletRequest.post("/user/selfQuery/",{}) kwargs['beans'] = result.get("data").get("beans") return render_template(*args, **kwargs)
def get(self): result = dockletRequest.post("/cluster/list/") clusters = result.get("clusters") if(result): return self.render(self.template_path, user = session['username'], clusters = clusters) else: self.error()
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/listphynodes', data) iplist = result.get('monitor').get('allnodes') machines = [] for ip in iplist: containers = {} result = dockletRequest.post('/monitor/hosts/%s/containers'%(ip), data) containers = result.get('monitor').get('containers') result = dockletRequest.post('/monitor/hosts/%s/status'%(ip), data) status = result.get('monitor').get('status') machines.append({'ip':ip,'containers':containers, 'status':status}) #print(machines) return self.render(self.template_path, machines = machines, user = session['username'])
def get(self): data = { "user": session['username'], } result = dockletRequest.post('/monitor/vnodes/%s/basic_info'%(self.node_name), data) basic_info = result.get('monitor').get('basic_info') return self.render(self.template_path, node_name = self.node_name, user = session['username'], container = basic_info)
def logs_get(filename): data = { "filename": filename } result = dockletRequest.post('/logs/get/', data).get('result', '') response = make_response(result) response.headers["content-type"] = "text/plain" return response
def get(self): data = {"msgid":self.msgid} result = dockletRequest.post('/beans/admin/'+self.cmd+"/",data) success = result.get("success") if success == "true": return redirect("/user/list/") else: return self.render(self.template_path, message = result.get("message"))
def post(self): data = {"number":request.form["number"],"reason":request.form["reason"]} result = dockletRequest.post('/beans/apply/',data) success = result.get("success") if success == "true": return redirect("/beans/application/") else: return self.render(self.template_path, message = result.get("message"))
def get(self): data = { "clustername": self.clustername } result = dockletRequest.post("/cluster/delete/", data) if(result): return redirect("/dashboard/") else: return self.error()
def get(self): data = { "image": self.image } result = dockletRequest.post("/image/delete/", data) if(result): return redirect("/config/") else: self.error()
def get(self): data = { "clustername": self.clustername } result = dockletRequest.post("/cluster/delete/", data) if(result): return dashboardView.as_view() else: return self.error()
def get(self): data = { "image": self.image } result = dockletRequest.post("/image/delete/", data) if(result): return configView.as_view() else: self.error()
def get(self): data = { "clustername":self.clustername } result = dockletRequest.post("/deleteproxy/", data) if(result): return configView.as_view() else: self.error()
def get(self): data = { "clustername":self.clustername } result = dockletRequest.post("/deleteproxy/", data) if(result): return redirect("/config/") else: self.error()
def monitor_user_request(issue,masterip): data = { "user": session['username'] } path = "/monitor/user/" + str(issue) + "/" logger.debug(path + "_____" + masterip) result = dockletRequest.post(path, data, masterip) logger.debug("monitor" + str(type(result))) return json.dumps(result)
def get(self): data = { "user": session['username'], } allresult = dockletRequest.post_to_all('/monitor/listphynodes/', data) allmachines = {} for master in allresult: allmachines[master] = [] iplist = allresult[master].get('monitor').get('allnodes') for ip in iplist: containers = {} result = dockletRequest.post('/monitor/hosts/%s/containers/'%(ip), data, master.split("@")[0]) containers = result.get('monitor').get('containers') result = dockletRequest.post('/monitor/hosts/%s/status/'%(ip), data, master.split("@")[0]) status = result.get('monitor').get('status') allmachines[master].append({'ip':ip,'containers':containers, 'status':status}) #print(machines) return self.render(self.template_path, allmachines = allmachines, user = session['username'])
def userselfQuery(): result = dockletRequest.post('/user/selfQuery/') return json.dumps(result['data'])
def post(self): dockletRequest.post('/system/modify/', request.form) return redirect('/settings/')
def post(self): dockletRequest.post('/system/chparm/', request.form)
def logs_get(filename): data = {"filename": filename} result = dockletRequest.post('/logs/get/', data).get('result', '') response = make_response(result) response.headers["content-type"] = "text/plain" return response
def get(self): logs = dockletRequest.post('/logs/list/')['result'] logs.sort() logs.sort(key = len) return self.render(self.template_path, logs = logs)
def post(self): try: dockletRequest.post('/user/modify', request.form) except: return self.render('user/mailservererror.html') return redirect('/user/list/')
def get(self): return json.dumps(dockletRequest.post('/user/data', request.form))
def post(self): return json.dumps(dockletRequest.post('/user/groupList/'))
def post(self): result = json.dumps( dockletRequest.post('/user/groupModify/', request.form)) return redirect('/settings/')
def post(self): result = json.dumps(dockletRequest.post('/user/selfModify/', request.form)) return result
def get(self): userinfo = dockletRequest.post('/user/selfQuery/') userinfo = userinfo["data"] return self.render(self.template_path, info = userinfo)
def get(self): result = dockletRequest.post('/beans/applymsgs/').get('applymsgs') return self.render(self.template_path, applications=result)
def post(self): data = {"src_host": self.hostip, "dst_host_list": self.target} dockletRequest.post("/host/migrate/", data, self.masterip) return redirect("/hosts/")
def get(self): groups = dockletRequest.post('/user/groupNameList/')["groups"] return self.render(self.template_path, groups=groups)
def post(self): return json.dumps(dockletRequest.post('/user/data/'))
def monitor_request(comid,infotype): data = { "user": session['username'] } result = dockletRequest.post(request.path, data) return json.dumps(result)
def post(self): return json.dumps(dockletRequest.post('/user/query', request.form))
def post(self): dockletRequest.post('/system/delete/', request.form) return redirect('/admin/')
def post(self): dockletRequest.post('/user/groupadd', request.form) return redirect('/user/list/')
def post(self): dockletRequest.post('/system/reset_all/', request.form) return redirect('/admin/')
def post(self): dockletRequest.post('/user/quotaadd/', request.form) return redirect('/admin/')
def post(self): dockletRequest.post('/user/chdefault/', request.form) return redirect('/admin/')
def post(self): data = { "name": self.groupname, } dockletRequest.post('/user/groupdel/', data) return redirect('/settings/')
def post(self): dockletRequest.post('/user/chlxcsetting/', request.form) return redirect('/admin/')
def get(self): data = {"image": self.image} dockletRequest.post('/image/updatebase/', data) return redirect("/settings/")
def post(self): result = dockletRequest.post("/settings/update/", request.form) os.environ['OPEN_REGISTRY'] = request.form.get('OPEN_REGISTRY') return redirect('/settings/')
def post(self): dockletRequest.post('/user/groupadd/', request.form) return redirect('/settings/')
def post(self): dockletRequest.post('/register', request.form) return redirect('/logout/')
def post(self): dockletRequest.post('/system/clear_history/', request.form) return redirect('/settings/')
def get(self): userinfo = dockletRequest.post('/user/selfQuery/') userinfo = userinfo["data"] if (userinfo["description"] == ''): userinfo["description"] = "Describe why you want to use Docklet" return self.render(self.template_path, info=userinfo)