Changeset 4992


Ignore:
Timestamp:
May 31, 2017, 12:20:20 PM (22 months ago)
Author:
hectorgh
Message:

adding retries in case samba id is not ready to be queried

File:
1 edited

Legend:

Unmodified
Added
Removed
  • n4d-server-plugins/trunk/fuentes/server-install-files/usr/share/n4d/python-plugins/LdapManager.py

    r180 r4992  
    358358        def get_samba_id(self):
    359359
    360                 pprocess = subprocess.Popen(['net','getlocalsid'],stderr=subprocess.PIPE,stdout=subprocess.PIPE)
    361                 sambaid = pprocess.communicate()[0]
    362                 aux = sambaid.split(":")[1]
    363                 self.samba_id = aux[1:len(aux)-1]
    364                 print("[LDAPMANAGER] Samba ID Thread finished.")
    365        
     360                self.samba_id=None
     361                t=threading.Thread(target=self.get_samba_id_t)
     362                t.daemon=True
     363                t.start()
    366364               
    367365        #def get_samba_id
     366       
     367       
     368        def get_samba_id_t(self):
     369               
     370                for count in range(0,10):
     371               
     372                        try:
     373                                pprocess = subprocess.Popen(['net','getlocalsid'],stderr=subprocess.PIPE,stdout=subprocess.PIPE)
     374                                sambaid = pprocess.communicate()[0]
     375                                aux = sambaid.split(":")[1]
     376                                self.samba_id = aux[1:len(aux)-1]
     377                                print("[LDAPMANAGER] Samba ID Thread finished.")
     378                                return True
     379                        except Exception as e:
     380                                print("[LDAPMANAGER] Get Samba ID failed: %s.")
     381                                if count < 9:
     382                                        print("[LDAPMANAGER] Retrying in 2 sec...")
     383                                        time.sleep(2)
     384               
     385                return False
     386               
     387               
     388        #def get_samba_id_t
    368389       
    369390       
     
    543564        def connect(self):
    544565               
    545                
     566                if self.samba_id==None:
     567                        # Calling blocking call instead of thread
     568                        self.get_samba_id_t()
    546569               
    547570                if self.restore_connection:
Note: See TracChangeset for help on using the changeset viewer.