Esempio n. 1
0
def tgtCheck():
    """
    legitimate target test
    in  : ['zhaogb-201','zhaogb-202','dzh-wgq101','dzh-wgq223','dzh-wgq233']
    out : ['zhaogb-201','zhaogb-202','dzh-wgq101','dzh-wgq223','dzh-wgq233','zhaogb-*','dzh-wgq*','*'],['zhaogb-201','zhaogb-202','dzh-wgq115',...],['zhaogb-','dzh-wgq',...]
    """

    groupli = []
    grouplinox = []
    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()
    miniaccept = minions[:]

    for mini in miniaccept:
        hostskey = re.sub(r'[0-9]', '', mini)
        groupkey = hostskey + '*'
        grouplinox.append(hostskey)
        groupli.append(groupkey)
    grouptgt = list(set(groupli))
    grouptgt.append('*')
    grouptgt.extend(minions)
    tgtTuple = tuple(grouptgt)
    return tgtTuple, minions, grouplinox
Esempio n. 2
0
def salt_key_unaccept(request):
    """
    list unaccepted keys
    """
    user = request.user
    dccn_list = []
    dc_hosts = {}
    dc_hosts_keys = {}

    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_pre_set = set(minions_pre)

    servers = DataCenter.objects.all()
    for server in servers:
        host_li = []
        hosts = HostList.objects.filter(dccn=server.dccn)
        dccn_list.append(server.dccn)
        for host in hosts:
            host_li.append(host.minionid)
        dc_hosts[server.dccn] = host_li

    for dc_h_k, dc_h_v in dc_hosts.iteritems():
        dc_hosts_keys[dc_h_k] = set(dc_h_v).intersection(minions_pre_set)

    dccn_list.sort()

    return render_to_response(
        'salt_key_unaccept.html',
        {'all_dc_list': dccn_list,'all_minions_pre': dc_hosts_keys },
        context_instance=RequestContext(request)
    )
Esempio n. 3
0
def salt_key_list(request):
    """
    list all key
    """

    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()

    return render_to_response('salt_key_list.html', {'all_minions': minions, 'all_minions_pre': minions_pre, 'all_minions_rej' : minions_rej})
Esempio n. 4
0
    def get(self, request, **kwargs):
        _saltapi = SaltAPI(url=SALT_API_URL,
                           username=SALT_API_USERNAME,
                           password=SALT_API_PASSWORD)
        _minions = _saltapi.list_all_key()[0]
        _minions_pre = _saltapi.list_all_key()[1]
        for _minion in _minions:
            if not SaltMinion.objects.filter(hostname=_minion):
                _salt_minion = SaltMinion(hostname=_minion,
                                          status=1,
                                          is_alive=False)
                # retrieve server info and initial it
                _salt_minion.server = init_server(_saltapi, _minion)
                _salt_minion.save()
        for _minion in _minions_pre:
            if not SaltMinion.objects.filter(hostname=_minion):
                SaltMinion.objects.create(hostname=_minion,
                                          status=2,
                                          is_alive=False)
            else:
                SaltMinion.objects.filter(hostname=_minion).update(
                    status=2, is_alive=False)

        return Response('success', status=status.HTTP_200_OK)
Esempio n. 5
0
def salt_key_list(request):
    """
    list all key
    """

    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()

    return render_to_response(
        'salt_key_list.html', {
            'all_minions': minions,
            'all_minions_pre': minions_pre,
            'all_minions_rej': minions_rej
        })
Esempio n. 6
0
def tgtCheck():
    """
    legitimate target test
    in  : ['zhaogb-201','zhaogb-202','dzh-wgq101','dzh-wgq223','dzh-wgq233']
    out : ['zhaogb-201','zhaogb-202','dzh-wgq101','dzh-wgq223','dzh-wgq233','zhaogb-*','dzh-wgq*','*'],['zhaogb-201','zhaogb-202','dzh-wgq115',...],['zhaogb-','dzh-wgq',...]
    """

    groupli = []
    grouplinox = []
    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()
    miniaccept = minions[:]

    for mini in miniaccept:
        hostskey = re.sub(r'[0-9]', '', mini)
        groupkey = hostskey + '*'
        grouplinox.append(hostskey)
        groupli.append(groupkey)
    grouptgt = list(set(groupli))
    grouptgt.append('*')
    grouptgt.extend(minions)
    tgtTuple = tuple(grouptgt)
    return tgtTuple,minions,grouplinox