Esempio n. 1
0
def server_id_delete(request, id):
    content = {}
    edit_id = Host.objects.get(id=id)
    #机房名称
    idc_name = IDC.objects.all()
    server_type = MyForm.objects.all()
    if request.method == 'POST':  #验证post方法
        uf = Host_from(request.POST)  #绑定POST动作
        delete_id = request.POST.getlist("delete_id")
        delete_id = int(delete_id[0])
        delete_name = request.POST.getlist("delete_name")
        for i in delete_name:
            print i
        Host.objects.get(id=delete_id).delete()
        idc_log(request.user.username, edit_id.node_name, "删除",
                edit_id.edit_username, edit_id.edit_datetime, id,
                request.user.id)
        return HttpResponseRedirect("/assets/server/type/notid/")
    else:
        content["edit_brand"] = Server_System
        content["edit_Cores"] = Cores
        content["edit_system"] = System_os
        content["edit_system_cpuarch"] = system_arch
        content["server_type"] = server_type
        content["edit_id"] = edit_id
        content["server_name"] = idc_name
        content["edit_usage"] = System_usage
        content.update(csrf(request))
        return render_to_response('server_idc/delete.html',
                                  content,
                                  context_instance=RequestContext(request))
Esempio n. 2
0
def server_id_delete(request,id):
    content = {}
    edit_id = Host.objects.get(id = id)
    #机房名称
    idc_name = IDC.objects.all()
    server_type = MyForm.objects.all()
    if request.method == 'POST':    #验证post方法
        uf = Host_from(request.POST)   #绑定POST动作
        delete_id = request.POST.getlist("delete_id")
        delete_id = int(delete_id[0])
        delete_name = request.POST.getlist("delete_name")
        for i in delete_name:
            print i
        Host.objects.get(id=delete_id).delete()
        idc_log(request.user.username, edit_id.node_name,"删除", edit_id.edit_username, edit_id.edit_datetime, id, request.user.id)
        return HttpResponseRedirect("/assets/server/type/notid/")
    else:
        content["edit_brand"] = Server_System
        content["edit_Cores"] = Cores
        content["edit_system"] = System_os
        content["edit_system_cpuarch"] = system_arch
        content["server_type"] = server_type
        content["edit_id"] = edit_id
        content["server_name"] = idc_name
        content["edit_usage"] = System_usage
        content.update(csrf(request))
        return render_to_response('server_idc/delete.html', content, context_instance=RequestContext(request))
Esempio n. 3
0
def server_edit(request, id):
    content = {}
    edit_id = Host.objects.get(id=id)
    #机房名称
    idc_name = IDC.objects.all()
    server_type = MyForm.objects.all()
    if request.method == 'POST':  #验证post方法
        uf = Host_from(request.POST)  #绑定POST动作
        if uf.is_valid():  #验证数据有效性
            uf.auto_id = edit_id.id
            zw = uf.save(commit=False)
            zw.edit_username = request.user.username
            zw.old_editname = edit_id.edit_username
            zw.old_editdatetime = edit_id.edit_datetime
            zw.auto_install = edit_id.auto_install
            zw.id = edit_id.id
            zw.create_time = edit_id.create_time
            zw.save()
            uf.save_m2m()
            print "保存数据"
            idc_log(request.user.username, edit_id.node_name, "修改",
                    edit_id.edit_username, edit_id.edit_datetime, id,
                    request.user.id)
            return HttpResponseRedirect('/assets/list_id/' + id)
            # return render_to_response('server_idc/edit.html',content,context_instance=RequestContext(request))
        else:
            print "is over"
            print uf.is_valid()
    else:
        uf = Host_from()
        content["uf"] = uf
        content["edit_brand"] = Server_System
        content["edit_Cores"] = Cores
        content["edit_system"] = System_os
        content["edit_system_cpuarch"] = system_arch
        content["server_type"] = server_type
        content["edit_id"] = edit_id
        content["server_name"] = idc_name
        content["edit_usage"] = System_usage
        content.update(csrf(request))
        return render_to_response('server_idc/edit.html',
                                  content,
                                  context_instance=RequestContext(request))
