示例#1
0
def funcuser(request):
    if request.GET:
        user = request.GET.get('user')
        request.session['project']['user'] = user
        request.session.save()
    else:
        user = request.session['project']['user']
    #std objects
    getrun = SessionDict.buildSessionDict()[request.session.session_key]
    qauth = Auth(request.session.session_key)
    serviceview = ServiceView()
    adminclass = Adminclass(request.session.session_key)
    ##### end std object
    userdict = adminclass.readuser(user)
    #adminpage-xtendedtemplate
    prj = qauth.chooseprj()
    users = getrun.users('list')
    usrschart = serviceview.userschart(users)
    nodescheck = adminclass.listnodes()
    ##### end end xtendedtemplate
    dictprj = {}
    dictnsusr = {}
    newprj = prj
    for i in prj:
        dictnsusr[i] = {}
        dictnsusr[i]['Users'] = serviceview.usersperns(getrun.rolebinding(i))
    nsperuser = serviceview.nsperuser(user, dictnsusr)
    for key in nsperuser[user]:
        nsperuser[user][key] = getrun.getrunningadmin(key)
        newprj.remove(key)
    return render(
        request,
        'user.html',
        context={'user': user, 'prj': prj, 'usrschart': usrschart, 'nodescheck': nodescheck, 'userdict': userdict, 'nsperuser':nsperuser[user], 'newprj':newprj})
示例#2
0
def adminsvcs(request):
    getrun = SessionDict.buildSessionDict()[request.session.session_key]
    qauth = Auth(request.session.session_key)
    prj = qauth.chooseprj()
    serviceview = ServiceView()
    dictprj = {}
    dictnsusr = {}
    for i in prj:
        dictnsusr[i] = {}
        dictprj[i] = getrun.getrunningadmin(i)
        dictnsusr[i]['Users'] = serviceview.usersperns(getrun.rolebinding(i))
        dictnsusr[i]['Volumes'] = serviceview.pvpvcs(getrun.getpvpvcs(i))
    activesvcs = serviceview.adminbarchart(dictprj)
    users = getrun.users('list')
    usrschart = serviceview.userschart(users)
    donutuser = []
    adminclass = Adminclass(request.session.session_key)
    nodescheck = adminclass.listnodes()
    for j in dictnsusr:
        donutuser.append({
            'label' : j,
            'value': len(dictnsusr[j]['Users'])
        })
    return render(
        request,
        'adminsvcs.html',
        context={'activesvcs': activesvcs, 'usrschart': usrschart, 'prj': prj, 'donutuser': donutuser, 'dictnsusr': dictnsusr, 'nodescheck': nodescheck})
示例#3
0
def limquot(request):
    namespace = request.POST.get('namespace')
    adminclass = Adminclass(request.session.session_key)
    tl = adminclass.readalllimits()
    allquotas = adminclass.readallquotas()
    return render(
        request,
        'tuneup.html', context={'namespace': namespace, 'totallimits': tl, 'quotas': allquotas})
示例#4
0
def updaterc(request):
    var = request.POST.dict()
    adminclass = Adminclass(request.session.session_key)
    body = {'spec': {'replicas': int(var['quantity'])}}
    adminclass.updatedconfig(var['name'], var['namespace'], body)
    return render(
        request,
        'test.html',
        context={'var': var},
    )
示例#5
0
def nscreated(request):
    adminclass = Adminclass(request.session.session_key)
    if request.POST:
        dict = request.POST.dict()
        newns = dict['namespacename']
        if adminclass.createns(newns, request.session['username']):
            if 'first' in dict:
                return redirect("/chns/")
            else:
                return redirect("/adminsvcs/")
        else:
            return redirect("/newns/")
示例#6
0
def newns(request):
    getrun = SessionDict.buildSessionDict()[request.session.session_key]
    qauth = Auth(request.session.session_key)
    serviceview = ServiceView()
    adminclass = Adminclass(request.session.session_key)
    ##### end std object
    # adminpage-xtendedtemplate
    prj = qauth.chooseprj()
    users = getrun.users('list')
    usrschart = serviceview.userschart(users)
    nodescheck = adminclass.listnodes()
    ##### end end xtendedtemplate
    form = VlabsForm()
    form.createns()
    return render(
        request,
        'newns.html',
        context={'prj': prj, 'usrschart': usrschart, 'nodescheck': nodescheck, 'form': form})
示例#7
0
def funcns(request):
    if request.GET.get('namespace'):
        namespace = request.GET.get('namespace')
        request.session['project']['prj'] = namespace
        request.session.save()
    else:
        namespace = request.session['project']['prj']
    adminclass = Adminclass(request.session.session_key)
    getrun = SessionDict.buildSessionDict()[request.session.session_key]
    serviceview = ServiceView()
    #ns list
    qauth = Auth(request.session.session_key)
    prj = qauth.chooseprj()
    users = getrun.users('list')
    nsusers = serviceview.usersperns(getrun.rolebinding(namespace)) ####namespaced user
    #users list
    usrschart = serviceview.userschart(users)
    nssvcs = adminclass.readnsdc(namespace)
    #pprint(nssvcs) ###last status Check!
    quotas = adminclass.readquotas(namespace).items
    lmts = adminclass.readlimits(namespace)
    limits = serviceview.limitsformat(lmts)
    nodescheck = adminclass.listnodes()
    fql = VlabsForm()
    fql.setlimits(namespace)
    return render(
        request,
        'namespace.html',
        context={'namespace': namespace, 'prj': prj, 'nodescheck': nodescheck ,'usrschart': usrschart, 'nssvcs': nssvcs, 'quotas': quotas, 'limits': limits, 'formlim':fql, 'nsusers': nsusers})
示例#8
0
def dellimq(request):
    if request.GET:
        var = request.GET.dict()
        namespace = request.session['project']['prj']
        adminclass = Adminclass(request.session.session_key)
        if 'limit' in var:
            adminclass.dellimit(var['limit'], namespace)
        if 'quota' in var:
            adminclass.delquota(var['quota'], namespace)
    return redirect("/namespace/", namespace)
示例#9
0
def setql(request):
    adminclass = Adminclass(request.session.session_key)
    if request.POST:
        var = request.POST.dict()
    if 'limit' in var:
        oldlim = adminclass.readlimit(var['ns'], var['limit'])
        newlim = {'metadata': {'name': var['limit'], 'labels': {'label':'vlabs'}}}
        newlim['spec'] = {}
        newlim['spec'] = oldlim.spec
        adminclass.setlimits(var['newnamespace'], newlim)
    if 'quota' in var:
        oldquota = adminclass.readsinglequota(var['ns'], var['quota'])
        newquota = {'metadata': {'name': var['quota'], 'labels': {'label':'vlabs'}}}
        newquota['spec'] = {}
        newquota['spec'] = oldquota.spec
        adminclass.setquotas(var['newnamespace'], newquota)

    return render(
        request,
        'test.html',
        context={'var': var},
    )
示例#10
0
def patchrolebindings(request):
    newrole = request.POST.dict()
    adminclass = Adminclass(request.session.session_key)
    adminclass.replacerolebinding(newrole['namespace'], newrole['user'], newrole['operation'])
    return redirect("/user/")