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

mborzeckimorning06:00
mardy'morning!06:16
mborzeckimardy: your services restart PR is good to go right?06:21
mardymborzecki: yes, but if you are fine with the current version, then I'd like to squash a few commits together, because if we merge it as it is it just brings a lot of noise in the git history06:31
pstolowskimorning07:11
mupPR snapd#10273 closed: c/snap: more precise message for ErrorKindSystemRestart op != reboot <Created by pedronis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/10273>07:41
pedronismardy: hi, I have a question:  https://github.com/snapcore/snapd/pull/10251#discussion_r63501166108:15
mupPR #10251: interfaces/builtin: introduce raw-input interface <Needs Samuele review> <Created by mardy> <https://github.com/snapcore/snapd/pull/10251>08:15
mborzeckimvo: can you land #10220?08:22
mupPR #10220: seed/seedwriter: fail early when system seed directory exists <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10220>08:22
mupBug #10220: woody upgrade troubles <cracklib2 (Ubuntu):Fix Released> <cracklib2 (Debian):Fix Released> <https://launchpad.net/bugs/10220>08:22
zyga-mbphey guys08:32
zyga-mbpjust a small information drop: I'm working with Linaro to add native support for running spread jobs in LAVA08:32
zyga-mbpwe had a kick off recently and we will be doing the design and implementation in the open if anyone wants to participate08:33
zyga-mbpthe goal is to allow using deployed LAVA as a target for spread08:33
zyga-mbpwhere spread is able to generate lava jobs natively08:34
zyga-mbpand they run with all the features and tracking in lava08:34
zyga-mbpthis way spread can be used during testing locally on devices or with virtual machines and containers08:42
zyga-mbpbut the same test definitions can be transformed to lava jobs and executed in the 140+ devices that lava can automate today08:42
pedronispstolowski: doesn't https://github.com/snapcore/snapd/pull/10266  changes also "snap restart snap.svc1 snap.svc2" ?08:48
mupPR #10266: wrappers/services.go: do not restart disabled or inactive services <Needs Samuele review> <Created by mardy> <https://github.com/snapcore/snapd/pull/10266>08:48
pstolowskipedronis: yes it does08:50
pedronispstolowski: that was not the intention though08:50
pstolowskii think i asked for a spread test for it08:50
pstolowskioh, hmm08:50
pedronisthis is about strictly what happens if you restart all the services08:51
pedronisas far I remember we might not even know the difference right now08:51
pedronisbut we have to08:51
pedronishttps://forum.snapcraft.io/t/command-line-interface-to-manipulate-services/262/47 talks about all the variants for SNAP not single services08:52
pedronisor services explicitly listed08:53
pstolowskipedronis: indeed, we expand to appInfos very early in postApps, oh well08:55
pedronispstolowski: that's ok but we need a flag on the task and in the options I suppose08:57
pstolowskipedronis: yes08:57
pedronispstolowski: mardy: have a chat how to proceed on this08:58
pstolowskisorry i didn't realize we want to special-case the bahavior. will talk to mardy08:58
pedronispstolowski: mardy: I made an explicit comment in the bug: https://bugs.launchpad.net/snapd/+bug/180321209:00
mupBug #1803212: snap restart starts disabled services <snapd:Triaged by mardy> <https://launchpad.net/bugs/1803212>09:00
pedronispstolowski: also do the other things stop/start work already as described?09:01
pedronismvo: I commented here:  https://github.com/snapcore/snapd/pull/10256#issuecomment-843909902 let me know what you think09:12
mupPR #10256: snapstate: do not allow installing the same snap revision via InstallPath <Needs Samuele review> <Created by mvo5> <https://github.com/snapcore/snapd/pull/10256>09:12
mborzeckipedronis: hmm looking a bit at snap bootrap & resealing run keys with multiple models, we'll also need to update ubuntu-boot/device/model09:18
pedronismborzecki: yes09:19
pedronismborzecki: we probably should update it before the state with some undo error path09:20
mborzeckithe last steps feel a bit fragile though, it's going to be: 1. reseal with both models; 2. replace device/model; 3. set device in state, whereas the points 2-3 are problematic wrt. reboot i think09:20
mborzeckiand we'll need a backup copy of the old device/model in case setdevice fails (it's unlike but still)09:21
pedronismborzecki: we need to write some tests09:21
pedronisabout what happens if we reboot in the middle there09:22
mborzeckipedronis: yeah, after reboot we'd reseal with model from the state, which before set-device would be the old one, but then device/model would be out of sync09:22
pedronismborzecki: maybe we need to do this differently09:23
pedronisI mean mark something in modeenv such that if we come back with the new model then we just finish this09:23
pedronisinstead of undoing09:23
mborzeckimhm, that's a good idea09:24
pedronismborzecki: ah, notice that modeenv needs the model set as well?09:25
pedronisso maybe we kind of that already09:25
pedroniswe just need to be careful about the order and what we do if we come back middle of this09:26
mborzeckihm also reversing the order of 2 and 3 could work i think, since we'd reseal for both models earlier09:26
pedronisanyway sounds we need some managers tests about these reboot scenarios09:27
mborzeckiyup09:28
mborzeckiand i need to run some scenarios on paper :)09:28
mardypedronis: (about the raw-input interface) I replied to the question: those accesses do not seem to be needed, the app works fine without them09:30
pstolowskipedronis: no, start needs changing too, stop might be ok, i think this can/should be a separate PR09:31
pedronispstolowski: yes, I think they should be separate PRs09:31
pedronisthis one will already need to grow a bit09:31
pedronismardy: thanks for the answer09:31
pedronisand the PR09:31
pstolowskimardy: let me know when you have a moment to chat about serviceds09:35
mupPR snapd#10182 closed: o/snapstate: autorefresh phase1 for refresh-control <Needs Samuele review> <Refresh control> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/10182>09:41
mvopstolowski: congrats, nice to see this landing!09:42
pstolowskiyeah! just rebased #1026109:44
mupBug #10261: Fails to start if ipv6 disabled <postfix (Ubuntu):Fix Released by lamont> <https://launchpad.net/bugs/10261>09:44
mupPR #10261: o/snapstate: refresh control - autorefresh phase2 <Needs Samuele review> <Refresh control> <Created by stolowski> <https://github.com/snapcore/snapd/pull/10261>09:44
pstolowskipedronis ^09:44
pedronispstolowski: thanks, queued, I might not get to it until tomorrow though09:46
pstolowskinp09:46
mardypstolowski: I do now09:48
mupPR snapd#10220 closed: seed/seedwriter: fail early when system seed directory exists <Simple πŸ˜ƒ> <Created by bboozzoo> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/10220>10:21
pstolowskipedronis: does it sound ok to move softCheckNothingRunningForRefresh to gate-auto-refresh hook handler's Before()? Another place would be autoRefreshPhase1() when tasks get created. the new conditional-autorefresh task is too late (after the hooks)10:40
pstolowskiah it's sligthly annoying because the hook is optional10:46
pstolowskiso it may or may not run10:46
pedronispstolowski: I think Before seems a good place, yes the hook is optional but otoh if the hook is not run the answer doesn't matter as much10:51
pedronisbut it means we can't move it, anyway we also need to think about the corresponding lock10:51
pstolowskipedronis: doesn't softCheckNothingRunningForRefresh have side effects though?10:51
pedronispstolowski: yes, it changes SnapState10:54
pedronisI think10:54
pstolowskiyes exactly10:55
pedronisbut it's what we need10:55
pedronisor you mean related to the fact that we will not always run it at the same place?10:55
pstolowskiyes. and if we should run it only once (so if hook runs it, then doInstall skips it)10:56
pedronisas I said the bigger question is what to do with the lock10:57
pedronisbecause I don't think we can use softCheckNothingRunningForRefresh as is10:57
pedronisultimately10:57
pedronispstolowski: we can chat before or after the standup11:05
pstolowskipedronis: great, maybe after?11:05
pedronisok11:05
pedronismborzecki: what's the status of the blockers here: https://github.com/snapcore/snapd/pull/9647 ?11:09
mupPR #9647: vendor: upgrade to godbus v5.0.3 <Created by jhenstridge> <https://github.com/snapcore/snapd/pull/9647>11:09
* pstolowski lunch&errand11:10
mborzeckipedronis: hm fedora 32 should eol in a week or so, then we can drop it and we should be able to land the pr11:10
mborzeckipedronis: yeah, the eol should happen on 25.05, the packages in f33 and f34 are good afaict11:12
pedronismborzecki: can you comment there?  it probably should be marked blocked until then11:16
pedronisthx11:17
mborzeckipedronis: sure11:17
mupPR snapd#10275 opened: overlord/devicestate: use system mode access helper when checking tried systems <Run nested> <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10275>11:27
pstolowskire12:30
mupPR snapd#10276 opened: tests: remove tests.cleanup prepare from nested test <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/10276>12:32
mardypstolowski: hi! I'm getting more and more confused :-) It looks like the AppInto list which is constructed in daemon/api_apps.go:postApps() is thrown away and overlord/servicestate/service_control.go:doServiceControl() is rebuilding it from scratch12:37
mardyassuming that my understanding is right, what is the reason for not passing the same array around?12:38
mupPR snapcraft#3525 opened: dotnet plugin: use https for release metadata url <Created by cjp256> <https://github.com/snapcore/snapcraft/pull/3525>12:42
pstolowskimardy: doSeviceControl is a task handler. when we create the task we resolve all names to appinfos to ensure they make sense. then we store resolved names on the task. The handler then re-creates appinfos as this is the struct used universally by wrappers12:44
pstolowskimardy: it's a bit historical because the helper that resolves names into appinfos existed already12:46
mardypstolowski: so, my idea was to add a boolean field `ExplicitlyRequested` to the AppInfo struct. I can easily fill that in the postApps() method, but it gets lost somewhere before getting to the task handler. Looks like this approach is not feasible then…12:51
pstolowskimardy: no, AppInfo shouldn't be expanded with transient flags12:53
rZrsorry for noise but can i suggest to look about what's happening with freenode now : https://mastodon.social/@rzr/10626195489097988412:54
pstolowskimardy: AppInfo, SnapInfo etc correspond to static information about the snap, coming from its yaml12:54
mupPR snapd#10188 closed: tests: moving to tests directories snaps built locally - part 1 <Created by sergiocazzolato> <Merged by sergiocazzolato> <https://github.com/snapcore/snapd/pull/10188>13:07
pstolowskimardy: what you can do in go though is to embed AppInfo in another struct that just has extra attributes. but maybe just drop the use of appInfosFor in this particular case where we only need services?13:13
pstolowskimardy: maybe a new helper could simply return two sets of results13:15
pstolowski(individually resolved services, snap names)13:17
mupPR snapd#10277 opened: overlord/devicesate: observe snap writes when creating recovery systems <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/10277>13:47
mupPR core20#96 closed: Resurrect bash-completion <Created by xnox> <Merged by xnox> <https://github.com/snapcore/core20/pull/96>14:10
mupPR core20#103 closed: hooks: add libglib2.0-bin for the "gdbus" utility <question> <Created by jhenstridge> <Closed by jhenstridge> <https://github.com/snapcore/core20/pull/103>15:05
pstolowskimardy: regarding "...but it gets lost somewhere before getting to the task handler.." this is because you're updating in-memory structures only. Later when the task runs it can only see whatever was explicitly persisted in the state (or in the task's own data by task.Set(...) and then retrieved by task.Get(..)). In this particular case task handler just gets AppInfos from original snap yaml15:22
pstolowskimardy: if you look around, we use task's Set & Get a lot to persist and pass transient data15:28
mupPR snapd#10278 opened: o/hookstate/ctlcmd: allow system-mode for non-root <Created by pedronis> <https://github.com/snapcore/snapd/pull/10278>15:53
zyga_LAVA + spread mariage is starting: https://forum.ostc-eu.org/t/lava-and-spread-in-all-scenarios-os-ci-loop/50/215:54
zyga_cachio, ^15:54
mvozyga: \o/ awesome16:02
mupPR snapd#10279 opened: packaging/ubuntu-16.04/changelog: add placeholder for 2.50.1 <Skip spread> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/10279>16:23
zygamvo: yeah, it's interesting because this will also unlock one more small thing16:48
zygamvo: we could do native shellcheck, with all the awareness of what goes where in spread and what variables are present16:48
mupPR snapd#10279 closed: packaging/ubuntu-16.04/changelog: add placeholder for 2.50.1 <Skip spread> <Created by anonymouse64> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/10279>18:08
mupPR snapd#10280 opened: packaging: merge 2.50.1 changelog back <Skip spread> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/10280>18:38
=== oerheks1 is now known as oerheks
om26erAre we hopping on the "leave freenode" bandwagon just yet ? Hope we don't. Lots of freenode/IRC memories, that I'd love to keep.21:14
oerheksFor the present, freenode is still the official IRC namespace for Ubuntu until you hear otherwise from official sources.21:20
oerheksjust a storm in a glass of water, AFAIK21:20
mupPR snapd#10281 opened: release-tools/changelog.py: implement script to update all the changelog files <Skip spread> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/10281>21:59

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