/srv/irclogs.ubuntu.com/2018/01/30/#launchpad-dev.txt

=== frankban|afk is now known as frankban
=== frankban is now known as frankban|afk
vilacjwatson, wgrant: I'm curious about the following. I realize lp builders had a "bad hangover" to begin this year. And that many bets are off about the performance impact from many recent fixes. Yet, I seem to remember lp estimated times for builds to be accurate at the hour scale. For several days now, they are completely off though. Not progressing for hours, repeating the same (obviously wrong) estimation.Do you know why ?18:26
wgrantvila: The build start time estimation relies on the assumption that no new builds jump the queue in front of you. Do you have a particular build in mind?18:27
vilawgrant: https://code.launchpad.net/~vila/+recipe/byot-releases18:45
vilawgrant: just jumped from 17mins to 29mins18:46
vilawgrant: ha right, and there are way more jumpers these days. Makes sense.18:47
* juliank is currently trying to add Valid-Until support to Launchpad because he thinks it's needed. Untested branch in https://code.launchpad.net/~juliank/launchpad/valid-until - diff so far in http://paste.ubuntu.com/26491591/21:28
juliankI'll try to actually get a test launchpad instance set up tomorrow or later this week and run the tests.21:28
juliankThis mostly illustrates the idea :)21:29
juliankIf that actually (or eventually) works and we decide to roll it out, I'd probably start with bionic-backports as a test stage, as nobody uses that yet, so we can check weekly regeneration without affecting much :D21:30
juliankor well, whatever is devel at that time :D21:30
juliankcjwatson: I must say that the code is quite easy to read21:42
juliankI mostly just grepped advertise_by_hash and replicated that into write_valid_until :D21:42
cjwatsonI'd make the interval a configuration item (see lib/lp/services/config/schema-lazr.conf) and maybe also try to work out a way to make it configurable on a per-suite rather than per-series basis21:42
cjwatson"make it configurable" whether to do this at all, I mean21:43
juliankcjwatson: So a set of pockets would do that, right?21:43
juliankpockets_with_valid_until in distroseries, essentially21:43
cjwatsonI guess two configuration items, one for the Valid-Until period and one for how long before its expiry we regenerate21:43
cjwatsonYes, I think something like that would be worthwhile for finer control21:44
juliankRight21:44
cjwatsonjuliank: Also initialize-distroseries needs to copy the configuration to new series21:44
juliankI guess we can just define valid_until_period instead of write_valid_until in days21:44
juliankit does now21:44
cjwatsonAnd a bunch of other things I imagine we'll pick up :)21:44
cjwatsonAh yes, I was looking at an earlier diff21:45
juliankThis is the first time I looked at LP code21:45
juliankSo all you see happened within an hour of me first looking at it :D21:45
cjwatsonarchivepublisher is very probably the most accessible bit for an APT developer, and for almost nobody else :-)21:45
juliankIt's super easy21:45
juliankor well it looks super easy21:46
juliankvalid_until_expiry_threshold21:46
juliankvalid_until_period21:46
juliankvalid_until_pockets21:46
cjwatsonThe tests for this general area are a bit clunky by the standards of other LP code (they're very functional-testy, if you see what I mean, lots of "set up universe then run universe for a while" kinds of things), but should be manageable21:46
juliankI guess these are useful option names21:46
juliankUnless you want to configure period per pocket21:47
cjwatsonI don't think that's necessary21:47
juliankvalid_until_expiry_threshold and valid_until_period in days I guess21:47
juliankcould make it seconds, though21:48
cjwatsonWe have configuration items with times in seconds, minutes, days21:48
juliankah21:48
cjwatsonDays should be OK I think21:48
* juliank will take a look21:48
juliankyeah21:49
cjwatsonNice start, anyway - thanks for working on this21:49
cjwatsonisReleaseFileOutdated might want to be careful of the case where there isn't a Release file for the suite yet21:50
cjwatsonI have a sort of an itch about the way it parses the existing file rather than going off DB state, but it may be the most robust approach here21:50
juliankack21:50
juliankcjwatson: I'm not sure date is in the db? It just generates the releasefile with datetime.now()21:51
juliankum, utcnow()21:51
cjwatsonYeah, it's not right now21:51
cjwatsonWhat you have is probably fine, just thought I'd mention my initial itch :)21:51
cjwatson(Well - it's going to end up in the ArchiveFile table soon for InRelease-by-hash, but not in a form that's particularly useful for this)21:52
juliankcjwatson: InRelease-by-hash will be epic21:52
cjwatsonLast stage of that is https://code.launchpad.net/~cjwatson/launchpad/inrelease-by-hash/+merge/33667521:52
cjwatsonI think it will just about avoid conflicting with yours21:52
juliankyup seems ok21:53
juliankcjwatson: I guess I'll continue tomorrow, but these are all very helpful comments :)21:56
juliankcjwatson: The code in apt for checking that Date is not in the future is basically ready too, BTW. I hope it'll land for bionic :)21:57
juliankIf both changes land in time for that, we end up with a strict 2 week validity period for Release files21:57
juliankwhich would be awesome, IMO21:57
julianks/2 week/<n> day/21:58
cjwatsonjuliank: let me know when you've got near the point where you want to actually start running tests - I can help with setup, and you really don't want to be running the full suite if you don't have to, so I can offer advice on which segments to run22:13
juliankcjwatson: thanks :)22:14
cjwatson(full suite is 40min or so in buildbot, several hours on my laptop)22:14
juliankwow22:15

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!