/srv/irclogs.ubuntu.com/2020/10/06/#snappy.txt

* zyga-x240 is tired, very bad night05:22
mborzeckimorning06:19
dot-tobiasmorning06:28
pstolowskimorning07:00
mvopstolowski: good morning! just fyi, I'm about to push some support thing around the import PR07:00
zyga-x240good morning guys07:00
mvopstolowski: so probably best to not also work on it right now or we risk conflicts07:00
mvogood morning zyga-x24007:00
mborzeckimvo: hey07:01
mvohey mborzecki ! good morning to you as well :)07:01
mvohow are you all?07:01
pstolowskimvo: hey, ack. i'll get back to it in the afternoon then, i'll focus on tests for cleanup on interrupted import07:02
* zyga-x240 is pretty sleepy, lucy gave us a beating at night07:02
mvopstolowski: we should probably have a quick chat, we discussed with samuele last night, there is this problem that the current import approach is racy, we don't need many changes but a little bit, give me 5min and I can push a sketch of what we discussed07:03
pstolowskimvo: ok07:03
mvopstolowski: there is 9461,9462 and 9467 (all relatively small) in the meantime if you feel like it :)07:04
pstolowskisure07:08
mvopstolowski: I wrote the idea down in https://github.com/snapcore/snapd/pull/9036#discussion_r499816703 now - hope it makes sense(?)07:09
pstolowskimvo: interesting points there. should we also delay our own restarts, or not start import if restart is pending?07:14
mborzeckimvo: i think that the comments i made in 9461 can be addressed in #946707:15
mborzeckiand perhaps have the former closed actually07:15
mvomborzecki: sure, probably too granular all of this, sorry for that :/07:16
dot-tobiasijohnson xnox I'm trying to build the 20-armhf (or 20-arm64) pi-gadget snap, fails both on a Focal amd64 machine as well as remote-build with arm* --build-on flag. Anything I'm missing for the 20 build, since README instructions seem to be for uc18?07:16
mvomborzecki, pstolowski thanks for the reviews!07:16
zyga-x240mvo: I commented on that idea07:17
zyga-x240just drive by comment07:17
mborzeckimvo: pstolowski: fwiw, can we actually detect the real snapshot size when reading the body? what if someone appends just some random content at the end after the legitimate zip data is finished?07:17
mvomborzecki: we have the content-length and the limited reader now, that should help or am I misunderstanding?07:21
mborzeckimvo: hm maybe i'm complicating this a bit, what if i have a 1k snapshot, send content-length: 1G, and send the fill the rest with garbage?07:25
pstolowskimborzecki: i believe you need to be root to import. we do check if zip is valid, plus we will have disk space check there07:29
pstolowskior am i misunderstanding the concern here?07:30
mvomborzecki: it will error when reading the tar content but yeah, in general we can not protect much about bad actors here. the content-length is mostly to ensure we can do size checks and that we protect against accidents07:30
mborzeckimvo: otoh as pstolowski mentioned, you need to be root, so there's easier ways to break stuff07:31
zyga-x240brb07:32
mvomborzecki: yeah07:39
mvopstolowski, pedronis how does https://github.com/snapcore/snapd/compare/master...mvo5:snapshot-import-3?expand=1 look ? this should make the import race-free (at least on the filesystem level)07:51
mvopstolowski, pedronis also (to me but I'm biased) slightly easier to read(?)07:51
mvo(tests need updating still but integration works)07:52
pstolowskimvo: the url seems broken, wants me to open a PR07:52
mvopstolowski: sorry! is this one better? https://github.com/snapcore/snapd/compare/master...mvo5:snapshot-import-307:53
mvohttps://github.com/snapcore/snapd/compare/master...mvo5:snapshot-import-307:54
pedronismvo: did you see zyga comment, not that I understand it07:54
mvopedronis: I did, not sure how this helps against reboots, but once he is back I will ask him07:56
pedronisyes, that's the same question I have, also not clear what we would lock07:56
mvopedronis: yeah, we could lock the $setid_importing file but not sure about the gain07:57
pedronisanyway checking for hashes will add more questions as well07:59
mvopedronis: right, which ones to be exact? if we have hashes in export.json we can validate them after line 582. or am I missing something?08:01
pedronismvo: we'll need to do some locking and put some data in importing to avoid importing the same thing twice if asked in quick succession08:02
pstolowskimvo: not sure, it shows all the changes against master i think08:02
mvopedronis: oh, interessting. yes!08:03
pedronisanyway we are not there yet08:03
mvopstolowski: oh, right, let me try to compare against just the old pr if that helps?08:03
pstolowskimvo: nah, i think i'll just look at entire thing again08:04
mvopstolowski: might actually be easier08:04
pstolowskimvo: i think i'll hold off from touching import PR for now, it's moving too much08:26
mborzecki2020-10-06 08:03:25 Cannot allocate google:centos-8-64: cannot allocate new Google server google:centos-8-64 hmm (oct060800-322222): timeout waiting for google:centos-8-64 (oct060800-322222) to provision08:28
mvopstolowski: sorry for that, it should calm down very soon I think08:37
mborzeckizyga-x240: https://developers.redhat.com/blog/2020/09/24/new-c-features-in-gcc-10/?sc_cid=7013a00000260vRAAQ08:37
pstolowskimvo: no worries08:39
pstolowskimvo: i've fun with services now and that issue from the forum ;)08:39
zyga-x240mborzecki: nothing really interesting08:40
zyga-x240mborzecki: C++ is a sprawling mess08:40
mvopstolowski: ha! great.08:40
* zyga-x240 keeps hacking 08:40
zyga-x240there was a bit of worry as city-wide alarm sirens were on for like 10 minutes08:41
zyga-x240fortunately it's just a test08:41
zyga-x240but man, a bit nervous for a moment08:41
zyga-x240*those are LOUD*08:41
dot-tobiasIs cloud-init still unsupported/buggy when building a core20 image, or does ubuntu-image need an update after https://github.com/CanonicalLtd/ubuntu-image/pull/186? I have some additional setup for my images in a cloud.conf that can't be reliably replicated through gadget or other supported mechanisms.08:41
zyga-x240bombing run alarm test08:41
mvo9462 is an easy win08:42
mvovery small08:42
mborzeckimvo: pedronis: https://github.com/snapcore/pc-amd64-gadget/pull/5008:43
zyga-x240+108:44
pedronisdot-tobias: depending what kind of model grade you are building, you'll have to put the cloud-init config in the gadget itself08:45
dot-tobiaspedronis: Thanks, re-read https://core.docs.ubuntu.com/en/reference/gadget at Setup files. Don't remember why I didn't go that route initially, but it's been > 1 year so why not try again. Could you please elaborate what you mean by โ€œmodel gradeโ€? ๐Ÿ˜Š08:50
pedronisdot-tobias: https://core.docs.ubuntu.com/en/releases/uc2008:52
pedronisunder Model definition08:52
dot-tobiaspedronis: Thank you very much! Overlooked this page, I knew there was a new way to specify the channel for required snaps now โ€ฆ08:54
dot-tobiasijohnson: Re https://bugs.launchpad.net/snapd/+bug/1898622 โ€“ can you give me a hint where/which logs to check to see if this happens in my case as well? I have a local uc20 gadget snap (i.e. model grade set to โ€œdangerousโ€ + passing local snap via --snaps) and the image boots on a Pi 4, but only with a blinking cursor like the thread opener in https://forum.snapcraft.io/t/ubuntu-core-20-hangs-with-added-snap/20342.12:17
ijohnsonhi dot-tobias12:21
ijohnsonI see you had a couple questions earlier, did you get your cloud-init question answered firstly?12:22
ijohnsonand secondly, re building the 20 pi-gadget, what architecture are you trying to build for and what's the host system where you are trying to build the gadget?12:22
dot-tobiashi ijohnson, sorry for brevity without proper thanks and please ๐Ÿ˜Š First:12:24
ijohnsonhaha no worries12:25
dot-tobiasRe cloud-init: Kind of, I placed it in the gadget but can't test if it works because I first need to have it boot properly ๐Ÿ˜„ Like https://forum.snapcraft.io/t/how-to-preconfigure-custom-image/4154/15?u=tobias describes, at some point way back, cloud.conf in the gadget wasn't applied โ€“ at least in my testing. Feeding it to ubuntu-image worked.12:25
ijohnsondot-tobias: for uc20 specifically the inverse is now true, feeding to ubuntu-image no longer works, but putting it in your gadget should work, we have tests for this, but in all honesty I haven't tested it for a couple weeks now so maybe something has broken again on this front12:26
dot-tobiasSecond, the pi20-gadget: I'm trying to build for armhf, I applied your patch from https://github.com/snapcore/pi-gadget/pull/43 and it builds just fine on an amd64 host. Then I build the image with ubuntu-image and flash to an SD. The Pi 4 seems to boot, but only to a blinking cursor on the screen.12:27
dot-tobiasijohnson: Will let you know if cloud.conf inside gadget snaps works for me as soon as I have the system booting properly ๐Ÿ˜„12:29
ijohnsondot-tobias: ok, great happy to hear that patch works, I need to go back and address the comments on that pr before it can be merged but still good to know it works :-)12:31
dot-tobiasijohnson: Unfortunately, I have to hurry to pick up my daughter at kindergarden. May I DM you on the snapcraft forum, because my IRC bouncer isn't as reliable as I would like it to be?12:31
ijohnsondot-tobias: yes of course12:31
ijohnsonI'll wait to hear from you there then12:31
dot-tobiass/at/from/i ๐Ÿ˜„ Great, thanks in advance ijohnson!12:31
mborzeckiijohnson: standup or are you at the roadmap review?13:04
ijohnsonmborzecki: I'm watching the roadmap13:04
* zyga-x240 is on roadmap review13:04
ijohnsoncachio: have you seen the journal-state test fail like this: https://pastebin.ubuntu.com/p/HgxDDBNXgd/14:30
ijohnson?14:30
ijohnsonthe code looks rather odd `test 0 -eq 1` will never be true no matter how many iterations are run ...14:31
cachioijohnson, no, weird14:31
cachiolet me check if I can reproduce it14:31
cachioijohnson, just happening in ubuntu 20.10?14:32
ijohnsoncachio: yes that's where I just saw it fail14:32
ijohnsoncachio: also did you see my update in the su doc about uc20-recovery ?14:32
ijohnsonI can reproduce it now like 80+% of the time with your qemu cmdline but 0% with my qemu cmdline14:33
cachioyes14:33
ijohnsonit's very odd and confusing and frustrating14:33
cachiocould be associated to "no secure boot"14:33
cachio?14:33
ijohnsonI don't think so because I changed my cmdline to boot without secure boot and still couldn't reproduce it14:34
cachioijohnson, I could reproduce the error on jounal-state test14:44
ijohnsoncachio: interesting, what's the issue?14:45
cachioijohnson, don't know yet14:47
cachiojust failed14:47
ijohnsonwell good that you can reproduce it, that's always better than not being able to reproduce it :-)14:47
cachioijohnson, well, seems to be that I used incorrectly the retry14:49
cachioijohnson, I'll fix it and create a PR14:50
ijohnsonnice thanks14:58
* zyga goes for PT15:04
* cachio lunch15:33
ijohnsoncachio: I just saw the journal-state test fail again this time on uc20: https://pastebin.ubuntu.com/p/xKPMcypjDq/ is it the same thing ?15:51
mvopedronis: 9469 is the snapshot work as discussed last night, still some gaps in the tests but should be without races16:11
=== King_InuYasha is now known as Conan_Kudo
=== Conan_Kudo is now known as King_InuYasha
ijohnsoncachio: I think I finally figured out the uc20-recovery problem with your qemu command line args, or at least some kind of explanation17:38
ijohnsoncachio: your command line has this: `-net nic,model=virtio -net user,hostfwd=tcp::8022-:22` while mine has `-netdev user,id=mynet0,hostfwd=tcp::8026-:22 -device virtio-net-pci,netdev=mynet0`17:39
ijohnsonI don't know precisely what the difference in behavior is, but if I use your qemu command line net args the test fails, but with mine it passes17:39
cachioijohnson, nice18:03
cachioI'll update my docs to start using yours18:03
cachiothanks for the research18:04
zygaback from pT18:20
ijohnsonhey zyga18:26
zygahey!18:26
ijohnsonI gave a +1 to your notifications pr last night, it looks good!18:26
zygaijohnson thank you, I will iterate to add some tests and then ask macieck for a re-review18:27
zygaI think he and mvo asked for tests on IRC18:27
ijohnsonI started and am about halfway through the biggest file on your udev pr too18:27
zygaijohnson woot!18:27
zygait's a bit tedious18:27
zygabut I tried to structure the boring parts to be readable18:27
ijohnsonit is a bit tedious and takes some close eyes for sure18:27
zygathank you so much! that's my oldest really useful PR that has yet to land18:27
zyga(well, others are older but this is ready IMO)18:27
zygaI'm working on spread tests for inhibition locks now, just got back and noticed the test failed, but it worked interactively in spread -debug shell18:28
zygamust be missing something simple :)18:28
ijohnsonsimple missing things are the best missing things imho18:28
zygaI got tea and am digging into things :)18:35
zyga-x240weird18:43
zyga-x240my other PC disconnected18:43
zyga-x240hmm18:43
zyga-x240back18:44
zyga-x240:)18:44
zyga-x240hmm, nothing looking out of the ordinary, trying -debug19:01
zyga-x240DOH19:14
zyga-x240ijohnson: + snap install --classic SNAP_NAME19:14
zyga-x240what could be wrong ;D19:14
ijohnsonhaha19:14
ijohnsonSNAP_NAME19:14
ijohnsonclassic19:14
zyga-x240not enough $19:14
zyga-x240;D19:14
ijohnsonhaha good one19:14
zyga-x240I was trying to come up with a way to get some measurements done while a compound operation like "snap refresh" runs19:15
zyga-x240and I ended up using inotify in tests19:15
zyga-x240I think that's a first for us19:15
ijohnsonyeah all I see is a comment from Maciej about arch linux in prepare.sh about d-bus needing to inotify on some path19:16
zyga-x240I will break out a few helpers19:16
zyga-x240yeah, that's related to the fact that dbus uses inotify to detect .service files19:17
zyga-x240but this only works if the relevant directory exists at the time dbus itself starts19:17
zyga-x240so we created it so that it works on first install IIRC19:17
zyga-x240inotify is a pretty poor API19:17
ijohnsonyep that's exactly what the comment says :-)19:17
ijohnsongood memory!19:17
zyga-x240haha, this time19:18
zyga-x240I forget many many things now19:18
zyga-x240ijohnson: did you see the nvidia ai video conferencing thing?19:19
ijohnsonzyga-x240: no I don't think so19:19
zyga-x240https://www.youtube.com/watch?v=NqmMnjJ6GEg19:20
zyga-x240pretty interesting IMO, would love to see this in practice19:20
ijohnsonyeah that's really cool19:22
ijohnsonI wonder how well it works with a non-static background though19:24
zyga-x240I suspect it needs more keyframes with real image19:24
ijohnsonyeah19:24
zyga-x240but it's an interesting evolution of "motion vectors" and other classic video tricks19:25
zyga-x240cannot wait for voice equivalent19:25
zyga-x240bi-directional audio to text to audio codec19:25
zyga-x240with emotions :)19:25
zyga-x240maybe irc and mumble could merge19:26
ijohnsonah that's interesting, but I imagine very difficult to get right but without lots of data on individual users which is a bit of a privacy concern19:26
ijohnsonlike imagine if this service can impersonate the voice of someone you know / trust19:27
ijohnsonwith arbitrary text19:27
zyga-x240yeah19:27
zyga-x240I think in the age of deep fakes we are really there already19:27
zyga-x240this just makes it mass market19:27
ijohnsontrue I guess I just haven't seen that for audio yet19:28
zyga-x240(or so the AI overlord told me to type ;-)19:28
ijohnsondeepfake video is definitely a thing which I guess implies that audio is already there and maybe it just wasn't scary enough to make headlines the way video did19:28
zyga-x240ijohnson: there's a bunch of "obama speaks anything" videos on YT, given that he's got lots of public domain recordings available19:28
zyga-x240no need to do trump variant though, he really speaks anything just like that ;-)19:29
* zyga-x240 refrains from more political joes19:29
zyga-x240*jokes19:29
ijohnsonlook you just made one!19:30
ijohnsonwhile trying to refrain from making them19:30
* ijohnson goes away and tries to debug pi things19:30
zyga-x240haha19:30
zyga-x240so the test was useful19:58
zyga-x240I broke something in snapstate, checking19:59
zyga-x240I mean, in my branch19:59
zyga-x240it's just refactoring to make it fit the model19:59
zyga-x240DOh20:18
zyga-x240nothing is broken20:18
zyga-x240I patched the test in the wrong spot20:18
* zyga-x240 adjusts20:18
ijohnsonzyga-x240: could you +1 9378? I addressed your feedback and you said your review was a +0.9 :-)20:20
zyga-x240looking20:20
ijohnsoncachio: also could you take a look again at #9378 ?20:20
ijohnsonwould be great to land this finally20:20
zyga-x240done, thanks for changing @HOLD...20:21
ijohnsonthank you!20:21
zyga-x240cachio: btw, I realized that my comment about prepare/restore on nested helpers may have been confusing20:22
zyga-x240I didn't imply that we should not have prepare/restore20:22
zyga-x240but that they are unclear in the context of explicit resource management performed by other commands20:23
zyga-x240I'm sure all those functions do something useful20:23
cachioijohnson, sure20:23
zyga-x240I was trying to understand their function and see if any of that functionality should shift from one command to another20:23
cachiozyga-x240, ah, ok20:23
cachiozyga-x240, I'll go back to that PR once I finish the current one20:24
zyga-x240ok20:24
cachiozyga-x240, you are talking about the nested one, right?20:26
zyga-x240yes20:26
zyga-x240cachio: btw, did you know about $'foo' in bash?20:27
cachiobo20:27
cachiono20:27
cachiozyga-x240, what?20:27
zyga-x240I found out today20:27
zyga-x240echo $'hello\n $world'20:27
ijohnsonwhat does that do20:28
zyga-x240handles specific \ sequences20:28
zyga-x240acts as ' ' otherwise20:28
zyga-x240I also found20:28
* ijohnson is ready to run for the hills at mention of more bashisms20:28
zyga-x240${foo@Q}20:28
zyga-x240which is genuinely very useful20:28
zyga-x240it expands foo as variable and quotes correctly for bash to read again20:28
zyga-x240the @xxx syntax has a few more things it can do20:28
zyga-x240but this one is most practical for our stuff20:29
zyga-x240as it would let us quote things and pass to nested bash easily20:29
zyga-x240anyway20:29
ijohnsonoooh that is really cool20:29
zyga-x240just more ladmines20:29
zyga-x240in the no-mans bash land20:29
zyga-x240just those pop candy20:29
zyga-x240not your leg off20:29
cachiozyga-x240, cool20:30
cachiozyga-x240, how did you discover that?20:30
cachioreading docs?20:30
zyga-x240cachio: by reading twitter and reading bash to correct an almost-useful reference20:31
zyga-x240and finding more20:31
zyga-x240"marry has a little lamb"20:31
zyga-x240!:q20:31
zyga-x240run that in a bash20:31
zyga-x240it's another quoting mechanism20:31
zyga-x240but only for interactive job20:32
zyga-x240${foo@Q} is generic20:32
cachiozyga-x240, nice20:33
cachiolearning bash in twitter hehehe20:33
cachioit is cool20:34
* zyga-x240 should get green pass now20:35
* zyga-x240 goes to brush his teeth20:37
zyga-x240cachio: I wrote a small add-on to tests.cleanup20:37
zyga-x240tests.cleanup pop20:37
zyga-x240it's useful when you do something20:37
zyga-x240install cleanup via defer20:37
zyga-x240want to clean up on failure (which runs in restore)20:38
cachiozyga-x240, awesome20:38
zyga-x240but also want to clean up early on the happy code path20:38
zyga-x240so that you don't have to repeat the "undo" logic in any way20:38
zyga-x240anyway, I'll clean that up (add tests) and propose tomorrow20:38
zyga-x240today I'm just going to see this inhibition lock test pass on 18.04 and 20.04 and call it a day20:39
zyga-x240OUCH20:54
zyga-x240I was cleaning the kitchen20:54
zyga-x240and we routinely cut milk boxes in half to clean them (those are recycled and get collected twice a month)20:55
zyga-x240and cut right through my thumb nail and good part of thumb20:55
zyga-x240so...20:55
* zyga-x240 EODs20:55
zyga-x240but I got x3 pass20:55
zyga-x240so some good in the ene20:55
zyga-x240*end20:55
* zyga-x240 pushed handlers changes, more tomorrow20:56
zyga-x240need to find some bandage20:57
zyga-x240good that I don't use my right thumb for typing that often20:57
zyga-x240my left thumb is space bar20:57
zyga-x240right.... dunno20:57
zyga-x240maybe sometimes space20:57

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