← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~cjwatson/launchpad/copy-set-phase into lp:launchpad

 

The proposal to merge lp:~cjwatson/launchpad/copy-set-phase into lp:launchpad has been updated.

Description changed to:

== Summary ==

Copying packages to the -updates pocket but gradually phasing them in using the phased_update_percentage mechanism effectively requires the PUP to be set to 0 after the copy.  However, doing this with BPPH.changeOverride is problematic: it requires archive owner privileges rather than merely the ability to copy, and it's racy because you have to wait for the async copy to complete before you can change its overrides and you have to make sure you squeeze the override change in before the next publisher run.  It would be better to be able to specify an initial PUP for the copied binaries.  Bug 1192286 has more details.

== Proposed fix ==

Add a phased_update_percentage argument to Archive.copyPackage and propagate it all the way down.  The only fiddly bit is choosing exactly how to pass it through PublishingSet.copyBinaries; I opted for making it a parameter you can tweak when creating an override policy, which the policy then remembers and applies as appropriate.

== LOC Rationale ==

+133.  This is making an existing feature properly usable so I think it's reasonable; and I have a good track record at removing LoC from LP ...

== Tests ==

bin/test -vvct lp.soyuz.adapters.tests.test_overrides -t lp.soyuz.tests.test_archive -t lp.soyuz.tests.test_packagecopyjob -t lp.soyuz.scripts.tests.test_copypackage -t lp.soyuz.tests.test_publishing -t lp.soyuz.tests.test_packageupload

== Demo and Q/A ==

''Explain how to demonstrate the fix and how to carry out QA on it.''

On DF, pick two packages in PROPOSED pockets but not elsewhere and copy them to UPDATES, one with phased_update_percentage=0 and one with that argument unspecified.  Run the publisher.  The first should be published with "Phased-Update-Percentage: 0" in Packages, and the second should have that field missing.

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/copy-set-phase/+merge/170775
-- 
https://code.launchpad.net/~cjwatson/launchpad/copy-set-phase/+merge/170775
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/launchpad/copy-set-phase into lp:launchpad.


References