Changeset 5234


Ignore:
Timestamp:
Jun 20, 2017, 5:32:07 PM (18 months ago)
Author:
hectorgh
Message:

Updating client_list logic. Adding way to force client check

Location:
n4d/trunk/fuentes/install-files
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • n4d/trunk/fuentes/install-files/etc/n4d/conf.d/VariablesManager

    r5186 r5234  
    1515backup=adm,admins,admin
    1616restore=adm,admins,admin
    17 get_clients=anonymous
     17get_client_list=anonymous
     18manual_client_list_check=admin,admins,adm
    1819(ip)register_instance=anonymous
    1920(ip)server_changed=anonymous
     21
  • n4d/trunk/fuentes/install-files/usr/share/n4d/python-plugins/VariablesManager.py

    r5195 r5234  
    195195                        for mac in self.variables_clients:
    196196                               
    197                                 ip=self.variables_clients[item]["ip"]
     197                                ip=self.variables_clients[mac]["ip"]
    198198                                t=threading.Thread(target=self.check_single_client,args=(mac,ip,))
    199199                                t.daemon=True
     
    204204               
    205205        #def check_clients
     206
     207        def manual_client_list_check(self):
     208
     209                for mac in self.variables_clients:
     210                        ip=self.variables_clients[mac]["ip"]
     211                        t=threading.Thread(target=self.check_single_client,args=(mac,ip,))
     212                        t.daemon=True
     213                        t.start()
     214                        ip=self.variable
     215
     216        #def manual_client_list_check
    206217       
    207218       
    208219        def check_single_client(self,mac,ip):
    209220               
    210                 sys.stdout.write("[VariablesManager] Checking client { MAC:%s IP:%s } ... "%(mac,ip))
     221                max_pings=3
     222               
     223                print("[VariablesManager] Checking client { MAC:%s IP:%s } ... "%(mac,ip))
    211224                c=xmlrpclib.ServerProxy("https://%s:9779"%ip)
    212225                try:
     
    214227                        self.variables_clients[mac]["last_check"]=time.time()
    215228                        self.variables_clients[mac]["missed_pings"]=0
    216                         print("OK")
    217229                except:
    218230                        self.variables_clients[mac]["missed_pings"]+=1
    219                         print("FAILED")
    220                         if self.variables_clients[mac]["missed_pings"] >=3:
    221                                 print "[VariablesManager] Removing client due to too many missed pings."
     231                        if self.variables_clients[mac]["missed_pings"] >=max_pings:
     232                                print "[VariablesManager] Removing client %s:%s after %s missed pings."%(mac,ip,max_pings)
    222233                                self.variables_clients.pop(mac)
    223234               
Note: See TracChangeset for help on using the changeset viewer.