launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #16955
[Merge] lp:~cjwatson/launchpad/livefs into lp:launchpad
The proposal to merge lp:~cjwatson/launchpad/livefs into lp:launchpad has been updated.
Description changed to:
== Summary ==
Implement the guts of the master side of live filesystem building (bug 1247461). There are some more bits to do, in particular a garbo job to make sure we don't keep too many files in the librarian and some more browser code, but we should be able to QA this without those additions, and this diff is quite large enough as it is.
== Pre-implementation notes ==
William recommended writing a separate uploader cron job rather than modifying archiveuploader. I did start on this, but I quickly found that I was copying more code from archiveuploader than I was comfortable with, and that I only needed to add a very small amount of code to UploadProcessor to teach it how to handle livefs uploads without the need for a .changes file. If you'd still like me to write a separate cron job after looking at this implementation, I can go back and do that.
== Implementation details ==
This relies on https://code.launchpad.net/~cjwatson/launchpad/db-livefs/+merge/217206, and includes:
* LiveFS, LiveFSBuild, and LiveFSFile interfaces, models, and webservice exports
* A new Person.createLiveFS method
* Minimal browser navigation code to handle Person:+livefs and Archive:+livefsbuild, just enough for webservice methods to work properly
* A new LiveFSBuildBehaviour
* Failure notification mail handling
* archiveuploader code to handle livefs uploads in "process-upload.py --builds"
== LOC Rationale ==
Ahem, yes. +2849. This is something we've wanted to do for a long time to consolidate the stunted livefs build farm into the main one, which will have overall maintenance benefits for the organisation even if not for Launchpad itself; and it looks likely that this is going to be required as part of RTM preparation for the phone. I'll try to claw things back elsewhere, but I think there's widespread agreement that we need this feature in Launchpad.
== Tests ==
bin/test -vvct livefs
== Demo and Q/A ==
livefs = lp.livefses.new(owner=lp.me, distro_series=trusty, name="ubuntu-desktop", metadata={"project": "ubuntu"})
livefs.requestBuild(archive=ubuntu.main_archive, distro_arch_series=trusty_i386, pocket="Release")
... or something along those lines, and then confirm that the build happens, can be uploaded, and can be retrieved.
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/livefs/+merge/217261
--
https://code.launchpad.net/~cjwatson/launchpad/livefs/+merge/217261
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.
References