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

Re: [Xen-devel] [PATCH] pygrub: do not overload RuntimeError for "no menu.lst found"



On Thu, 2011-10-20 at 09:10 +0100, Paolo Bonzini wrote:
> From: pbonzini@xxxxxxxxxx
> 
> # HG changeset patch
> # User Paolo Bonzini <pbonzini@xxxxxxxxxx>
> # Date 1319096986 -7200
> # Node ID bd1f7361d3d7f4c767af21317fb4ec7ea1372f42
> # Parent  1b110e895e285f43f14532e14c77597e54a0bcd2
> pygrub will still try the next partition if run_grub exits with a
> "real" error, thus hiding the root cause from the trace.  Defining
> a separate exception for "no bootloader config file found" avoids
> this.

Are all the other RuntimeError's ok or should we be defining a bunch of
more specific exceptions?

We need a signed-off-by for this change, per DCO:
http://wiki.xen.org/xenwiki/SubmittingXenPatches

Thanks,
Ian.

> 
> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
> --- a/tools/pygrub/src/pygrub
> +++ b/tools/pygrub/src/pygrub
> @@ -29,6 +29,9 @@ import grub.ExtLinuxConf
>  
>  PYGRUB_VER = 0.6
>  
> +class NotFoundError(RuntimeError):
> +    pass
> +
>  def enable_cursor(ison):
>      if ison:
>          val = 2
> @@ -412,7 +412,7 @@ class Grub:
>                  self.cf.filename = f
>                  break
>          if self.__dict__.get('cf', None) is None:
> -            raise RuntimeError, "couldn't find bootloader config file in the 
> image provided."
> +            raise NotFoundError, "couldn't find bootloader config file in 
> the image provided."
>          f = fs.open_file(self.cf.filename)
>          buf = f.read()
>          del f
> @@ -763,9 +766,9 @@ if __name__ == "__main__":
>                  break
>              fs = None
>  
> -        except:
> +        except (IOError, NotFoundError):
>              # IOErrors raised by fsimage.open
> -            # RuntimeErrors raised by run_grub if no menu.lst present
> +            # NotFoundError raised by run_grub if no menu.lst present
>              fs = None
>              continue
>  
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.