Example #1
0
 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()
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
 def post(self):
     data = {
             "src_host": self.hostip,
             "dst_host_list": self.target
     }
     dockletRequest.post("/host/migrate/", data, self.masterip)
     return redirect("/hosts/")
Example #5
0
 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'])
Example #6
0
 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'])
Example #7
0
 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))
Example #8
0
 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'])
Example #9
0
    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)
Example #10
0
    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)
Example #11
0
 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)
Example #12
0
 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'))
Example #13
0
 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)
Example #14
0
 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)
Example #15
0
 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()
Example #16
0
 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)
Example #17
0
 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()
Example #18
0
 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'])
Example #19
0
 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)
Example #20
0
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
Example #21
0
 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"))
Example #22
0
 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"))
Example #23
0
 def get(self):
     data = {
             "clustername": self.clustername
     }
     result = dockletRequest.post("/cluster/delete/", data)
     if(result):
         return redirect("/dashboard/")
     else:
         return self.error()
Example #24
0
 def get(self):
     data = {
             "image": self.image
     }
     result = dockletRequest.post("/image/delete/", data)
     if(result):
         return redirect("/config/")
     else:
         self.error()
Example #25
0
 def get(self):
     data = {
             "clustername": self.clustername
     }
     result = dockletRequest.post("/cluster/delete/", data)
     if(result):
         return dashboardView.as_view()
     else:
         return self.error()
Example #26
0
 def get(self):
     data = {
             "image": self.image
     }
     result = dockletRequest.post("/image/delete/", data)
     if(result):
         return configView.as_view()
     else:
         self.error()
Example #27
0
 def get(self):
     data = {
         "clustername":self.clustername
     }
     result = dockletRequest.post("/deleteproxy/", data)
     if(result):
         return configView.as_view()
     else:
         self.error()
Example #28
0
 def get(self):
     data = {
         "clustername":self.clustername
     }
     result = dockletRequest.post("/deleteproxy/", data)
     if(result):
         return redirect("/config/")
     else:
         self.error()
Example #29
0
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)
Example #30
0
 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'])
Example #31
0
File: web.py Project: i-tsd/docklet
def userselfQuery():
    result = dockletRequest.post('/user/selfQuery/')
    return json.dumps(result['data'])
Example #32
0
 def post(self):
     dockletRequest.post('/system/modify/', request.form)
     return redirect('/settings/')
Example #33
0
 def post(self):
     dockletRequest.post('/system/chparm/', request.form)
Example #34
0
File: web.py Project: i-tsd/docklet
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
Example #35
0
 def get(self):
     logs = dockletRequest.post('/logs/list/')['result']
     logs.sort()
     logs.sort(key = len)
     return self.render(self.template_path, logs = logs)
Example #36
0
 def post(self):
     try:
         dockletRequest.post('/user/modify', request.form)
     except:
         return self.render('user/mailservererror.html')
     return redirect('/user/list/')
Example #37
0
 def get(self):
     return json.dumps(dockletRequest.post('/user/data', request.form))
Example #38
0
 def post(self):
     return json.dumps(dockletRequest.post('/user/groupList/'))
Example #39
0
 def post(self):
     result = json.dumps(
         dockletRequest.post('/user/groupModify/', request.form))
     return redirect('/settings/')
Example #40
0
 def post(self):
     result =  json.dumps(dockletRequest.post('/user/selfModify/', request.form))
     return result
Example #41
0
 def get(self):
     userinfo = dockletRequest.post('/user/selfQuery/')
     userinfo = userinfo["data"]
     return self.render(self.template_path, info = userinfo)
Example #42
0
 def get(self):
     result = dockletRequest.post('/beans/applymsgs/').get('applymsgs')
     return self.render(self.template_path, applications=result)
Example #43
0
 def post(self):
     data = {"src_host": self.hostip, "dst_host_list": self.target}
     dockletRequest.post("/host/migrate/", data, self.masterip)
     return redirect("/hosts/")
Example #44
0
 def get(self):
     groups = dockletRequest.post('/user/groupNameList/')["groups"]
     return self.render(self.template_path, groups=groups)
Example #45
0
 def post(self):
     return json.dumps(dockletRequest.post('/user/data/'))
Example #46
0
def monitor_request(comid,infotype):
    data = {
        "user": session['username']
    }
    result = dockletRequest.post(request.path, data)
    return json.dumps(result)
Example #47
0
 def post(self):
     return json.dumps(dockletRequest.post('/user/query', request.form))
Example #48
0
 def post(self):
     dockletRequest.post('/system/delete/', request.form)
     return redirect('/admin/')
Example #49
0
 def post(self):
     dockletRequest.post('/user/groupadd', request.form)
     return redirect('/user/list/')
Example #50
0
 def post(self):
     dockletRequest.post('/system/reset_all/', request.form)
     return redirect('/admin/')
Example #51
0
 def post(self):
     dockletRequest.post('/user/quotaadd/', request.form)
     return redirect('/admin/')
Example #52
0
 def post(self):
     dockletRequest.post('/user/chdefault/', request.form)
     return redirect('/admin/')
Example #53
0
 def post(self):
     data = {
         "name": self.groupname,
     }
     dockletRequest.post('/user/groupdel/', data)
     return redirect('/settings/')
Example #54
0
 def post(self):
     dockletRequest.post('/user/chlxcsetting/', request.form)
     return redirect('/admin/')
Example #55
0
 def get(self):
     data = {"image": self.image}
     dockletRequest.post('/image/updatebase/', data)
     return redirect("/settings/")
Example #56
0
 def post(self):
     result = dockletRequest.post("/settings/update/", request.form)
     os.environ['OPEN_REGISTRY'] = request.form.get('OPEN_REGISTRY')
     return redirect('/settings/')
Example #57
0
 def post(self):
     dockletRequest.post('/user/groupadd/', request.form)
     return redirect('/settings/')
Example #58
0
 def post(self):
     dockletRequest.post('/register', request.form)
     return redirect('/logout/')
Example #59
0
 def post(self):
     dockletRequest.post('/system/clear_history/', request.form)
     return redirect('/settings/')
Example #60
0
 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)