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!')
# 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()