Merge pdbq:pkg-updates-ppa into pdbq:main

Proposed by Bryce Harrington
Status: Merged
Merge reported by: Bryce Harrington
Merged at revision: b45f241f19aecd47321e905da9786ab3be373356
Proposed branch: pdbq:pkg-updates-ppa
Merge into: pdbq:main
Diff against target: 208 lines (+56/-34)
4 files modified
pdbq/lp.py (+10/-6)
scripts/pkg-bug (+23/-16)
scripts/pkg-updates (+20/-9)
tests/test_lp.py (+3/-3)
Reviewer Review Type Date Requested Status
Andreas Hasenack (community) Approve
Canonical Server Reporter Pending
Review via email: mp+452428@code.staging.launchpad.net

Description of the change

A set of fixes and improvements for filing "PPA Update" bug reports for making the tracking cards in Pdbq/Pinot.

Most notably, this adds functionality for filing bug reports against multiple packages, and have used it to file a bug report will all the packages to be updated in the canonical-server PPA; see LP: #2037695.

While I've already created the bug report (and am nearly finished with the backporting tasks), soon I'll be creating a new card for next cycle, so any improvements to this code would be much appreciated.

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) :
review: Needs Information
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

the json file you use to file bugs, is that produced by other scripts? Do you have a sample?

Revision history for this message
Andreas Hasenack (ahasenack) :
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks for reviewing this.

For filing PPA bugs, the input JSON file is:
    https://paste.ubuntu.com/p/583w7knYQs/

This is just hand generated, for now.

If you copy that to /tmp/canonical-server, I believe you should then be able to run:

    $ ./scripts/pkg-updates -d /tmp -t canonical-server -r jammy create ppa
    wrote /tmp/canonical-server/tasks-ppa-server-backports.json

The output JSON file will look something like this:
    https://paste.ubuntu.com/p/88v822S89K/

That file can be used as an input to the pkg-bug script from the pdbq:pkg-bug-create-with-multi-packages MP.

Revision history for this message
Andreas Hasenack (ahasenack) :
Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (3.7 KiB)

On Mon, Oct 09, 2023 at 02:15:13PM -0000, Andreas Hasenack wrote:
>
>
> Diff comments:
>
> > diff --git a/pdbq/lp.py b/pdbq/lp.py
> > index 9676dd3..d3bf0e5 100644
> > --- a/pdbq/lp.py
> > +++ b/pdbq/lp.py
> > @@ -103,16 +103,20 @@ class Lp:
> > def ubuntu_devel_series(self):
> > """Identify the in-development Ubuntu series.
> >
> > - This returns just the series currently under development. While
> > - this is returned as a list for compatibility, there will
> > - typically be no more than one element in it. However note this
> > - may be empty if used during the interim between a release and
> > - the opening of the next development series.
> > + This returns just the series currently under development or in a
> > + pre-release freeze. While this is returned as a list for
> > + compatibility, there will typically be no more than one element
> > + in it. However, note that this may be empty if used during the
> > + interim between a release and the opening of the next
> > + development series.
> >
> > :rtype: list of distro_series
> > :returns: The in-development Launchpad distro series for the Ubuntu project.
> > """
> > - return self.ubuntu.getDevelopmentSeries()
> > + devel_series = self.ubuntu.getDevelopmentSeries()
> > + if len(devel_series) > 0:
> > + return devel_series
> > + return [s for s in self.ubuntu.series if s.status == 'Pre-release Freeze']
>
> Ok, got it. Is there a list of the possible statuses?

Yep, there is, it's here under 'status':

  https://launchpad.net/+apidoc/devel.html#distro_series

> Right now you are checking for "Pre-release Freeze", which is kind of replacing the devel release. Would the same happen with the beta freeze perhaps? Or since we are past that, and didn't encounter this problem before, you think only the "pre-release freeze" is the single special case in the release cycle where the devel release "disappears"?
>

I'm not 100% understanding all of this, but the Launchpad definition of
"freeze" is specifically toggling when people cannot upload to the
archive. So I suspect it's in this state only during the specific
periods the release team needs to have everything locked down. So, I
don't think we'd expect the distro to be in "Pre-release Freeze" from
beta onward, just the period during beta when uploads are restricted.

The state is registered here in the LP code:
    https://git.launchpad.net/launchpad/tree/lib/lp/registry/interfaces/series.py

Some of the ubuntu-archive-tools mention 'Pre-release Freeze', such as
sru-review which seems to be applying a similar workaround to what I'm
doing. I'm not spotting a tool that *sets* it, but I do see it
mentioned on:

    https://wiki.ubuntu.com/BetaProcess

    """
    Release minus 3 days:
    * Announce the beta freeze on the #ubuntu-devel topic and
      ubuntu-devel-announce. There is generally no need to tell people
      to hold off on uploads, as they will be held automatically by
      Soyuz once the next task is performed.
--> * Put the archive into pre-release freeze state...

Read more...

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ok, thanks for the explanation and research!

review: Approve
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks, merged!

stirling: ~/src/Pdbq/pdbq-lp-bugs$ git push
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To git+ssh://git.launchpad.net/pdbq
   b9801d1..b45f241 main -> main

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: