Changeset 4093 for lliurex-up


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

WIP in improve process to detect errors

Location:
lliurex-up/trunk/fuentes
Files:
3 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"
  • lliurex-up/trunk/fuentes/lliurex-up-core/usr/share/lliurex-up/commonScripts/forceinstall

    r3692 r4093  
    33case "$ACTION" in
    44        initActions|initActionsSai|preActions|postActions)
    5                 apt-get install -f -y --force-yes
     5                apt-get install -f -y --allow-downgrades --allow-remove-essential --allow-change-held-packages
    66        ;;
    77esac
  • lliurex-up/trunk/fuentes/python-lliurex-up/lliurex/lliurexup/__init__.py

    r4072 r4093  
    271271                '''
    272272                self.updateCacheApt(options)
    273                 command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install --force-yes --yes lliurex-up {options}".format(options=options)
     273                command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install --allow-downgrades --allow-remove-essential --allow-change-held-packages --yes lliurex-up {options}".format(options=options)
    274274                p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
    275275                poutput,perror = p.communicate()
     
    440440                '''
    441441                self.updateCacheApt(options)
    442                 command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install --force-yes --yes " + flavourToInstall + "{options} ".format(options=options)
     442                command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install --yes --allow-downgrades --allow-remove-essential --allow-change-held-packages " + flavourToInstall + "{options} ".format(options=options)
    443443                p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
    444444                poutput,perror = p.communicate()
    445445               
    446446                if p.returncode!=0:
    447                         command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install -f -y --force-yes {options} ".format(options=options)
    448                         p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
     447                        command = "LANG=C LANGUAGE=en DEBIAN_FRONTEND=noninteractive apt-get install -f --yes --allow-downgrades --allow-remove-essential --allow-change-held-packages {options} ".format(options=options)
     448                        p = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    449449                        poutput,perror = p.communicate()
    450450
     
    523523        def distUpgradeProcess(self):
    524524       
    525                 return 'apt-get dist-upgrade --yes --force-yes'
     525                return 'apt-get dist-upgrade --yes --allow-downgrades --allow-remove-essential --allow-change-held-packages'
    526526
    527527
     
    543543                if countPostaction==0:
    544544
    545                         if os.path.exists(self.errorpostaction_token):
    546                                 aux = open(self.errorpostaction_token,'r')
     545                        if os.path.exists(self.errorfinalmetapackage_token):
     546                                aux = open(self.errorfinalmetapackage_token,'r')
    547547                                lines = aux.readlines()
    548548                                for x in lines:
     
    602602        def installFinalFlavour(self,flavourToInstall):
    603603
    604                 return 'apt-get install ' + flavourToInstall + ' --yes --force-yes'
    605                
     604                return 'apt-get install ' + flavourToInstall + ' --yes  --allow-downgrades --allow-remove-essential --allow-change-held-packages'               
    606605       
    607606
Note: See TracChangeset for help on using the changeset viewer.