Exemplo n.º 1
0
    def post(self, request, *args, **kwargs):
        u_name = request.POST.get('user_name')
        user_obj = models.DcUser.objects.filter(user_name=u_name).values('chinese_name', 'tel')
        u_chinese_name = user_obj[0]['chinese_name']
        u_tel = user_obj[0]['tel']
        new_pwd = random_pwd.random_str()  # 生成用户随机密码
        url = 'http://10.126.11.124:9000/user/reset_password'
        msg = {'Name': u_name, 'Newpwd': new_pwd}
        try:
            chinese_user_name_obj = models.DcUser.objects.filter(user_name=u_name).all().first()
            chinese_user_name = chinese_user_name_obj.chinese_name

            operation_username = request.session.get('user_name', None)
            operation_chinese_name_obj = models.SlbUser.objects.filter(name=operation_username).all().first()
            operation_chinese_name = operation_chinese_name_obj.tag

            res = post_pwd(url, msg)
            if '密码重置成功' in res.decode():
                message_note_reset_pwd.reset_pwd(u_tel, u_chinese_name, new_pwd)
                
                ding_msg = '''账户:%s 密码重置成功\n执行人:%s''' % (chinese_user_name, operation_chinese_name)
                dingtalk.send_message(ding_msg)
        except Exception as e:
            res = str(e)
            print('ResetPwdError:', e)
        return HttpResponse(json.dumps(res.decode()))
Exemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        user_name = request.POST.get('user_name')
        try:
            chinese_user_name_obj = models.DcUser.objects.filter(
                user_name=user_name).all().first()
            chinese_user_name = chinese_user_name_obj.chinese_name

            operation_username = request.session.get('user_name', None)
            operation_chinese_name_obj = models.SlbUser.objects.filter(
                name=operation_username).all().first()
            operation_chinese_name = operation_chinese_name_obj.tag

            models.Vpn.objects.filter(user_name=user_name).update(vpn_stat=0)

            ding_msg = '''账户:%s vpn 禁用成功\n执行人:%s''' % (chinese_user_name,
                                                       operation_chinese_name)
            dingtalk.send_message(ding_msg)
            res = '执行成功!!!'
        except Exception as e:
            res = str(e)
        return HttpResponse(json.dumps(res))
Exemplo n.º 3
0
    def post(self, request, *args, **kwargs):
        user_name = request.POST.get('user_name')
        url = 'http://10.126.11.124:9000/user/disable'
        # msg = {'name': user_name}
        msg = 'name=%s' % user_name
        try:
            chinese_user_name_obj = models.DcUser.objects.filter(user_name=user_name).all().first()
            chinese_user_name = chinese_user_name_obj.chinese_name

            operation_username = request.session.get('user_name', None)
            operation_chinese_name_obj = models.SlbUser.objects.filter(name=operation_username).all().first()
            operation_chinese_name = operation_chinese_name_obj.tag

            # res = form_post(url, msg)
            res = client_post_formurlencodeddata_requests(url, msg)
            if '账户停用成功' in res:
                models.DcUser.objects.filter(user_name=user_name).update(stats='0')
                ding_msg = '''账户:%s 停用成功\n执行人:%s''' % (chinese_user_name, operation_chinese_name)
                dingtalk.send_message(ding_msg)
        except Exception as e:
            res = str(e)
        return HttpResponse(json.dumps(res))
