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

Re: Stable update proposed for ganeti (fixing #528618)



On Sat, Aug 08, 2009 at 03:29:12PM +0200, Luk Claes wrote:
> Iustin Pop wrote:
> > On Tue, Aug 04, 2009 at 05:01:39PM +0100, Adam D. Barratt wrote:
> >> Iustin Pop wrote:
> >>> On Tue, Jul 28, 2009 at 08:05:15PM +0200, Iustin Pop wrote:
> >>>> Hi,
> >>>>
> >>>> I'd like to update ganeti to stable-proposed-updates to fix the above
> >>>> bug. It's a simple one-line change; I see only one potential breakage
> >>>> out of it - if people already did the symlink fix pointed out in the
> >>>> bug, but with the symlink pointing to a different version of Xen,
> >>>> then this version will change what xen version they use. More
> >>>> clearly: - if currently /usr/lib/xen points to anything else than
> >>>>   /usr/lib/xen-3.2-1, then
> >>>> - this upload will break people's HVM-based clusters
> >>>>
> >>>> Here is the proposed diff:
> >>> […]
> >>>> Let me know if this is OK or not, or if you need more information.
> >>> Ping? Did I miss some crucial information that is needed?
> >> The one thing that concerns me is the potential breakage you raised
> >> yourself.  Is it possible to detect that the user has moved the
> >> symlink and leave it as-is?
> > 
> > Well, if we're looking at a minimal diff then not.
> > 
> > Basically, upstream has hardcoded /usr/lib/xen, but Lenny has
> > /usr/lib/xen-3.2-1. The current patch just changes the hardcoded path.
> > 
> > A flexible solution would be to change this to /usr/lib/xen-ganeti,
> > which would be a symlink created at package install time to point to
> > either /usr/lib/xen (if it already exists, which means users have
> > customized their system to fit the current buggy upstream) or to
> > /usr/lib/xen-3.2-1 (or the first xen directory found).
> > 
> > This would mean a bigger diff, and seems to me slightly worse than a
> > NEWS.Debian entry detailing the change; but granted, it would be
> > automatic. What is usually done in a such a situation?
> 
> I would go for just changing the hardcoded path and adding a NEWS.Debian
> entry. Please do mention the bugreport (#528618).

OK, so then the whole diff between the .dsc files is:

  $ debdiff /tmp/ganeti_1.2.6-3.dsc ganeti_1.2.6-3+lenny1.dsc 
  diff -u ganeti-1.2.6/debian/changelog ganeti-1.2.6/debian/changelog
  --- ganeti-1.2.6/debian/changelog
  +++ ganeti-1.2.6/debian/changelog
  @@ -1,3 +1,10 @@
  +ganeti (1.2.6-3+lenny1) stable; urgency=low
  +
  +  * Fix hvmloader path to match Lenny's xen-utils-3.2-1
  +    (Closes: #528618)
  +
  + -- Iustin Pop <iusty@k1024.org>  Tue, 28 Jul 2009 19:29:14 +0200
  +
   ganeti (1.2.6-3) unstable; urgency=low
   
     * Cherry-pick commit 2461 from upstream, fixing (yet again, hopefully 
  only in patch2:
  unchanged:
  --- ganeti-1.2.6.orig/debian/gbp.conf
  +++ ganeti-1.2.6/debian/gbp.conf
  @@ -0,0 +1,7 @@
  +[DEFAULT]
  +sign-tags = True
  +pristine-tar = True
  +
  +[git-buildpackage]
  +export-dir = ../build-area/
  +tarball-dir = ../tarballs/
  only in patch2:
  unchanged:
  --- ganeti-1.2.6.orig/debian/NEWS
  +++ ganeti-1.2.6/debian/NEWS
  @@ -0,0 +1,9 @@
  +ganeti (1.2.6-3+lenny1) stable; urgency=low
  +
  +  * In order to fix #528618, the Xen hvmloader path has been changed from the
  +    hardcoded upstream of '/usr/lib/xen' to match Lenny's '/usr/lib/xen-3.2-1'.
  +    If you use Ganeti in HVM mode and use a custom Xen (and not Lenny's
  +    xen-utils-3.2-1 package), please make /usr/lib/xen-3.2-1 a symlink to your
  +    own xen directory (which must contain a boot/hvmloader file).
  +
  + -- Iustin Pop <iusty@k1024.org>  Sun, 09 Aug 2009 00:00:23 +0200
  only in patch2:
  unchanged:
  --- ganeti-1.2.6.orig/debian/patches/01-fix-lenny-hvmloader.patch
  +++ ganeti-1.2.6/debian/patches/01-fix-lenny-hvmloader.patch
  @@ -0,0 +1,16 @@
  +This is a fix for #528618
  +
  +Iustin Pop, <iusty@k1024.org> Tue, 28 Jul 2009 18:18:40 +0200
  +diff --git a/lib/hypervisor.py b/lib/hypervisor.py
  +index 4a8d892..d76c773 100644
  +--- a/lib/hypervisor.py
  ++++ b/lib/hypervisor.py
  +@@ -635,7 +635,7 @@ class XenHvmHypervisor(XenHypervisor):
  +     """
  +     config = StringIO()
  +     config.write("# this is autogenerated by Ganeti, please do not edit\n#\n")
  +-    config.write("kernel = '/usr/lib/xen/boot/hvmloader'\n")
  ++    config.write("kernel = '/usr/lib/xen-3.2-1/boot/hvmloader'\n")
  +     config.write("builder = 'hvm'\n")
  +     config.write("memory = %d\n" % instance.memory)
  +     config.write("vcpus = %d\n" % instance.vcpus)
  
(ignore the debian/gbp.conf file since that is not used during build). And a
debdiff on the two resulting .debs is:

  $ debdiff /tmp/ganeti_1.2.6*deb ganeti_1.2.6-3+lenny1*deb
  [The following lists of changes regard files as different if they have
  different names, permissions or owners.]
  
  Files in second .deb but not in first
  -------------------------------------
  -rw-r--r--  root/root   /usr/share/doc/ganeti/NEWS.Debian.gz
  
  Control files: lines which differ (wdiff format)
  ------------------------------------------------
  Installed-Size: [-1580-] {+1584+}
  Version: [-1.2.6-3-] {+1.2.6-3+lenny1+}
  
Can this be then uploaded to stable-proposed-updates? Also, As far as I
understand the docs, I upload to the same place, just with 'stable' in
the changes file, right?

thanks!
iustin


Reply to: