Ignore:
Timestamp:
Mar 30, 2017, 2:29:12 PM (3 years ago)
Author:
jrpelegrina
Message:

WIP in improve process to detect errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-up/trunk/fuentes/lliurex-up-cli/usr/sbin/lliurex-upgrade

    r4073 r4093  
    8585               
    8686                try:
    87                         #os.system(command)
    88                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    89                         poutput,perror=p.communicate()
    90                         if len(perror)>0:
    91                                 log_msg="Exec Init-Actions. Error: " +str(error)
    92                                 print ("  [Lliurex-up]: Checking system.  Error: " + str(self.perror))
    93                         else:
    94                                 log_msg="Exec Init-Actionss. OK"
    95                                 print ("  [Lliurex-up]: Checking system. OK")
    96 
    97                         self.log(log_msg)
     87                       
     88                        p=subprocess.Popen(command,shell=True,stderr=subprocess.PIPE)
     89                        output=p.communicate()
     90                        error=self.readErrorOutput(output[1])
     91                        if error:
     92                                log_msg="Exec Init-Actions. Error: %s"%output[1]
     93                        else:
     94                                log_msg="Exec Init-Actions. OK"
    9895                       
    9996                except Exception as e:
    10097                        log_msg="Exec Init-Actions.Error: " +str(e)
    101                         self.log(log_msg)
    10298                        print e
     99                       
     100                self.log(log_msg)       
    103101                       
    104102        #def initActionsScript
     
    273271                try:
    274272                        #os.system(command)
    275                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    276                         poutput,perror=p.communicate()
    277                         if len(perror)>0:
    278                                 log_msg="Exec Pre-Actions. Error: " +str(error)
    279                                 print ("  [Lliurex-up]: Preparing system to update.  Error: " + str(self.perror))
     273                        p=subprocess.Popen(command,shell=True,stderr=subprocess.PIPE)
     274                        output=p.communicate()
     275                        error=self.readErrorOutput(output[1])
     276                        if error:
     277                                log_msg="Exec Pre-Actions. Error: %s"%output[1]
    280278                        else:
    281279                                log_msg="Exec Pre-Actions. OK"
    282                                 print ("  [Lliurex-up]: Preparing system to update. OK")
    283 
    284                         self.log(log_msg)
    285280
    286281                except Exception as e:
    287282                        log_msg="Exec Pre-Actions. Error " +str(e)
    288                         self.log(log_msg)
    289283                        print e
     284
     285                self.log(log_msg)       
    290286
    291287        #def preActionsScript                   
     
    302298                try:
    303299                        #os.system(command)
    304                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    305                         poutput,perror=p.communicate()
    306                         if len(perror)>0:
    307                                 log_msg="Exec Dist-uggrade. Error: " +str(error)
    308                                 print ("  [Lliurex-up]: Downloading and installing packages.  Error: " + str(self.perror))
    309                         else:
    310                                 log_msg="Exec Dist-uggrade. OK"
    311                                 print ("  [Lliurex-up]: Downloading and installing packages. OK")
    312 
    313                         self.log(log_mg)       
    314                        
     300                        p=subprocess.Popen(command,shell=True,stderr=subprocess.PIPE)
     301                        output=p.communicate()
     302                        error=self.readErrorOutput(output[1])
     303                        if error:
     304                                log_msg="Exec Dist-upgrade. Error: %s"%output[1]
     305                        else:
     306                                log_msg="Exec Dist-upgrade. OK"
    315307               
    316308                except Exception as e:
    317309                        log_msg="Exec Dist-uggrade.Error : " +str(e)
    318                         self.log(log_msg)
    319310                        print e
     311
     312                self.log(log_msg)       
    320313                       
    321314        #def distUpgrade               
     
    323316        def postActionsScript(self,extra_args):
    324317
    325                 self.postActionsError=False
    326318                print("  [Lliurex-up]: Ending the update")
    327319
     320                self.errorpostaction=False
     321
    328322                if extra_args["unattendend_upgrade"]:
    329                         command="DEBIAN_FRONTEND=noninteractive " + self.lliurexcore.postActionsScript()
     323                        command="DEBIAN_FRONTEND=noninteractive " + self.lliurexcore.postActionsScript() 
    330324                else:
    331325                        command=self.lliurexcore.postActionsScript()
    332326       
    333327                try:
    334                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    335                         poutput,perror=p.communicate()
    336                         if len(perror)>0:
    337                                 self.postActionsError=True
    338                                 log_msg="Exec Post-Actions. Error: " + str(perror)
    339                                 print ("  [Lliurex-up]: Metapackage installation. Error: " + str(self.perror))
    340                         else:
    341                                 log_msg="Exec Post-Actions. OK"
    342                                 print ("  [Lliurex-up]: Metapackage installation. OK")
    343 
    344                         #os.system(command)
    345                         #log_msg="Exec Post-Actions"
    346                         self.log(log_msg)
    347 
     328                        p=subprocess.Popen(command,shell=True,stderr=subprocess.PIPE)
     329                        output=p.communicate()
     330
     331                        error=self.readErrorOutput(output[1])
     332                        if error:
     333                                self.errorpostaction=True
     334                                log_msg="Exec Post-Actions. Error: %s"%output[1]
     335                        else:
     336                                log_msg="Exec Post-Actions.OK"
     337
     338                       
    348339                except Exception as e:
    349                         print e
     340                        self.errorpostaction=True
     341                        log_msg="Exec Post-Actions.Error:%s"%e
     342
     343                self.log(log_msg)       
    350344
    351345        #def postActionsScript                 
    352346
     347        def readErrorOutput(self,output):
     348
     349                cont=0
     350                lines=output.split("\n")
     351                for line in lines:
     352                        if "E: " in line:
     353                                cont=cont+1
     354
     355                if cont>0:
     356                        return True
     357                else:
     358                        return False                   
     359
     360        #def readErrorOutput
    353361
    354362        def checkingFinalFlavourToInstall(self):
    355363               
    356                 self.finalFlavourError=False
    357364                print("  [Lliurex-up]: Checking final metapackage")
    358 
     365                self.errorfinalmetapackage=False
    359366                #self.flavourToInstall=self.lliurexcore.checkFinalFlavour()
    360367                self.flavourToInstall=self.lliurexcore.checkFlavour()
    361368
    362                 log_msg="Final check metapackage. Metapackage to install: " + str(self.flavourToInstall)
     369                log_msg="Final check metapackage. Metapackage to install:%s"%self.flavourToInstall
    363370                self.log(log_msg)
    364371               
    365372                if self.flavourToInstall!=None:
    366                         print ("  [Lliurex-up]: Install of metapackage is required: " + str(self.flavourToInstall))
     373                        print ("  [Lliurex-up]: Install of metapackage is required:%s"%self.flavourToInstall)
    367374                       
    368375                        if extra_args["unattendend_upgrade"]:
    369                                 command="DEBIAN_FRONTEND=noninteractive " +command=self.lliurexcore.installFinalFlavour(self.flavourToInstall)
     376                                command="DEBIAN_FRONTEND=noninteractive " + self.lliurexcore.installFinalFlavour(self.flavourToInstall)
    370377                        else:
    371378                                command=self.lliurexcore.installFinalFlavour(self.flavourToInstall)
    372379
    373                         p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    374                         poutput,perror=p.communicate()
    375 
    376                         if len(perror)>0:
    377                                 self.finalFlavourError=True
    378                                 log_msg=" Metapackage installation. Error: " + str(self.perror)
    379                                 print ("  [Lliurex-up]: Metapackage installation. Error: " + str(self.perror))
    380                         else:
    381                                 log_msg=" Metapackage installation. OK"
    382                                 print ("  [Lliurex-up]: Metapackage installation. OK")
    383 
    384                         self.log(log_msg)       
     380                        try:
     381
     382                                p=subprocess.Popen(command,shell=True,stderr=subprocess.PIPE)
     383                                output=p.communicate()
     384
     385                                error=self.readErrorOutput(output[1])
     386
     387                                if error:
     388                                        self.errorpostaction=True
     389                                        log_msg="Final install metapackage. Error %s"%output[1]
     390                                else:
     391                                        log_msg="Final install metapackage.OK"
     392
     393
     394                        except Exception as e:
     395                                self.errorfinalmetapackage=True
     396                                log_msg="Install of metapackage. Error:%s"%e
     397
     398                        self.log(log_msg)               
     399                       
    385400                                       
    386401                else:
     
    394409                error=self.lliurexcore.checkErrorDistUpgrade()
    395410
    396                 if error or self.postActionsError or self.finalFlavourError:
     411                if error or self.errorfinalmetapackage or self.errorpostaction :
    397412                        print("  [Lliurex-up]: The updated process is endend with errors")
    398413                        log_msg="Dist-upgrade process ending with errors"
Note: See TracChangeset for help on using the changeset viewer.