Bodhi NFR stable mash bug

Luke Macken lmacken at redhat.com
Thu Feb 18 16:20:43 UTC 2010


On Thu, Feb 18, 2010 at 09:34:12AM -0500, Josh Boyer wrote:
> I think I figured out why bodhi is trying to mash f13-updates (maybe).
> There seems to be a bug in the repo detection when we resume.  The
> code looks like:
> 
>  for update in self.updates:
>             release = update.release
> 
>             # [No Frozen Rawhide] Don't mash stable repos for pending releases
>             if update.request == 'stable' and release.locked:
>                 continue
> 
>             if self.resume:
>                 self.repos.add(release.stable_repo)
>                 self.repos.add(release.testing_repo)
>             elif update.request == 'stable':
>                 self.repos.add(release.stable_repo)
> 
> <snip>
> 
> So I think what happened is that on the first push attempt it
> correctly skipped f13-updates.  However, since the bodhi configs
> were all horked due to permissions, we had to resume the push.
> The above code seems to skip f13-updates initially, but then
> blindly add it in the resume case (I think).
> 
> I'm not sure we actually want to mash f13-updates right now.  I
> could create the f13-updates.mash file really easily, but that
> seems like the incorrect action to do.
> 
> If bodhi is fixed for this bug, we could roll out a new one and
> then resume the push again.  I don't really know of another
> solution to our current problem.

I just pushed out a new version of bodhi to app[1-7] and releng02 with the
following patch, which *think* fixes this resume bug.

    --- a/bodhi/masher.py
    +++ b/bodhi/masher.py
    @@ -360,7 +360,8 @@ class MashTask(Thread):
                     continue
     
                 if self.resume:
    -                self.repos.add(release.stable_repo)
    +                if not release.locked:
    +                    self.repos.add(release.stable_repo)
                     self.repos.add(release.testing_repo)
                 elif update.request == 'stable':
                     self.repos.add(release.stable_repo)


Thanks for the heads up,

luke


More information about the rel-eng mailing list