Exemplo n.º 1
0
def QueryMinion(request):
    if request.method == 'POST':
        clientip = request.META['REMOTE_ADDR']
        sapi = SaltAPI(url=settings.SALT_API['url'],
                       username=settings.SALT_API['user'],
                       password=settings.SALT_API['password'])
        data = json.loads(request.body)
        logger.info('%s is requesting %s. minion: %s' %
                    (clientip, request.get_full_path(), data))
        minion_id = data[0]['minion_id']
        info = sapi.GetGrains(minion_id)
        #logger.info(info['return'][0])
        return HttpResponse(json.dumps(info['return'][0]))
    elif request.method == 'GET':
        return HttpResponse('You get nothing!')
    else:
        return HttpResponse('nothing!')
Exemplo n.º 2
0
#    insert = project_t(
#        product = 'UC',
#        project = 'CAIPIAO',
#        minion_id = minion_id,
#        domain = 'uc22.com',
#        uri = '/',
#        info = 'high defense',
#    )
#    insert.save()

minion_id_list = [
    'CP_NG_HK_83_36', 'CP_NG_HK_85_10', 'CP_NG_HK_34_106', 'CP_NG_HK_153_1',
    'CP_NG_HK_179_204', 'CP_NG_HK_50_4', 'CP_NG_HK_224_181',
    'CP_NG_HK_224_152', 'CP_NG_HK_224_249'
]

for minion_id in minion_id_list:
    grains = sapi.GetGrains(minion_id)
    for ip in grains['return'][0][minion_id]['ipv4']:
        if ip == '127.0.0.1':
            continue
        elif ip[:7] == '192.168':
            continue
        select = minion_t.objects.filter(minion_id=minion_id, ip_addr=ip).all()
        if not select:
            insert = minion_t(
                minion_id=minion_id,
                ip_addr=ip,
            )
            insert.save()