/srv/irclogs.ubuntu.com/2021/05/24/#snappy.txt

mborzeckimorning05:23
pstolowskimorning07:19
mardypstolowski: Hi! You are also welcome to join us in libera.chat :-)07:26
mborzeckipstolowski: mardy hey07:26
mborzeckimardy: the channel has migrated already?07:27
pstolowskimardy: i'm there already since last week, it is just still kinda empty ;)07:32
mborzeckifwiw registered my nick for now07:36
mardyjust about 20 people there07:51
mborzeckimardy: pstolowski: any reviews to look at?08:12
mborzeckii remember that pstolowski has his phase 2 bits, but some bits were distilled to separate PRs08:13
mborzeckis/bits/changes/08:13
pstolowskimborzecki: yeah, https://github.com/snapcore/snapd/pull/10284 is the distilled part (with some changes from Samuele)08:16
mupPR #10284: o/snapstate: introduce minimalInstallInfo interface <Refresh control> <Created by stolowski> <https://github.com/snapcore/snapd/pull/10284>08:16
* pstolowski feeling schizophrenic being on libera and freenode at the same time08:19
mborzeckidon't feel inclined to switch until matrix bridge is up tbh08:21
pstolowskimborzecki: do you have anything that's close to land and just needs 2nd review?09:13
mborzeckipstolowski: this one probbaly https://github.com/snapcore/snapd/pull/10254 it's a longer one though 🙂 not that i didn't warn you09:14
mupPR #10254: overlord/devicestate: tasks for creating recovery systems at runtime <Skip spread> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10254>09:14
pstolowskiok :) i feel warned09:14
mupPR snapd#10292 opened: WIP: overlord/servicestate: omit service list if only snap given <Created by mardy> <https://github.com/snapcore/snapd/pull/10292>09:25
pstolowskimborzecki: +1, a few nitpicks10:04
mborzeckipstolowski: thanks, let me take a quick look at the comments and push patches10:07
mupPR snapd#10281 closed: release-tools/changelog.py: implement script to update all the changelog files <Skip spread> <Created by anonymouse64> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/10281>10:11
pstolowskimborzecki: is there a problem landing https://github.com/snapcore/snapd/pull/10241 ?10:24
mupPR #10241: tests: set memory limit for snapd <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10241>10:24
pstolowskinb ijohnson has a quota test PR that also triggers oom10:25
mborzeckipstolowski: that's slightly different, ian's PRs set quota for services, this one sets a limit for snapd (and the child processes it spawns)10:27
pstolowskiyeah, just wondering if our restore-prepare needs tweaking10:27
pstolowskiquota PR is expecting oom10:29
* pstolowski lunch10:43
mborzeckipstolowski: are the unit tests passing for you on master?11:43
pstolowskimborzecki: checking11:54
mborzeckipstolowski: i've hit https://paste.ubuntu.com/p/pvgRcwVXXy/ with this branch https://github.com/snapcore/snapd/pull/10207 but i guess it's already fixed in master12:03
mupPR #10207: vendor: bump github.com/canonical/go-tpm2 revision <Created by mvo5> <https://github.com/snapcore/snapd/pull/10207>12:03
pstolowskimborzecki: passes here12:04
pstolowskimardy:  i commented on the cause of the failures with your other approach12:17
mardypstolowski: thanks!12:30
mupPR snapd#10254 closed: overlord/devicestate: tasks for creating recovery systems at runtime <Skip spread> <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/10254>12:31
pstolowskiyay! something landed finally \o/12:37
mborzeckiahah12:46
mborzeckimardy: idk if you've seen https://github.com/snapcore/snapd/pull/10282#discussion_r637882294 json and pointers is (not)fun ;)12:46
mupPR #10282: services: remember if acting on the entire snap <Created by mardy> <https://github.com/snapcore/snapd/pull/10282>12:46
mardypstolowski: I'm still trying to understand how the information flows, but I noticed that runServiceCommand() takes the list of service names both in its last parameter, and in the Names field of the AppInstruction.12:46
pstolowskimardy: yeah it is possible Inst is passed around anyway just for actual instruction etc, there might be some redundancy12:48
pstolowskimardy: if you see a way to simplify any of that then feel free to do it12:49
mardymborzecki: yes, thanks. So, the idea is that by default a false boolean is considered empty (if not a pointer), right?12:49
mborzeckimardy: yes, where empty == default initialization value afaiu12:50
pstolowskimardy: fwtw that was part of big refactoring of internal handling of services where we didn't have a central place that actually does the work. some details like this are still not ideal12:50
pstolowskinow at least we have service-control task as a central place12:50
mborzeckimardy: the pointer is only useful if you want to know whether the thing was present in the input data (json in this case)12:50
mborzeckiijohnson: i've opened https://github.com/snapcore/snapd/pull/10293 with the patch update for debian sid13:32
mupPR #10293: packaging/debian-sid: update locale patch for the latest master <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10293>13:32
mupPR snapd#10293 opened: packaging/debian-sid: update locale patch for the latest master <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10293>13:36
ijohnsonthanks bboozzoo taking a look now13:54
mardypstolowski: I'm a bit confused about what I should change in getServiceInfos(), because this method is not computing the service list itself: it's getting it as a parameter13:59
pstolowskimardy: afaiu it's similar to appInfosFor, only limited to services. in particular it's checking if snap name was passed to mean all services. I think it needs to also set ExplicitlyRequested because if you look at runServiceCommand, it also creates service-control task, so needs to follow same logic14:16
pstolowskimardy: it eventually calls serviceControlTs(..) method that you modified14:17
pstolowskimardy: (i mean runServiceCommand calls it)14:18
pstolowskimardy: esentialy, serviceControlTs() can be called for 'snap stop|start|restart' (which you covered) but also for 'snapctl stop|start|restart' (i.e. from hooks) and runServiceCommand is the starting point for the latter14:20
pstolowskimardy: does it make sense?14:23
mardypstolowski: yes, I didn't realize that the parameters it gets can also consist of just snap names. Yes, I will do that change, but I don't think it will help for the spread tests.14:28
mardyfor the spread tests, we need to do the opposite (expanding the list of snap services) somewhere later14:29
pstolowskimardy: it might actually fix at least services-snapctl failures14:35
pstolowskibecause this tests restarts specific services via snapctl, and since ExplicitlyRequested is never set there, it probavly restarts all of them (?)14:36
ijohnsonbboozzoo: hey so when using the cmdline.extra file for gadgets, comments and multi-line works the same as for cmdline.full right ?15:15
pstolowskiexperiencing network issues15:30
pstolowskiijohnson, mborzecki : in the light of yet another report of download getting stuck while in "download-snap" task handler, i'm wondering about enhancing our debug api with a method that dumps stracktraces of all go routines, do you guys think it makes sense? this might be better than asking someone for kill -abrt ?16:05
ijohnsonpstolowski: makes sense to me, but remind me does the debug command require auth or root to use ?16:06
ijohnsonif not, we might want to make sure that only root can do the stacktrace dumping, otherwise we could inadvertently leak secrets that snapd is working on from that endpoint16:06
pstolowskiijohnson: yeah we don't require root atm16:07
ijohnsonpstolowski: could we just make the whole `/debug` endpoint for snapd socket root only ?16:07
ijohnsonroot/auth16:07
pstolowskiijohnson: we could, but i don't know about potentially breaking someone with it; otoh this is a debug api and not stable by definition16:09
ijohnsonyeah I'm fine breaking someone relying on the debug endpoint being user accessible16:10
ijohnsonI mean obvs let's run it by mvo/pedronis when they are back, but you have my +1 ⭕️16:10
ijohnsonwhoops meant 😀16:10
pstolowskiindeed; thanks :)16:11
mborzeckiijohnson: yes, comments & multline in cmdline.extra is handled identically to cmdline.full16:24
ijohnsonnice16:24
mborzeckiiow it's done by the same bit of code16:24
ijohnsonright, that's what I thought, thanks for confirming16:24
mborzeckiijohnson: as for downloads, hmm we have a profiling endpoint exposed over debug api, you can dump a trace of what's happening there16:25
ijohnsonhmm maybe we should make that root now then16:31
mborzeckiijohnson: take a look at tests/main/debug-pprof, there should be an example, for trace you can run `curl -s -o snapd.trace --unix-socket /run/snapd.socket 'http://localhost/v2/debug/pprof/trace?seconds=30` to grab 30s and so on16:32
mborzeckithen `go tool trace snapd.trace` will open a browser16:32
ijohnsonnice, pstolowski ^16:32
mborzeckiand it is root only16:32
ijohnsonah perfect it is already root only16:33
mborzeckii played a bit with adding custom traces too such that you could track which task is being executed16:33
mborzeckiijohnson: had to force push an update to https://github.com/snapcore/snapd/pull/1029316:46
mupPR #10293: packaging/debian-sid: update locale patch for the latest master <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10293>16:46
mupPR snapd#10294 opened: release-tools/changelog.py: refactor regexp + file reading/writing <Simple 😃> <Skip spread> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/10294>19:23
mupPR snapcraft#3527 closed: ua manager: install ubuntu-advantage-tools as needed (CRAFT-67) <Created by cjp256> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/3527>19:51

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