Exemplo n.º 4
0
    def post(self, request, *args, **kwargs):
        response = BaseResponse()
        slb_id = ['lb-bp198gpxhi1jtoh7htcbv', 'lb-bp1rbidt0xozztl0ap7pz']
        try:
            ip = request.POST.get('ip')
            operation = request.POST.get('operation')
            username = request.session.get('user_name', None)
            chinese_name_obj = models.SlbUser.objects.filter(name=username).all().first()
            chinese_name = chinese_name_obj.tag
            if ip:
                slb_obj = models.SlbInfo.objects.filter(ecs_ip=ip.strip(), slb_id='lb-bp198gpxhi1jtoh7htcbv').all().first()
                if slb_obj:
                    vg_id = slb_obj.vg_id
                    ecs_id = slb_obj.ecs_id
                    port = slb_obj.port
                    weight = slb_obj.weight
                    if operation.strip() == '下线':
                        response.data = public_ecs.disable(vg_id, ecs_id, port, weight)
                        service_name_obj = models.ServiceToSlb.objects.filter(vg_id=slb_obj.vg_id).all().first()
                        if response.data == '下负载成功':
                            response.data = ip + ': ' + response.data
                            msg = '''负载名称:LLY-内部生产系统-外网\n实例IP:%s\n服务名称:%s\n执行人:%s\n下负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                            dingtalk.send_message(msg)
                            models.SlbInfo.objects.filter(ecs_ip=ip, slb_id='lb-bp198gpxhi1jtoh7htcbv').update(stats='0')
                    elif operation.strip() == '上线':
                        response.data = public_ecs.enable(vg_id, ecs_id, port, weight)
                        service_name_obj = models.ServiceToSlb.objects.filter(vg_id=slb_obj.vg_id).all().first()
                        if response.data == '上负载成功':
                            response.data = ip + ': ' + response.data
                            msg = '''负载名称:LLY-内部生产系统-外网\n实例IP:%s\n服务名称:%s\n执行人:%s\n上负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                            dingtalk.send_message(msg)
                            models.SlbInfo.objects.filter(ecs_ip=ip, slb_id='lb-bp198gpxhi1jtoh7htcbv').update(stats='1')
                else:
                    front_public_slb_id='lb-bp1rbidt0xozztl0ap7pz'
                    slb_obj = models.SlbInfo.objects.filter(ecs_ip=ip.strip(),
                                                            slb_id=front_public_slb_id).all().first()
                    if slb_obj:

                        # vg_id = slb_obj.vg_id
                        ecs_id = slb_obj.ecs_id
                        port = slb_obj.port
                        weight = slb_obj.weight
                        if operation.strip() == '下线':
                            response.data = ecs_direct.disable(front_public_slb_id, ecs_id, port, weight)
                            service_name_obj = models.ServiceToSlb.objects.filter(vg_id=slb_obj.vg_id).all().first()
                            if response.data == '下负载成功':
                                response.data = ip + ': ' + response.data
                                msg = '''负载名称:LLY-内部生产系统-外网\n实例IP:%s\n服务名称:%s\n执行人:%s\n下负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                                dingtalk.send_message(msg)
                                models.SlbInfo.objects.filter(ecs_ip=ip, slb_id=front_public_slb_id).update(stats='0')
                        elif operation.strip() == '上线':
                            response.data = ecs_direct.enable(front_public_slb_id, ecs_id, port, weight)
                            service_name_obj = models.ServiceToSlb.objects.filter(vg_id=slb_obj.vg_id).all().first()
                            if response.data == '上负载成功':
                                response.data = ip + ': ' + response.data
                                msg = '''负载名称:LLY-内部生产系统-外网\n实例IP:%s\n服务名称:%s\n执行人:%s\n上负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                                dingtalk.send_message(msg)
                                models.SlbInfo.objects.filter(ecs_ip=ip, slb_id=front_public_slb_id).update(stats='1')
                    else:
                        response.data = 'Error:未匹配到服务器信息!'
            else:
                response.data = 'Error:系统异常(PublicSlbEcsUpDownView)'
            return HttpResponse(json.dumps(response.data))
        except Exception as e:
            response.error = str(e)
            return HttpResponse(json.dumps(response.error))
