Exemplo n.º 1
0
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))
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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))
Exemplo n.º 4
0
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))
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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))
Exemplo n.º 7
0
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))
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)