def salt_key_list(request): """ list all key """ user = request.user sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) minions,minions_pre = sapi.list_all_key() return render_to_response('salt_key_list.html', {'all_minions': minions, 'all_minions_pre': minions_pre})
def salt_key_list(request): """ list all key """ #user = request.user sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) minions, minions_pre = sapi.list_all_key() return render(request, 'salt_key_list.html', {'all_minions': minions, 'all_minions_pre': minions_pre})
def salt_key_list(request): """ list all key """ user = request.user sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) minions,minions_pre,minions_rej = sapi.list_all_key() minions_count = len(minions) minions_pre_count = len(minions_pre) minions_rej_count = len(minions_rej) return render_to_response('salt_key_list.html', {'all_minions': minions, 'all_minions_pre': minions_pre,'all_minions_rej': minions_rej,'minions_count':minions_count,'minions_pre_count':minions_pre_count,'minions_rej_count':minions_rej_count,'request':request})
def deploy_init_status(request): """ List all waiting for the host operating system is installed """ user = request.user if request.META.has_key('HTTP_X_FORWARDED_FOR'): userip = request.META['HTTP_X_FORWARDED_FOR'] else: userip = request.META['REMOTE_ADDR'] #获取待初始化的信息,从数据库中查询是否存在,未存在的插入到列表 all_system_list = SystemInstall.objects.filter(status='99') sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) minions = sapi.list_all_key() for tgt in all_system_list: if tgt.hostname not in minions[0]: sapi.accept_key(tgt.hostname) Message.objects.create(type='salt', action='initkey', action_ip=userip, username=user, content='%s accept key' % (tgt.hostname)) if tgt.hostname in sapi.list_all_key()[0]: ret = HostList.objects.filter(hostname=tgt.hostname) if ret: print "already in database" #SystemInstall.objects.filter(hostname=h).delete() Message.objects.create(type='sql', action='init', action_ip=tgt.hostname, username=user, content='已经存在') else: HostList.objects.create(hostname=tgt.hostname) #SystemInstall.objects.filter(hostname=h).delete() #安装后,装机列表此IP信息删除,转让到安装记录里供审计 #Message.objects.create(type='sql', action='add', action_ip=tgt.hostname, username=user, content='添加主机') Message.objects.create(type='asstes', action='create', action_ip=userip, username=user, content='add %s in hostlist' % (tgt.hostname)) paginator = Paginator(all_system_list,15) try: page = int(request.GET.get('page','1')) except ValueError: page = 1 try: all_system_list = paginator.page(page) except : all_system_list = paginator.page(paginator.num_pages) return render_to_response('deploy_init_status.html', {'all_system_list': all_system_list, 'page': page, 'paginator':paginator,'request':request},context_instance=RequestContext(request))
def salt_key_import(request): ''' 导入salt主机 ''' if request.user.is_superuser: sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) minions, minions_pre = sapi.list_all_key() alive = False ret_alive = sapi.salt_alive('*') for node_name in minions: try: alive = ret_alive[node_name] alive = True except: alive = False try: SaltHost.objects.create(hostname=node_name, alive=alive, status=True) except: salthost = SaltHost.objects.get(hostname=node_name) now = datetime.datetime.now() alive_old = SaltHost.objects.get(hostname=node_name).alive if alive != alive_old: salthost.alive_time_last = now salthost.alive = alive salthost.alive_time_now = now salthost.save() for node_name in minions_pre: try: SaltHost.objects.get_or_create(hostname=node_name, alive=alive, status=False) except: print 'not create' return redirect('key_list') else: raise Http404
def salt_key_list(request): """ list all key """ user = request.user sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) minions, minions_pre, minions_rej = sapi.list_all_key() minions_count = len(minions) minions_pre_count = len(minions_pre) minions_rej_count = len(minions_rej) return render_to_response( 'salt_key_list.html', { 'all_minions': minions, 'all_minions_pre': minions_pre, 'all_minions_rej': minions_rej, 'minions_count': minions_count, 'minions_pre_count': minions_pre_count, 'minions_rej_count': minions_rej_count, 'request': request })
def deploy_init_status(request): """ List all waiting for the host operating system is installed """ user = request.user if request.META.has_key('HTTP_X_FORWARDED_FOR'): userip = request.META['HTTP_X_FORWARDED_FOR'] else: userip = request.META['REMOTE_ADDR'] #获取待初始化的信息,从数据库中查询是否存在,未存在的插入到列表 all_system_list = SystemInstall.objects.filter(status='99') sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) minions = sapi.list_all_key() for tgt in all_system_list: if tgt.hostname not in minions[0]: sapi.accept_key(tgt.hostname) Message.objects.create(type='salt', action='initkey', action_ip=userip, username=user, content='%s accept key' % (tgt.hostname)) if tgt.hostname in sapi.list_all_key()[0]: ret = HostList.objects.filter(hostname=tgt.hostname) if ret: print "already in database" #SystemInstall.objects.filter(hostname=h).delete() Message.objects.create(type='sql', action='init', action_ip=tgt.hostname, username=user, content='已经存在') else: HostList.objects.create(hostname=tgt.hostname) #SystemInstall.objects.filter(hostname=h).delete() #安装后,装机列表此IP信息删除,转让到安装记录里供审计 #Message.objects.create(type='sql', action='add', action_ip=tgt.hostname, username=user, content='添加主机') Message.objects.create(type='asstes', action='create', action_ip=userip, username=user, content='add %s in hostlist' % (tgt.hostname)) paginator = Paginator(all_system_list, 15) try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 try: all_system_list = paginator.page(page) except: all_system_list = paginator.page(paginator.num_pages) return render_to_response('deploy_init_status.html', { 'all_system_list': all_system_list, 'page': page, 'paginator': paginator, 'request': request }, context_instance=RequestContext(request))