def addprojectauto(request): projecthostinfo = getdatafromcmdb() putdatatodb(projecthostinfo) for host in projecthostinfo: host_info = host[1].split('_') host_name = host_info[2] host_ip = host[2] establishtrust(host_ip, host_name) if (len(host_info) == 5): if (int(host_info[4]) != 0): username = host_name[4:len(host_info) - 2] + host_info[3] password = username + '#Pass' create_deploy_user = r'/usr/sbin/useradd -g app -md /app/'+ username +' -s /bin/csh '+ username +';/bin/echo '+ password +'|/usr/bin/passwd --stdin '+ username +';'\ '/bin/mkdir -p /data;cd /data;/bin/mkdir -p '+ username +'/logs;/bin/chmod 755 '+ username +';/bin/chown -R '+ username +':app '+ username +';' userexist = ssh2(host_ip, r'grep ' + username + ' /etc/passwd') if (userexist): break else: logging.info(create_deploy_user) #ssh2(host_ip,create_deploy_user) return HttpResponse(u'数据获取成功!')
def addprojectauto(request): projecthostinfo = getdatafromcmdb() putdatatodb(projecthostinfo) for host in projecthostinfo: host_info = host[1].split('_') host_name = host_info[2] host_ip = host[2] establishtrust(host_ip,host_name) if(len(host_info)==5): if(int(host_info[4])!=0): username = host_name[4:len(host_info)-2] + host_info[3] password = username + '#Pass' create_deploy_user = r'/usr/sbin/useradd -g app -md /app/'+ username +' -s /bin/csh '+ username +';/bin/echo '+ password +'|/usr/bin/passwd --stdin '+ username +';'\ '/bin/mkdir -p /data;cd /data;/bin/mkdir -p '+ username +'/logs;/bin/chmod 755 '+ username +';/bin/chown -R '+ username +':app '+ username +';' userexist = ssh2(host_ip,r'grep '+username+' /etc/passwd') if(userexist): break; else: logging.info(create_deploy_user) #ssh2(host_ip,create_deploy_user) return HttpResponse(u'数据获取成功!')
def addprojectauto(request): projecthostinfo = getdatafromcmdb() putdatatodb(projecthostinfo) for host in projecthostinfo: host_info = host[1].split("_") host_name = host_info[2] host_ip = host[2] establishtrust(host_ip, host_name) if len(host_info) == 5: if int(host_info[4]) != 0: username = host_name[4 : len(host_info) - 2] + host_info[3] password = username + "#Pass" create_deploy_user = ( r"/usr/sbin/useradd -g app -md /app/" + username + " -s /bin/csh " + username + ";/bin/echo " + password + "|/usr/bin/passwd --stdin " + username + ";" "/bin/mkdir -p /data;cd /data;/bin/mkdir -p " + username + "/logs;/bin/chmod 755 " + username + ";/bin/chown -R " + username + ":app " + username + ";" ) userexist = ssh2(host_ip, r"grep " + username + " /etc/passwd") if userexist: break else: logging.info(create_deploy_user) # ssh2(host_ip,create_deploy_user) return HttpResponse(u"数据获取成功!")
def addproject(request): projectname_req = request.POST.get('project_name', '') package_req = request.POST.get('deploy_package', '') middleware_req = request.POST.get('middleware', '') hostnames_req = request.POST.get('hostname', '').split(',') hostnames_cl = hostnames_req[0:len(hostnames_req) - 1] order_name = vhost.objects.filter( order_name=projectname_req).values('order_no') if (order_name): return HttpResponse(u'项目已经存在!') logging.info(hostnames_cl) vhosts = [] app_users = [] order_no = 'DL' + (datetime.now()).strftime('%Y%m%d%H%M%S') # hostname like : 10.78.200.062_suse_vq12zdfb01_web01_4 increatment = 1 for host in hostnames_cl: logging.info(host) host_info = host.split('_') vhost_ip_tmp = host_info[0].split('.') logging.info(vhost_ip_tmp) vhost_ip = str(vhost_ip_tmp[0]) + '.' + str( vhost_ip_tmp[1]) + '.' + str(vhost_ip_tmp[2]) + '.' + str( int(vhost_ip_tmp[3])) ip_exist = vhost.objects.filter(host_ip=vhost_ip).values('host_ip') if (ip_exist): return HttpResponse('Host IP :' + vhost_ip + ' Already exist!') vhost_name = host_info[2] order_name = projectname_req hosted_id_db = vhost.objects.order_by('host_id').values( 'host_id').last() hosted_id = int(hosted_id_db['host_id']) + increatment logging.info(hosted_id) increatment = increatment + 1 vhosts.append( vhost(host_id=hosted_id, host_name=host, vhost_name=vhost_name, host_ip=vhost_ip, order_no=order_no, order_name=order_name, create_date=today, status='hosted')) username = vhost_name[4:len(vhost_name) - 2] + host_info[3] password = username + '!Pass' app_users.append( app_user(username=username, password=password, middleware=middleware_req, host_id=hosted_id, package=package_req, instance_num=host_info[4])) vhost.objects.bulk_create(vhosts) app_user.objects.bulk_create(app_users) #establish trust for deploy server and create deploy user for host in vhosts: host_name = host.vhost_name host_ip = host.host_ip establishtrust(host_ip, host_name) userinfo = app_user.objects.filter(host_id=host.host_id).values( 'username', 'password') for auser in userinfo: username = auser['username'] if (host_name[4:len(host_name) - 2] in username): create_deploy_user = r'/usr/sbin/useradd -g app -md /app/'+ username +' -s /bin/csh '+ username +';/bin/echo '+ auser['password'] +'|/usr/bin/passwd --stdin '+ username +';'\ '/bin/mkdir -p /data;cd /data;/bin/mkdir -p '+ username +'/logs;/bin/chmod 755 '+ username +';/bin/chown -R '+ username +':app '+ username +';' ssh2(host_ip, create_deploy_user) return HttpResponse('Already added project information!')
def addproject(request): projectname_req = request.POST.get("project_name", "") package_req = request.POST.get("deploy_package", "") middleware_req = request.POST.get("middleware", "") hostnames_req = request.POST.get("hostname", "").split(",") hostnames_cl = hostnames_req[0 : len(hostnames_req) - 1] order_name = vhost.objects.filter(order_name=projectname_req).values("order_no") if order_name: return HttpResponse(u"项目已经存在!") logging.info(hostnames_cl) vhosts = [] app_users = [] order_no = "DL" + (datetime.now()).strftime("%Y%m%d%H%M%S") # hostname like : 10.78.200.062_suse_vq12zdfb01_web01_4 increatment = 1 for host in hostnames_cl: logging.info(host) host_info = host.split("_") vhost_ip_tmp = host_info[0].split(".") logging.info(vhost_ip_tmp) vhost_ip = ( str(vhost_ip_tmp[0]) + "." + str(vhost_ip_tmp[1]) + "." + str(vhost_ip_tmp[2]) + "." + str(int(vhost_ip_tmp[3])) ) ip_exist = vhost.objects.filter(host_ip=vhost_ip).values("host_ip") if ip_exist: return HttpResponse("Host IP :" + vhost_ip + " Already exist!") vhost_name = host_info[2] order_name = projectname_req hosted_id_db = vhost.objects.order_by("host_id").values("host_id").last() hosted_id = int(hosted_id_db["host_id"]) + increatment logging.info(hosted_id) increatment = increatment + 1 vhosts.append( vhost( host_id=hosted_id, host_name=host, vhost_name=vhost_name, host_ip=vhost_ip, order_no=order_no, order_name=order_name, create_date=today, status="hosted", ) ) username = vhost_name[4 : len(vhost_name) - 2] + host_info[3] password = username + "!Pass" app_users.append( app_user( username=username, password=password, middleware=middleware_req, host_id=hosted_id, package=package_req, instance_num=host_info[4], ) ) vhost.objects.bulk_create(vhosts) app_user.objects.bulk_create(app_users) # establish trust for cloudops server and create cloudops user for host in vhosts: host_name = host.vhost_name host_ip = host.host_ip establishtrust(host_ip, host_name) userinfo = app_user.objects.filter(host_id=host.host_id).values("username", "password") for auser in userinfo: username = auser["username"] if host_name[4 : len(host_name) - 2] in username: create_deploy_user = ( r"/usr/sbin/useradd -g app -md /app/" + username + " -s /bin/csh " + username + ";/bin/echo " + auser["password"] + "|/usr/bin/passwd --stdin " + username + ";" "/bin/mkdir -p /data;cd /data;/bin/mkdir -p " + username + "/logs;/bin/chmod 755 " + username + ";/bin/chown -R " + username + ":app " + username + ";" ) ssh2(host_ip, create_deploy_user) return HttpResponse("Already added project information!")
def addproject(request): projectname_req = request.POST.get('project_name','') package_req = request.POST.get('deploy_package','') middleware_req = request.POST.get('middleware','') hostnames_req = request.POST.get('hostname','').split(',') hostnames_cl = hostnames_req[0:len(hostnames_req)-1] order_name = vhost.objects.filter(order_name = projectname_req).values('order_no') if(order_name): return HttpResponse(u'项目已经存在!') logging.info(hostnames_cl) vhosts = [] app_users = [] order_no = 'DL'+(datetime.now()).strftime('%Y%m%d%H%M%S') # hostname like : 10.78.200.062_suse_vq12zdfb01_web01_4 increatment = 1; for host in hostnames_cl: logging.info(host) host_info = host.split('_') vhost_ip_tmp = host_info[0].split('.') logging.info(vhost_ip_tmp) vhost_ip = str(vhost_ip_tmp[0])+'.'+str(vhost_ip_tmp[1])+'.'+str(vhost_ip_tmp[2])+'.' +str(int(vhost_ip_tmp[3])) ip_exist = vhost.objects.filter(host_ip = vhost_ip).values('host_ip') if(ip_exist): return HttpResponse('Host IP :'+vhost_ip+' Already exist!') vhost_name = host_info[2] order_name = projectname_req hosted_id_db = vhost.objects.order_by('host_id').values('host_id').last() hosted_id = int(hosted_id_db['host_id']) + increatment logging.info(hosted_id) increatment = increatment + 1 vhosts.append(vhost(host_id=hosted_id,host_name=host,vhost_name=vhost_name,host_ip=vhost_ip,order_no=order_no,order_name=order_name,create_date=today,status='hosted')) username = vhost_name[4:len(vhost_name)-2] + host_info[3] password= username + '!Pass' app_users.append(app_user(username=username,password=password,middleware=middleware_req,host_id=hosted_id,package=package_req,instance_num=host_info[4])) vhost.objects.bulk_create(vhosts) app_user.objects.bulk_create(app_users) #establish trust for deploy server and create deploy user for host in vhosts: host_name = host.vhost_name host_ip = host.host_ip establishtrust(host_ip,host_name) userinfo = app_user.objects.filter(host_id=host.host_id).values('username','password') for auser in userinfo: username = auser['username'] if(host_name[4:len(host_name)-2] in username): create_deploy_user = r'/usr/sbin/useradd -g app -md /app/'+ username +' -s /bin/csh '+ username +';/bin/echo '+ auser['password'] +'|/usr/bin/passwd --stdin '+ username +';'\ '/bin/mkdir -p /data;cd /data;/bin/mkdir -p '+ username +'/logs;/bin/chmod 755 '+ username +';/bin/chown -R '+ username +':app '+ username +';' ssh2(host_ip,create_deploy_user) return HttpResponse('Already added project information!')