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