def getlog_deploy_log(request): host_username = request.POST.get('host_user', '').split('_') linenumber = request.POST.get('linenumber', 1) host_ip = host_username[0] username = host_username[1] host_id_db = vhost.objects.filter(host_ip=host_ip).values('host_id') host_id = host_id_db[0]['host_id'] password_requser = app_user.objects.filter( host_id=host_id, username=username).values('password') password_user = password_requser[0]['password'] logging.info(password_user) result = ssh2_deploy_log( host_ip, username, password_user, r"cd deploy/scripts;set a=`wc -l deploy.log | awk '{print $1}'`;echo ${a};sed -n " + str(linenumber) + ",${a}p deploy.log") result = result.split('\n') linenumber = int(result[0]) linetxt = result[1:] data = {'linenumber': linenumber, 'log': linetxt} return HttpResponse(json.dumps(data, ensure_ascii=False))
def getlog_instance(request): host_ip_req = request.GET.get('host_ip', '') username_req = request.GET.get('host_user', '') instance_name_req = request.GET.get('instance_name', '') line_req = request.GET.get('linenumber', 1) view_date = (datetime.now().date()).strftime('%Y%m%d') host_id_db = vhost.objects.filter(host_ip=host_ip_req).values('host_id') logging.info(host_id_db) host_id = host_id_db[0]['host_id'] password_requser = app_user.objects.filter( host_id=host_id, username=username_req).values('password') password_user = password_requser[0]['password'] logfile_req = instance_name_req + '-' + view_date + '.log' logging.info(logfile_req) logging.info(host_ip_req) logging.info(username_req) logging.info(password_user) result = ssh2_deploy_log( host_ip_req, username_req, password_user, r"cdlog;set line=`wc -l " + logfile_req + "|awk '{print $1}'`;echo ${line};sed -n " + line_req + ",${line}p " + logfile_req + "") result = result.split('\n') linenumber = int(result[0]) linetxt = result[1:] data = {'linenumber': linenumber, 'log': linetxt} return HttpResponse(json.dumps(data, ensure_ascii=False))
def getlog_deploy_log(request): host_username = request.POST.get("host_user", "").split("_") linenumber = request.POST.get("linenumber", 1) host_ip = host_username[0] username = host_username[1] host_id_db = vhost.objects.filter(host_ip=host_ip).values("host_id") host_id = host_id_db[0]["host_id"] password_requser = app_user.objects.filter(host_id=host_id, username=username).values("password") password_user = password_requser[0]["password"] logging.info(password_user) result = ssh2_deploy_log( host_ip, username, password_user, r"cd cloudops/scripts;set a=`wc -l cloudops.log | awk '{print $1}'`;echo ${a};sed -n " + str(linenumber) + ",${a}p cloudops.log", ) result = result.split("\n") linenumber = int(result[0]) linetxt = result[1:] data = {"linenumber": linenumber, "log": linetxt} return HttpResponse(json.dumps(data, ensure_ascii=False))
def getlog_instance(request): host_ip_req = request.GET.get('host_ip','') username_req = request.GET.get('host_user','') instance_name_req = request.GET.get('instance_name','') line_req = request.GET.get('linenumber',1) view_date = (datetime.now().date()).strftime('%Y%m%d') host_id_db = vhost.objects.filter(host_ip=host_ip_req).values('host_id') logging.info(host_id_db) host_id = host_id_db[0]['host_id'] password_requser = app_user.objects.filter(host_id=host_id,username=username_req).values('password') password_user = password_requser[0]['password'] logfile_req = instance_name_req+'-'+view_date+'.log' logging.info(logfile_req) logging.info(host_ip_req) logging.info(username_req) logging.info(password_user) result = ssh2_deploy_log(host_ip_req, username_req, password_user, r"cdlog;set line=`wc -l "+logfile_req+"|awk '{print $1}'`;echo ${line};sed -n "+line_req+",${line}p "+logfile_req+"") result = result.split('\n') linenumber = int(result[0]) linetxt = result[1:] data = {'linenumber':linenumber,'log':linetxt} return HttpResponse(json.dumps(data,ensure_ascii=False))
def handle_uploaded_file(request): order_no = request.POST.get('order_no','') host = request.POST.get('deploy_host','') user = request.POST.get('deploy_user','') file_req = request.FILES['uploadfile'] file_name = file_req.name try: path = '/data/uploadpackage/' + order_no + '/' if not os.path.exists(path): os.makedirs(path) destination = open(path + file_name, 'wb+') for chunk in file_req.chunks(): destination.write(chunk) destination.close() else: destination = open(path + file_name, 'wb+') for chunk in file_req.chunks(): destination.write(chunk) destination.close() moduleinfo = application.objects.filter(host_id=host,username=user).values('module') module = moduleinfo[0]['module'] vhost_ip = vhost.objects.all().filter(host_id=host).values('host_ip') host_ip = vhost_ip[0]['host_ip'] userinfo = app_user.objects.all().filter(username = user).values('username','password') username = userinfo[0]['username'] password = userinfo[0]['password'] sftp2(host_ip,username,password,path + file_name,'/app/'+username+'/'+module+'/applications/'+file_name) #step1: release ssh2_deploy(host_ip,username,password,r'cd /app/'+username+'/deploy_all/;sh release-'+module+'-*.sh > '+username+'_upload_deploy.log;') while True: result = ssh2_deploy(host_ip,username,password, r'cd /app/'+username+'/deploy_all/;grep releaseok '+username+'_upload_deploy.log;') if (len(result)>0): break; else: sleep(10) ssh2_deploy(host_ip,username,password,r'cd /app/'+username+'/deploy_all/;sh stop-'+module+'-srv.sh >> '+username+'_upload_deploy.log;') while True: result = ssh2_deploy(host_ip,username,password, r'cd /app/'+username+'/deploy_all/;grep stopok '+username+'_upload_deploy.log;') if (len(result)>0): break; else: sleep(10) ssh2_deploy(host_ip,username,password,r'cd /app/'+username+'/deploy_all/;sh start-'+module+'-srv.sh >> '+username+'_upload_deploy.log; ') while True: result = ssh2_deploy_log(host_ip,username,password, r"cd /data/"+username+"/logs/;awk 'NF{a=$0}END{print a}' "+module+"-?01-srv01-"+(datetime.now().date()).strftime('%Y%m%d')+".log|grep -i RUNNING ;") if (len(result)>0): break; else: sleep(30) except Exception, e: logging.error(e)
def getlog_deploy_log(request): host_username = request.POST.get('host_user','').split('_') linenumber = request.POST.get('linenumber',1) host_ip = host_username[0] username = host_username[1] host_id_db = vhost.objects.filter(host_ip=host_ip).values('host_id') host_id = host_id_db[0]['host_id'] password_requser = app_user.objects.filter(host_id=host_id,username=username).values('password') password_user = password_requser[0]['password'] logging.info(password_user) result = ssh2_deploy_log(host_ip, username, password_user, r"cd deploy/scripts;set a=`wc -l deploy.log | awk '{print $1}'`;echo ${a};sed -n "+str(linenumber)+",${a}p deploy.log") result = result.split('\n') linenumber = int(result[0]) linetxt = result[1:] data = {'linenumber':linenumber,'log':linetxt} return HttpResponse(json.dumps(data,ensure_ascii=False))
def getlog_instance(request): host_ip_req = request.GET.get("host_ip", "") username_req = request.GET.get("host_user", "") instance_name_req = request.GET.get("instance_name", "") line_req = request.GET.get("linenumber", 1) view_date = (datetime.now().date()).strftime("%Y%m%d") host_id_db = vhost.objects.filter(host_ip=host_ip_req).values("host_id") logging.info(host_id_db) host_id = host_id_db[0]["host_id"] password_requser = app_user.objects.filter(host_id=host_id, username=username_req).values("password") password_user = password_requser[0]["password"] logfile_req = instance_name_req + "-" + view_date + ".log" logging.info(logfile_req) logging.info(host_ip_req) logging.info(username_req) logging.info(password_user) result = ssh2_deploy_log( host_ip_req, username_req, password_user, r"cdlog;set line=`wc -l " + logfile_req + "|awk '{print $1}'`;echo ${line};sed -n " + line_req + ",${line}p " + logfile_req + "", ) result = result.split("\n") linenumber = int(result[0]) linetxt = result[1:] data = {"linenumber": linenumber, "log": linetxt} return HttpResponse(json.dumps(data, ensure_ascii=False))
def handle_uploaded_file(request): order_no = request.POST.get('order_no', '') host = request.POST.get('deploy_host', '') user = request.POST.get('deploy_user', '') file_req = request.FILES['uploadfile'] file_name = file_req.name try: path = '/data/uploadpackage/' + order_no + '/' if not os.path.exists(path): os.makedirs(path) destination = open(path + file_name, 'wb+') for chunk in file_req.chunks(): destination.write(chunk) destination.close() else: destination = open(path + file_name, 'wb+') for chunk in file_req.chunks(): destination.write(chunk) destination.close() moduleinfo = application.objects.filter(host_id=host, username=user).values('module') module = moduleinfo[0]['module'] vhost_ip = vhost.objects.all().filter(host_id=host).values('host_ip') host_ip = vhost_ip[0]['host_ip'] userinfo = app_user.objects.all().filter(username=user).values( 'username', 'password') username = userinfo[0]['username'] password = userinfo[0]['password'] sftp2(host_ip, username, password, path + file_name, '/app/' + username + '/' + module + '/applications/' + file_name) #step1: release ssh2_deploy( host_ip, username, password, r'cd /app/' + username + '/deploy_all/;sh release-' + module + '-*.sh > ' + username + '_upload_deploy.log;') while True: result = ssh2_deploy( host_ip, username, password, r'cd /app/' + username + '/deploy_all/;grep releaseok ' + username + '_upload_deploy.log;') if (len(result) > 0): break else: sleep(10) ssh2_deploy( host_ip, username, password, r'cd /app/' + username + '/deploy_all/;sh stop-' + module + '-srv.sh >> ' + username + '_upload_deploy.log;') while True: result = ssh2_deploy( host_ip, username, password, r'cd /app/' + username + '/deploy_all/;grep stopok ' + username + '_upload_deploy.log;') if (len(result) > 0): break else: sleep(10) ssh2_deploy( host_ip, username, password, r'cd /app/' + username + '/deploy_all/;sh start-' + module + '-srv.sh >> ' + username + '_upload_deploy.log; ') while True: result = ssh2_deploy_log( host_ip, username, password, r"cd /data/" + username + "/logs/;awk 'NF{a=$0}END{print a}' " + module + "-?01-srv01-" + (datetime.now().date()).strftime('%Y%m%d') + ".log|grep -i RUNNING ;") if (len(result) > 0): break else: sleep(30) except Exception, e: logging.error(e)
def handle_uploaded_file(request): order_no = request.POST.get("order_no", "") host = request.POST.get("deploy_host", "") user = request.POST.get("deploy_user", "") file_req = request.FILES["uploadfile"] file_name = file_req.name try: path = "/data/uploadpackage/" + order_no + "/" if not os.path.exists(path): os.makedirs(path) destination = open(path + file_name, "wb+") for chunk in file_req.chunks(): destination.write(chunk) destination.close() else: destination = open(path + file_name, "wb+") for chunk in file_req.chunks(): destination.write(chunk) destination.close() moduleinfo = application.objects.filter(host_id=host, username=user).values("module") module = moduleinfo[0]["module"] vhost_ip = vhost.objects.all().filter(host_id=host).values("host_ip") host_ip = vhost_ip[0]["host_ip"] userinfo = app_user.objects.all().filter(username=user).values("username", "password") username = userinfo[0]["username"] password = userinfo[0]["password"] sftp2( host_ip, username, password, path + file_name, "/app/" + username + "/" + module + "/applications/" + file_name, ) # step1: release ssh2_deploy( host_ip, username, password, r"cd /app/" + username + "/deploy_all/;sh release-" + module + "-*.sh > " + username + "_upload_deploy.log;", ) while True: result = ssh2_deploy( host_ip, username, password, r"cd /app/" + username + "/deploy_all/;grep releaseok " + username + "_upload_deploy.log;", ) if len(result) > 0: break else: sleep(10) ssh2_deploy( host_ip, username, password, r"cd /app/" + username + "/deploy_all/;sh stop-" + module + "-srv.sh >> " + username + "_upload_deploy.log;", ) while True: result = ssh2_deploy( host_ip, username, password, r"cd /app/" + username + "/deploy_all/;grep stopok " + username + "_upload_deploy.log;", ) if len(result) > 0: break else: sleep(10) ssh2_deploy( host_ip, username, password, r"cd /app/" + username + "/deploy_all/;sh start-" + module + "-srv.sh >> " + username + "_upload_deploy.log; ", ) while True: result = ssh2_deploy_log( host_ip, username, password, r"cd /data/" + username + "/logs/;awk 'NF{a=$0}END{print a}' " + module + "-?01-srv01-" + (datetime.now().date()).strftime("%Y%m%d") + ".log|grep -i RUNNING ;", ) if len(result) > 0: break else: sleep(30) except Exception, e: logging.error(e)