Ejemplo n.º 1
0
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}) 
Ejemplo n.º 2
0
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})
Ejemplo n.º 3
0
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}) 
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
        })
Ejemplo n.º 7
0
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))