Esempio n. 1
0
def salt_delete_key(request):
    """
    delete salt minions key
    """
    if request.META.has_key('HTTP_X_FORWARDED_FOR'):
        ip = request.META['HTTP_X_FORWARDED_FOR']
    else:
        ip = request.META['REMOTE_ADDR']
    user = request.user
    node_name = request.GET.get('node_name')
    sapi = SaltAPI(url=settings.SALT_API['url'],
                   username=settings.SALT_API['user'],
                   password=settings.SALT_API['password'])
    ret = sapi.delete_key(node_name)
    id_list = HostList.objects.filter(hostname=node_name)
    if id_list:
        for i in id_list:
            host_list = get_object_or_404(HostList, pk=i.id)
            host_list.delete()
            Message.objects.create(type='hostlist',
                                   action='delete',
                                   action_ip=ip,
                                   username=user,
                                   content='delete %s' % (node_name))
    Message.objects.create(type='salt-key',
                           action='delete',
                           action_ip=ip,
                           username=user,
                           content='delete %s salt-key' % (node_name))
    return HttpResponseRedirect(reverse('key_list'))
Esempio n. 2
0
def salt_delete_key(request):
    """
    delete salt minions key
    """

    node_name = request.GET.get('node_name')
    sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password'])  
    ret = sapi.delete_key(node_name)
    Message.objects.create(type='salt', action='key', action_ip=node_name, content='saltstack delete node key')
    return HttpResponseRedirect(reverse('key_list'))
Esempio n. 3
0
def salt_delete_key(request):
    """
    delete salt minions key
    """

    node_name = request.GET.get('node_name')
    sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'],
                   password=settings.SALT_API['password'])
    ret = sapi.delete_key(node_name)
    Message.objects.create(type='salt', action='key', action_ip=node_name, content='saltstack delete node key')
    return HttpResponseRedirect(reverse('key_list'))
Esempio n. 4
0
def salt_key_manage(request, hostname=None):
    '''
    接受或拒绝salt主机,同时更新数据库
    '''
    if request.user.is_superuser:
        if request.method == 'GET':
            sapi = SaltAPI(url=settings.SALT_API['url'],
                           username=settings.SALT_API['user'],
                           password=settings.SALT_API['password'])
            hostname = request.GET.get('hostname')
            salthost = SaltHost.objects.get(hostname=hostname)
            action = ''
            if request.GET.has_key('add'):
                ret = sapi.accept_key(hostname)
                if ret:
                    salthost.status = True
                    salthost.save()
                    action = u'添加主机'
            if request.GET.has_key('delete'):
                ret = sapi.delete_key(hostname)
                if ret:
                    salthost.status = False
                    salthost.save()
                    action = u'删除主机'
            if request.GET.has_key('flush'):
                ret = sapi.salt_alive(hostname)
                try:
                    alive = ret[hostname]
                    alive = True
                except:
                    alive = False
                salthost.alive = alive
                salthost.save()
                action = u'刷新主机'
            if action:
                Message.objects.create(type=u'部署管理',
                                       user=request.user,
                                       action=action,
                                       action_ip=UserIP(request),
                                       content=u'%s %s' %
                                       (action, salthost.hostname))
        return redirect('key_list')
    else:
        raise Http404
Esempio n. 5
0
def salt_delete_key(request):
    """
    delete salt minions key
    """
    if request.META.has_key('HTTP_X_FORWARDED_FOR'):
        ip =  request.META['HTTP_X_FORWARDED_FOR']  
    else:
        ip = request.META['REMOTE_ADDR'] 
    user = request.user
    node_name = request.GET.get('node_name')
    sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password'])  
    ret = sapi.delete_key(node_name)
    id_list = HostList.objects.filter(hostname=node_name)
    if id_list:
        for i in id_list:
            host_list = get_object_or_404(HostList, pk=i.id)
            host_list.delete()
            Message.objects.create(type='hostlist', action='delete', action_ip=ip, username=user,content='delete %s' %(node_name))
    Message.objects.create(type='salt-key', action='delete', action_ip=ip, username=user, content='delete %s salt-key' %(node_name))
    return HttpResponseRedirect(reverse('key_list'))