Exemplo n.º 5
0
 def post(self, request, *args, **kwargs):
     response = BaseResponse()
     try:
         ip = request.POST.get('ip')
         operation = request.POST.get('operation')
         username = request.session.get('user_name', None)
         chinese_name_obj = models.SlbUser.objects.filter(name=username).all().first()
         chinese_name = chinese_name_obj.tag
         if ip:
             slb_obj = models.SlbInfo.objects.filter(ecs_ip=ip.strip(), slb_id='lb-bp14c9cltijb7fhq31bd4').all().first()
             if slb_obj:
                 vg_id = slb_obj.vg_id
                 ecs_id = slb_obj.ecs_id
                 port = slb_obj.port
                 weight = slb_obj.weight
                 if operation.strip() == '下线':
                     response.data = ecs.disable(vg_id, ecs_id, port, weight)
                     service_name_obj = models.ServiceToSlb.objects.filter(vg_id=vg_id, slb_id='lb-bp14c9cltijb7fhq31bd4').all().first()
                     if response.data == '下负载成功':
                         response.data = ip + ': ' + response.data
                         msg = '''负载名称:LLY-内部生产系统-内网\n实例IP:%s\n服务名称:%s\n执行人:%s\n下负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                         dingtalk.send_message(msg)
                         models.SlbInfo.objects.filter(ecs_ip=ip, slb_id='lb-bp14c9cltijb7fhq31bd4').update(stats='0')
                 elif operation.strip() == '上线':
                     response.data = ecs.enable(vg_id, ecs_id, port, weight)
                     service_name_obj = models.ServiceToSlb.objects.filter(vg_id=vg_id, slb_id='lb-bp14c9cltijb7fhq31bd4').all().first()
                     if response.data == '上负载成功':
                         response.data = ip + ': ' + response.data
                         msg = '''负载名称:LLY-内部生产系统-内网\n实例IP:%s\n服务名称:%s\n执行人:%s\n上负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                         dingtalk.send_message(msg)
                         models.SlbInfo.objects.filter(ecs_ip=ip, slb_id='lb-bp14c9cltijb7fhq31bd4').update(stats='1')
             else:
                 new_slb_id = 'lb-bp111xg3j67beh4ow6l2o'
                 slb_obj = models.SlbInfo.objects.filter(ecs_ip=ip.strip(),slb_id=new_slb_id).all().first()
                 if slb_obj:
                     vg_id = slb_obj.vg_id
                     ecs_id = slb_obj.ecs_id
                     port = slb_obj.port
                     weight = slb_obj.weight
                     if operation.strip() == '下线':
                         response.data = ecs.disable(vg_id, ecs_id, port, weight)
                         service_name_obj = models.ServiceToSlb.objects.filter(vg_id=vg_id, slb_id=new_slb_id).all().first()
                         if response.data == '下负载成功':
                             response.data = ip + ': ' + response.data
                             msg = '''负载名称:LLY生产-内网负载-02\n实例IP:%s\n服务名称:%s\n执行人:%s\n下负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                             dingtalk.send_message(msg)
                             models.SlbInfo.objects.filter(ecs_ip=ip, slb_id=new_slb_id).update(stats='0')
                     elif operation.strip() == '上线':
                         response.data = ecs.enable(vg_id, ecs_id, port, weight)
                         service_name_obj = models.ServiceToSlb.objects.filter(vg_id=vg_id, slb_id=new_slb_id).all().first()
                         if response.data == '上负载成功':
                             response.data = ip + ': ' + response.data
                             msg = '''负载名称:LLY生产-内网负载-02\n实例IP:%s\n服务名称:%s\n执行人:%s\n上负载操作已完成!''' % (ip, service_name_obj.service_name, chinese_name)
                             dingtalk.send_message(msg)
                             models.SlbInfo.objects.filter(ecs_ip=ip, slb_id=new_slb_id).update(stats='1')
                 else:
                     response.data = 'Error:未匹配到服务器信息!'
         else:
             response.data = 'Error:系统异常(EcsUpDownView)'
             # else:
             #     response.data = '未匹配到服务器信息!'
         return HttpResponse(json.dumps(response.data))
     except Exception as e:
         response.error = str(e)
         return HttpResponse(json.dumps(response.error))