[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH] Store the partitioning layout to the logs for easier debugging



Hi,

The whole idea behind this is to make readable entry in the log file, which will document the state at the beginning of the instalation and at the moment of exception. It should make debugging storage stuff easier.

I wasn't exactly sure where to put the exception handler, so take a look please, comments are more than welcomed.

Martin

----- "Martin Sivak" <msivak redhat com> wrote:

> ---
>  anaconda     |    5 +++++
>  exception.py |    8 +++++++-
>  2 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/anaconda b/anaconda
> index 6b01ed0..a3081e2 100755
> --- a/anaconda
> +++ b/anaconda
> @@ -721,6 +721,11 @@ if __name__ == "__main__":
>      #
>      if earlyKS and not opts.rescue:
>          opts.rescue = earlyKS.rescue.rescue
> +    
> +    # Store the partitioning layout to log in case anything goes
> wrong
> +    PartLayout = iutil.execWithCapture("parted", ["parted", "-l"])
> +    log.debug("Partition layout at the beginning of instalation as
> seen by parted -l:\n" + PartLayout)
> +    del PartLayout
>  
>      if opts.rescue:
>          anaconda.rescue = True
> diff --git a/exception.py b/exception.py
> index 3493786..eacbf54 100644
> --- a/exception.py
> +++ b/exception.py
> @@ -35,6 +35,12 @@ import logging
>  log = logging.getLogger("anaconda")
>  
>  class AnacondaExceptionHandler(ExceptionHandler):
> +    def preWriteHook(self, (ty, value, tb), anaconda):
> +        # Store the last known partitioning layout
> +        PartLayout = iutil.execWithCapture("parted", ["parted",
> "-l"])
> +        log.debug("Partition layout at the moment of exception as
> seen by parted -l:\n" + PartLayout)
> +        del PartLayout
> +
>      def postWriteHook(self, (ty, value, tb), anaconda):
>          # See if /mnt/sysimage is present and put exception there as
> well
>          if os.access("/mnt/sysimage/root", os.X_OK):
> @@ -119,7 +125,7 @@ def initExceptionHandling(anaconda):
>                                 ],
>                    localSkipList=[ "passphrase", "password" ],
>                    fileList=[ "/tmp/syslog", "/tmp/anaconda.log",
> "/tmp/lvmout",
> -                             "/tmp/resize.out", "/tmp/program.log",
> +                             "/tmp/resize.out", "/tmp/program.log",
> "/proc/partitions",
>                               "/tmp/storage.log", "/tmp/yum.log",
>                               anaconda.rootPath +
> "/root/install.log",
>                               anaconda.rootPath +
> "/root/upgrade.log",
> -- 
> 1.6.4.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]