Esempio n. 4
0
def server_edit(request,id):
    content = {}
    edit_id = Host.objects.get(id = id)
    #机房名称
    idc_name = IDC.objects.all()
    server_type = MyForm.objects.all()
    if request.method == 'POST':    #验证post方法
        uf = Host_from(request.POST)   #绑定POST动作
        if uf.is_valid(): #验证数据有效性
            uf.auto_id = edit_id.id
            zw = uf.save(commit=False)
            zw.edit_username = request.user.username
            zw.old_editname = edit_id.edit_username
            zw.old_editdatetime = edit_id.edit_datetime
            zw.auto_install = edit_id.auto_install
            zw.id=edit_id.id
            zw.create_time = edit_id.create_time
            zw.save()
            uf.save_m2m()
            print "保存数据"
            idc_log(request.user.username, edit_id.node_name, "修改", edit_id.edit_username, edit_id.edit_datetime, id, request.user.id)
            return HttpResponseRedirect('/assets/list_id/'+ id )
            # return render_to_response('server_idc/edit.html',content,context_instance=RequestContext(request))
        else:
            print "is over"
            print uf.is_valid()
    else:
        uf = Host_from()
        content["uf"] = uf
        content["edit_brand"] = Server_System
        content["edit_Cores"] = Cores
        content["edit_system"] = System_os
        content["edit_system_cpuarch"] = system_arch
        content["server_type"] = server_type
        content["edit_id"] = edit_id
        content["server_name"] = idc_name
        content["edit_usage"] = System_usage
        content.update(csrf(request))
        return render_to_response('server_idc/edit.html', content, context_instance=RequestContext(request))
Esempio n. 5
0
def server_update(request,id):
    context = {}
    edit_id = Host.objects.get(id = id)
    #机房名称
    idc_name = IDC.objects.all()
    server_type = MyForm.objects.all()
    if request.method == 'POST':    #验证post方法
        uf = Host_from(request.POST)   #绑定POST动作
        if uf.is_valid(): #验证数据有效性
            uf.auto_id = edit_id.id
            zw = uf.save(commit=False)
            zw.edit_username = request.user.username
            zw.old_editname = edit_id.edit_username
            zw.old_editdatetime = edit_id.edit_datetime
            zw.create_time = edit_id.create_time
            zw.auto_install = edit_id.auto_install
            zw.id=edit_id.id
            zw.save()
            uf.save_m2m()
            print "保存数据"
            # print request.user.username, edit_id.node_name,"saltstack更新", edit_id.edit_username, edit_id.edit_datetime, edit_id.id, request.user.id
            idc_log(request.user.username, edit_id.node_name,"saltstack更新", edit_id.edit_username, edit_id.edit_datetime, edit_id.id, request.user.id)
            return HttpResponseRedirect('/assets/server/node_id/'+id)
        else:
            print "is over"
    else:
        uf = Host_from()
        context["uf"] = uf
        context["edit_brand"] = Server_System
        context["edit_Cores"] = Cores
        context["edit_system"] = System_os
        context["edit_system_cpuarch"] = system_arch
        context["server_type"] = server_type
        context["edit_id"] = edit_id
        context["server_name"] = idc_name
        context["edit_usage"] = System_usage
        token_api_id = token_id()
        list_all = salt_api_token(
        {
        # 'client': 'local',
        'fun': 'grains.items',
        'tgt':edit_id.node_name,
        # 'arg':salt_cmd_lr ,
                       },
        salt_api_url,
        {"X-Auth-Token": token_api_id}
        )
        list_all = list_all.run()
        for i in list_all["return"]:
            try:
                context["jid"] =  i["jid"]
                context["minions"] = i["minions"]
            except KeyError:
                return render_to_response('server_idc/update_error.html',context,context_instance=RequestContext(request))
        jobs_id = context["jid"]
        jobs_url = salt_api_url + "/jobs/" + jobs_id
        minions_list_all = salt_api_jobs(
        jobs_url,
        {"X-Auth-Token": token_api_id}
        )
        voilet_test = minions_list_all.run()
        for i in voilet_test["return"]:
            update_keys = i.keys()
            try:
                update_key = update_keys[0]
            except IndexError:
                return render_to_response('server_idc/update_error.html',context,context_instance=RequestContext(request))
            context["cmd_run"] = i[update_key]
        context["eth0"] = context["cmd_run"]["ipv4"][1]
        try:
            context["eth1"] = context["cmd_run"]["ipv4"][2]
        except IndexError:
            context["eth1"] = False
        context["mem_total"] = context["cmd_run"]["mem_total"]
        context["num_cpus"] = int(context["cmd_run"]["num_cpus"])
        context["os"] = context["cmd_run"]["os"]
        context["lsb_distrib_release"] = context["cmd_run"]["lsb_distrib_release"]
        context["cpu_model"] = context["cmd_run"]["cpu_model"]
        context.update(csrf(request))
        #日志入库
        return render_to_response('server_idc/update.html',context,context_instance=RequestContext(request))