/srv/irclogs.ubuntu.com/2018/02/07/#snappy.txt

mupBug #1747794 opened: cannot resolve host name  with avahi interface  <Snappy:New> <https://launchpad.net/bugs/1747794>00:56
mupBug #1702095 changed: snap enable removes complain for daemons <Snappy:Expired> <https://launchpad.net/bugs/1702095>04:18
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
mborzeckimorning06:18
zygagood morning06:29
mborzeckizyga: hey06:33
zyga-6 outside now06:42
zygaso pretty06:42
zygacoffee and back to spread06:49
zygaI wrote a new feature and a test together06:49
zyganeed to split those out06:49
mborzeckihm tried to reproduce this https://forum.snapcraft.io/t/oneshot-daemon-freezes-install-on-start-snap-foo-unset-services/3894 but no luck, nothing 'hangs'07:11
zygalooking at that I wonder if the original deamon did something "fancy" that made it hang07:18
zygalike get stuck on a syscall or whatever07:18
mborzeckithe next thing that happens after starting the services is running configuration hooks07:21
mborzeckiwonder if he had any07:22
mborzeckioh07:25
mborzeckishit07:25
zygaoh?07:25
zygadid you find something nasty?07:25
mborzeckiyeah, so whena  snap is installed we run all the services07:25
mborzeckithis one is 'oneshot'07:25
zygaso?07:27
zygait should run and stop07:27
mborzeckihahaha07:28
mborzeckibut it does not07:28
zygais this a regression in 2.31?07:29
zyga(do we need rc4) or 2.31.107:29
mborzeckiit's named usb_mount, suggesting that's it will mount a usb device, if there's none then it will apparently wait07:29
zygaoh07:29
zygaso oneshot services block until they exit?07:29
mborzeckiso i made a simple service that loops infinitely, and it hangs 'Start snap "daemon-oneshot" (unset) services'07:29
mborzeckiyeah07:29
zygaoh, wow07:29
zygathat's not great07:29
mborzeckiwe also probably shoulnd't start them when installing a snap07:30
zygaactually, what should happen for oneshot services isn't clear to me07:30
zygawho should start them?07:30
zygathe snap itself?07:30
mborzeckithe way i used oneshot is either as a dependency before other service (eg. generate ssh keys) or as a response to something that happens (path conditions, or a template unit)07:32
mborzecki--no-block may be a reasonable workaround, but this doesn't change the fact that the service should not wait indefinitely08:06
pstolowskiheyas!08:08
mborzeckipstolowski: morning08:09
kalikianamoin moin08:09
mborzeckieveryone joining :) morning mvo & kalikiana08:10
mvogood morning mborzecki08:10
mvohey kalikiana08:10
zygahey guys08:21
zygamborzecki is the service bug a regression?08:21
zygaif so I bet mvo will want to know08:21
mvozyga: I do want to know08:21
mborzeckimvo: https://forum.snapcraft.io/t/oneshot-daemon-freezes-install-on-start-snap-foo-unset-services/389408:22
mborzeckizyga: not a regression, technically it was there before08:22
mvomborzecki: nice find08:25
mborzeckimvo: what happens is that if a oneshot service hangs/loops/does not termine, snapd will be stuck in start-snap-services task08:26
mborzeckis/termine/terminate/08:26
mvomborzecki: yeah, I was just readoing it08:26
mvomborzecki: thats really unfortunate, I wonder if --no-block in systemctl might help08:27
mborzeckii'm looking at some options, like not starting oneshot tasks, adding --no-block (complicates systemd interface internally), adding TimeoutSec= in *.service (the timeout is fairly arbitrary and probably incorrect in some edge cases)08:28
mvomborzecki: thanks for looking into this08:28
mborzeckimvo: frankly i'm leaning towards not starting oneshot services at all08:29
mupPR snapd#4621 closed: tests: skip alsa interface test when the system does not have any audio devices <Created by sergiocazzolato> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4621>08:29
mupPR snapd#4618 closed: tests: new snaps to test installs nightly <Created by sergiocazzolato> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4618>08:30
=== mthaddon` is now known as mthaddon
* zyga iterates on layouts and testing 08:38
zyganext up: refreshes that change layouts :)08:38
zyga*that* will be interesting08:38
zygajamesh, hey, good morning08:41
zygadid you guys watch the falcon heavy launch yesterday?08:55
mvozyga: yeah, quite spectacular.08:58
zygaI watched it by accident (I got a tip from kissiel) and wow, it was crazy, like watching a sci-fi movie08:59
zyga*live*08:59
kissiel:)08:59
* zyga found some bugs in layout validation08:59
zygatime to fix that08:59
zyga(too conservative)08:59
zyganothing to worry about08:59
zygamvo remember before we had spread?09:00
zygait was like driving blind09:00
mvozyga: I don't, my therapist helped me with that09:00
* mvo pats the emacs therapist09:00
zygahaha, good one09:00
mvozyga: but indeed, totally agree09:01
zyga-5C outside, brrr09:01
zygalet's rethink that validator09:01
=== chihchun_afk is now known as chihchun
mupPR snapd#4623 opened: wrappers: do not start oneshot services <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4623>09:23
mborzeckithere's probably a spread test that will fail as a result of ^^09:23
* kalikiana coffeeeeee09:29
* zyga notices a movie crew outside his house09:30
zygakalikiana khaaaaaaan09:30
zygathere's a fake police car, fake news crew and fake people doing an interview09:31
zygathey use this site for some sitcom or other local TV thing once in a while09:31
zygaI wonder if I was in the shot, helping my daughter go to school09:31
zygathey didn't stop filming, maybe just a dry run09:31
mvozyga: they are shooting a new sitcom - the big O theory - guess who the starts will be ?09:32
zygahaha :)09:32
* mvo stops being silly and makes more tea09:33
zygais it also freezing for you mvo?09:33
Chipacazyga: a little bit of snow fell this morning, ~5am09:38
Chipacazyga: it's just sitting on the glass patio table, pondering life09:38
zygamelting away09:38
zygalike all of us09:38
zyga;-)09:38
Chipacano, actually09:38
* zyga is in a good mood today09:38
Chipacazyga: your comment on my MatchCounter PR, could you expand it?09:39
zygayeah, let me pull the diff tab09:39
zygaw.partial is empty09:39
zygaoh09:39
zygaman09:39
zygaI should not comment late at night09:39
=== chihchun is now known as chihchun_afk
zyganothing :)09:39
zygaI got rid of it09:40
zygaI somehow read that bytes.IndexByte() was called on w.partial09:40
Chipacaueh ueh ueh, or something09:40
mvozyga: its around 0 here09:40
mvoChipaca: I guess you want to rebase my PR on top of this ;)?09:41
Chipacazyga: https://i.imgur.com/Wcj6Swd.png09:43
Chipacazyga: censorship!09:43
Chipaca:-)09:43
zygaoh?09:43
zygaI didn't delete your comment, I just deleted mine09:43
zygaI guess it killed your comment that wasn't loaded in my tab09:43
Chipacamvo: more like: if you think it'll improve things, I can push a commit to your PR that uses this09:44
mvoChipaca: its more general than mine, so +1 for this09:44
Chipacamvo: ok, i'll push a commit to yours as soon as this lands09:44
mvota09:44
mvothat was a subtle clue that I should review it, right?09:45
Chipacatoday I'm going into london, so a lot of time on public transport with little/bad connectivity, and I'm going to miss the standup09:45
Chipacamvo: not at all09:45
Chipacamvo: I mean, I wasn't subtle09:45
Chipaca:-D09:45
mvolol09:45
* mvo hugs Chipaca 09:46
mborzeckiChipaca: i have mixed feelings about 4632 too, idk, maybe it'd be best to leave the code as it is now, this guys code is probably wrong09:46
Chipacamborzecki: FWIW i think we _should_ expose startup timeout, and conditionals, and have some extra magic for oneshots where we don't hang but still handle it, but it's a lot of work for something that, in this case, is probably dev error09:47
ChipacaI mean: why would a mount process hang09:47
mborzeckiChipaca: otoh, it's not really possible to interrupt this, ^C has no effect09:47
Chipacamborzecki: in that abort doesn't abort?09:48
mborzeckiChipaca: yeah, i have a snap with an app that loops inside and i cannot abort the installation09:48
Chipacamborzecki: we probably want to make systemctl use the brand new osutil.RunWithContext :-)09:48
Chipacaand bubble context into systemd09:48
ChipacaOTOH it might be better to make start use --no-block and then poll, like we do with stop09:49
kalikianazyga: what are fake people? robots? ;-)09:49
Chipaca(i mean, without it, systemctl is doing the polling)09:49
zygakalikiana just actors ;)09:49
Chipacakalikiana: kardashains09:49
kalikianalol09:49
mborzeckiChipaca: hmm right, let me take another look at the code09:50
mborzeckis/kardashians/osbournes/09:50
Chipacamborzecki: OTO²H context + (no-block + poll) is probably the real winner09:50
Chipacamborzecki: OTO³H probably a lot of work09:51
mborzeckiyeah, sounds backlog worthy09:51
Chipacamborzecki: OTO⁴H I'm running out of superscripts09:51
* sparkiegeek wonders how many hands Chipaca has09:51
Chipacamborzecki: OTO⁽ⁿ⁺¹⁾H, you'll never know09:52
mborzeckiChipaca: RunWithContext was merged right?09:52
Chipacamborzecki: yes09:52
Chipacamborzecki: but killing systemctl might not dtrt wrt systemd, which is why i said it might be better to do the more detailed work09:53
Chipacabut you could use it as a base, or phase 1, or sth09:53
* Chipaca gives up, and starts getting ready to leave09:53
mborzeckiprobably better than stalling09:53
Chipacamborzecki: first, see if killing systemctl stops the eternal oneshot09:54
mborzecki'eternal oneshot'09:54
Chipacaif so then robert is your mother's brother09:54
Chipacaor something09:54
mborzeckiChipaca: right, it did, the unit was stopped09:55
Chipacaperfect then :-)09:56
zygatrivial PR for someone, pretty please09:56
zyga462409:57
mupPR snapd#4624 opened: snap: apply some golint suggestions <Created by zyga> <https://github.com/snapcore/snapd/pull/4624>09:57
Chipacammm, golint fixes09:58
Chipacazyga: ValidAppName returns true if if given string is a valid application name.09:58
Chipacazyga: and if if not?09:59
zygawell, it returns false ;)09:59
Chipacazyga: I mean, too many ifs09:59
zygaoh09:59
zygaI see now09:59
zygathanks09:59
Chipacathis isn't me getting into the "oh it should be whether" thing10:00
Chipacawhich I have learned is pedantic :-)10:00
zygaanother good point10:00
zygaI never write that word10:00
zygabecause I'm always afraid I will say weather10:00
zygaor actually, write weather10:00
zygaif if you see what I mean10:00
Chipacazyga: maybe it's just a tsundere comment10:00
zygaa what comment?10:01
mupPR snapd#4625 opened: daemon: remove redundant UserOK markings from api commands <Created by mvo5> <https://github.com/snapcore/snapd/pull/4625>10:01
mvoChipaca: ^- is what we talked about last night10:01
Chipacazyga: maybe you don't want to know10:01
Chipacamvo: ack10:01
* Chipaca looks10:01
mvoChipaca: I hope this makes things for my future self easier to grok10:01
Chipacamvo: when the mythical "no more features, just fixes and cleanup" year arrives, I grab "rewrite daemon"10:03
Chipacaanyhow, I need to run10:03
zygao/10:03
Chipacatelegram is your best bet to reach me (or whatsapp fwiw)10:04
zygamvo "what the canAccess() policy." ... what?10:04
mvoChipaca: see you10:04
mvozyga: not sure I follow, did I write something in an unclear way?10:05
zygaI think it ends abruptly10:06
zyga"what the canAccess() policy means." maybe?10:06
pedronisunless it was meant to be "polices"  (the verb)10:07
mupPR snapd#4626 opened:  daemon: improve ucrednet code for the snap.socket <Created by mvo5> <https://github.com/snapcore/snapd/pull/4626>10:08
pedronisah, just the "what" is too much10:08
pstolowskimvo, hey, #4579 can land, right? it got +1 from security in the old PR?10:10
mupPR #4579:  many: add interfaces.SystemKey() helper <Created by mvo5> <https://github.com/snapcore/snapd/pull/4579>10:10
mvopstolowski: I think so, but zyga asked for a tweak (which I can do in a followup if this helps you)10:13
zygamvo can be in a follow-up yeah10:13
zygamvo especially since there's a new function to extract out of that logic10:13
mvopstolowski, zyga I work on the followup and then work on the other two (smaller) ones10:14
pstolowskimvo, no, it doesn't change much for me (need other PRs as well), it's just 1 less to look after ;)10:14
mupPR snapd#4579 closed:  many: add interfaces.SystemKey() helper <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4579>10:14
sparkiegeekFYI: the snappy store is in a maintenance window until 11:00 UTC (see https://forum.snapcraft.io/t/snap-store-maintenance-dashboard-february-7-10-00-11-00-utc/3866 )10:15
zygaoh, thanks for the heads up sparkiegeek10:15
mvozyga: hm, the release/apparmor.go code is doing the inverse of what I need, so I guess I just move my code there? or am I missing something?10:18
zygayes10:18
zygajust move it there and perhaps reuse your code in the computation of what was already there, if feasible10:18
zygahmm, store is doing 50310:19
zygais that expected sparkiegeek10:19
sparkiegeekzyga: yes, but it should be coming back up now10:21
mupPR snapd#4627 opened: release, interfaces: add new release.AppArmorFeatures helper <Created by mvo5> <https://github.com/snapcore/snapd/pull/4627>10:36
=== mborzeck1 is now known as mborzecki
mborzeckipstolowski: left you a comment about truncation, feel free to ignore it, i think it would complicate the internals a bit too much10:37
zygamvo 4627 is almost good10:40
pstolowskimborzecki, thx, will check10:40
mupPR snapd#4623 closed: wrappers: do not start oneshot services <Created by bboozzoo> <Closed by bboozzoo> <https://github.com/snapcore/snapd/pull/4623>10:45
zygawhee10:46
zygaspread now passes10:46
zygaok, let's upstream the changes and work on hardening so that jdstrand doesn't turn grey on release day10:47
sparkiegeekstore maintenance is now over, please report any issues on the forum thread: https://forum.snapcraft.io/t/snap-store-maintenance-dashboard-february-7-10-00-11-00-utc/386610:52
mupPR snapd#4613 closed: release: snapd 2.31 <Blocked> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4613>11:26
zygawoot :)11:26
cachio_mvo, hey, we are ready to go to candidate11:26
zygaso no more RCs? :)11:27
cachio_no11:27
mvocachio_: yes11:27
mvocachio_: actually, give me ~20min to check the autopkgtest results on bionic11:28
cachio_mvo, sure11:28
mvocachio_: if these are bad we *migth* need a .111:28
mborzeckiuhhn the changes allwoing cancelling of systemctl start are ugly11:29
mvocachio_: looks like we do have some issues in autopkgtest due to the different environment. oh well.11:30
cachio_mvo, which is the link?11:30
cachio_mvo, could I take a look?11:31
mvocachio_: http://autopkgtest.ubuntu.com/browse.cgi/packages/s/snapd and follow the bionic links11:31
mvocachio_: one strange one is unit test for TestDoREquestSerialErrorsOnNoHost11:31
mvocachio_: but it looks like a random assortion11:31
cachio_mvo, I see that a failure in the interfaces-timeserver-control is breaking the whole suite11:35
cachio_for amd6411:35
mvocachio_: yeah, I have not looked into the details yet but it seems there are some failures we need to look at :/11:36
mvocachio_: slightly annoying that its so hard to test autopkgtest for real11:36
mupPR snapd#4628 opened: spread: add missing ubuntu-18.04-arm64 to available autopkgtest machines <Created by mvo5> <https://github.com/snapcore/snapd/pull/4628>11:38
mvocachio_: some is rather trivial like -^11:39
cachio_mvo, yes, I'll work on that11:39
mvocachio_: thanks11:40
mvozyga: looks like we need an s390x build for snapd-hacker-toolbelt11:40
mvocachio_: and one for test-snapd-kernel-module-consumer for s390x11:40
mvocachio_: but I guess we should focus on amd64/i386 first11:40
cachio_mvo, yes, agree11:41
xnoxmvo, isn't it nice, that s390x is no longer a restricted arch and one can just tick the tickbox for it ;-)11:41
zygamvo aha11:41
zygamvo in a moment, I'm busy for 15 minutes11:41
cachio_mvo, not sure if we are able to create a bionic image in linode11:41
mvoxnox: it is!11:42
cachio_as it is not stable11:42
mvocachio_: I don't think this will help us much11:42
mvocachio_: my feeling is that the images are not the problem11:42
mvocachio_: its that the autopkgtest env is more restricted11:42
cachio_mvo, ah, ok11:42
mvocachio_: for whatever reason11:42
mvocachio_: it really should not be, we run in a full VM and added hints that we mess the host up but e.g. timezone setting is denied11:43
pstolowskimvo, thanks for 4627!11:43
cachio_mvo, how do you do to trigger the tests?11:43
mvocachio_: or maybe it is actually bionic, might be easiest to just run against qemu to see if something in e.g. systemd failed11:43
mvocachio_: s/failed/changed/11:43
mvocachio_: thats the sad part - to trigger the tests I need to upload the package to the real archive11:44
mvocachio_: this is my grief with adt - there is no easy way to test against e.g. a ppa11:44
cachio_mvo, ok, I'll start runnig in qemu and then if we have a 100% we can go forward11:45
mvocachio_: great, I keen to know if e.g. the timezone failure is related to bionic or adt11:45
cachio_mvo, so, should I promote to candidate?11:48
cachio_mvo, I can do it after the standup11:49
cachio_mvo, I have a doc appointment now, I'll be bac for the standup11:51
* cachio_ afk11:52
zygamvo sorry I'm back now11:58
zygaI just sold my x25011:58
zygaso, about that build for s390x11:58
zygamvo, I wonder how we can build one, will snapcraft.io do it?12:02
mvozyga: launchpad can do it, if you have snap building enabled on it12:03
mvozyga: then you can just click on s390x as an arch12:03
mvopstolowski: the next one (re-generate on system-key change) will arrive as soon as 4627 is green12:03
pstolowskimvo, great!12:04
zygamvo, let me look, I honestly don't remember how I built it12:04
mvopstolowski: then i think its just #3471 and its done12:04
mupPR #3471: snap: make `snap run` look at the system-key for security profiles <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/3471>12:04
mvopstolowski: not sure if you need this piece for your work though12:04
pstolowskicool12:04
zygaah, it's on launchpad allright12:04
zygamvo: shall I just rebuild for all arches?12:04
mvozyga: +112:05
pstolowskimvo, ah, if this is only about snap-run then no12:05
zygamvo, man, I can even build for powerpc :)12:05
zygawould that work?12:05
zygaor is it just fake?12:05
mvozyga: I think it will work12:06
mvozyga: we could even build a core for powerpc now if that is fully enabled12:07
zygahttps://launchpad.net/~zyga/+snap/snapd-hacker-toolbelt12:07
zygabuilds are pending12:07
zygathat will be an interesting refresh :)12:11
zygaI should adopt one of the new features in snapcraft and generate version dynamically12:12
* pstolowski lunch12:13
zygamvo all done12:14
zygawow,12:14
mupPR snapd#4624 closed: snap: apply some golint suggestions <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4624>12:17
* zyga re-reads 462212:20
=== jospoortvliet is now known as jos
=== jos is now known as jospoortvliet
mupPR snapd#4627 closed: release, interfaces: add new release.AppArmorFeatures helper <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4627>13:00
mupPR snapd#4629 opened: ifacestate: only rewrite security profiles if the system-key changes <Created by mvo5> <https://github.com/snapcore/snapd/pull/4629>13:04
mupPR snapd#4630 opened: snap: sort layout elements before validating <Created by zyga> <https://github.com/snapcore/snapd/pull/4630>13:12
zyga+ systemctl stop snapd.service snapd.socket13:25
zygaJob for snapd.socket canceled.13:25
zygaI wonder what this was, is this something that we fixed in another context before?13:25
zyga^ cachio_  (perhaps you remember)13:25
zygamvo ^ trivial  463013:30
mvozyga: ta!13:30
zygaI have one more on top, also trivial but separate issue13:31
zygajdstrand 4631 is super trivial but for you13:32
mupPR snapd#4631 opened: cmd/snap-confine: allow mounting anywhere, effectively <Created by zyga> <https://github.com/snapcore/snapd/pull/4631>13:33
zygajdstrand this is a side effect of a fully working spread test, which is coming up in two branches from now13:33
zygaonce the test lands I will start pushing hardening for snap-update-ns, knowing that I didn't break anything13:34
mupPR snapd#4626 closed:  daemon: improve ucrednet code for the snap.socket <Created by mvo5> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4626>13:53
diddledanwhat's a "gated snap"?13:56
zygadiddledan snaps can use gating to ensure QA constraints13:57
* diddledan read the snapcraft --help and found `snapcraft gated` and `snapcraft validate`13:57
zygayou can use it to ensure that refreshes will happen only after you sign that off as not breaking your snap13:57
diddledanso what's "gating"?13:57
zygaso. you can, for example, have a super important snap that you want to support 24/713:58
zygagating is the whole process13:58
zygaand you control your snap so that part is easy13:58
zygabut the core snap can introduce bugs so you want to have a way to validate them13:58
zygaif you have validation control on the core snap you can say that the core snap will refresh only if you say that your snap works with a given revision of the core snap13:59
zyga(core can by any other snap but it's typically core)13:59
zygaobviously this only applies if your snap is installed13:59
zygait's a way to check that you can conform to your contractual agreements most likely13:59
zygawhere you can check each new core revision and "ack" it13:59
zyga(for the purpose of your snap)13:59
zygadoes that make sense?13:59
diddledanno13:59
diddledanclear as mud :-p14:00
zygacan you be more specific?14:00
diddledanI'm just thick14:00
zygaI can give you an example if that helps14:00
diddledan"Get the list of snaps and revisions gating a snap." means nothing to me14:01
zygagets the list of snaps and revisions that _block the snap from refreshing_14:01
diddledancan we change the verbiage then?14:01
zygachange what, sorry?14:02
diddledan"gating" is a term which requires intimate knowledge of what it means to "gate"14:02
zygayes, we use many words that require one specific knowledge14:02
diddledan"block", "blocks" and "blocking" are much more appropriate words if that's what is happening14:02
zygabut I think that's unavoidable and not a problem as long as they are clearly explained somewhere accessible14:02
zygait's not just blocking, it's more subtle14:03
diddledan... which they're not (explained somewhere accessible)14:03
zygathe users can override that14:03
zygadiddledan please raised this with kalikiana as I think this is a snapcraft documentation14:03
mupPR snapd#4632 opened: Fixing denial for when using avahi-observe slot <Created by kubiko> <https://github.com/snapcore/snapd/pull/4632>14:04
* zyga -> lunch14:06
kalikianadiddledan: It's not really explained there, that's true. Would you mind filing a bug for it?14:09
zygajdstrand thank you, I replied to your question if you want to look at why I needed this14:20
mupPR snapd#4631 closed: cmd/snap-confine: allow mounting anywhere, effectively <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4631>14:21
* kalikiana hopping on a tram towards coffee shop for lunch, back in ~60min max14:35
mupPR snapd#4628 closed: spread: add missing ubuntu-18.04-arm64 to available autopkgtest machines <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4628>14:41
mupPR snapd#4633 opened:  snap: introduce timer service data types and validation  <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4633>14:42
zygamborzecki can you please look at 4630, it's tiny and it's just adding sorting + tests14:47
mborzeckilooking14:47
zygacool, thanks14:47
* zyga looks at other PRs14:48
pedronismvo: cachio_:  here are the failures for linode:ubuntu-16.04-64:tests/main/... with SPREAD_REMOTE_STORE=staging , I think most of them are missing snaps/old snap revisions,   not sure about the core transition; canonical-livepatch and lxd we could skip though I think, the other it would be good to fix:  https://pastebin.ubuntu.com/26534904/14:48
zygamborzecki you have a conflict on 463314:49
zygaand it looks like what I did, sorry14:50
mvopedronis: I think core-transition, lxd, livepatch we should skip yes14:50
jdstrandzyga: /me nods14:50
zygamvo do you think we could disable tests for core transition?14:50
mvozyga: probably14:50
zygajdstrand thanks for acking the dbus fix14:50
zygamvo if you do 2.31.1 I would suggest cherry-picking 463214:51
mvozyga: we do a .114:51
zygaI'll mark it14:51
mvozyga: ta14:52
mborzeckizyga: ok if i rebase?14:52
zygamborzecki quickly :)14:52
mborzeckihaha ok14:53
cachio__pedronis, ok, I'll take a look14:54
mborzeckizyga: pushed14:55
mupPR snapd#4605 closed: snap: detect unsquashfs write failures <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4605>14:59
zygaoh, kids home15:00
zygabrb15:00
mvozyga: you reviewed 4491 earlier but did not do a +1 - did you forgot or was the review not complete?15:02
zygachecking15:04
zygamvo I need to re-read that15:06
mupPR snapd#4634 opened: tests: check if snapd.socket is active before stoping it <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/4634>15:10
andyrockmvo: I'm trying to allow store login in the installer. One possible solution would be to:15:16
andyrock1) stop/disable snapd.service/snapd.socket (the one running in the live session)15:16
andyrock2) manually start snapd inside the /target chroot15:16
andyrock3) a client can now talk with the chrooted snapd through /run/snapd.socket15:16
andyrockDo you think that (1) and/or (2) could create any side effect?15:16
zygaandyrock: do you expect to be able to run snaps in the end?15:18
zygaandyrock I didn't check what would happen with chroot15:19
zygaprobably it'd be okay15:19
zygasnapd has some logic to reassociate itself with the mount namespace of pid 115:19
zygabut since this is the same namespace, just different chroot, it should not trigger15:20
andyrockzyga: that's not necessary15:20
andyrockfor livepatch we can actually enable it at first run without problems15:20
andyrockI just need to login into the store15:20
andyrockso that the state.json has the valid entries15:20
andyrockI need (1) otherwise the live-session-snapd will activate15:22
mvoandyrock: I don't see any immediate problem, give it a go15:25
andyrockthanks15:27
zygamvo do you want me to cherry-pick 4632?15:34
mupPR snapd#4632 closed: Fixing denial for when using avahi-observe slot <Created by kubiko> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4632>15:35
mvozyga: sure go for it15:39
zygapushed15:43
kalikianare15:47
Chipacamvo: mborzecki: did either of you mean to +1 #4622 and didn't?15:49
mupPR #4622: strutil: introducing MatchCounter <Created by chipaca> <https://github.com/snapcore/snapd/pull/4622>15:49
Chipacaor -1 or sth :-)15:50
zygaChipaca +1 from me15:50
zygathough I didn't comment15:50
zygalet me15:50
zygaI read it a few times but I was in some wrong zone I guess15:50
Chipacait's fiddly :-)15:50
Chipacarather like round.Robin15:51
Chipaca:-)15:51
zygahmmm15:54
zygaChipaca so15:54
zygado you need a flush?15:54
zygaon diff line 62 there15:54
zygawhat guarantees that w.partial will be eventually inspected15:54
Chipacazyga: it only matches full lines15:55
Chipacazyga: either you wrote a full line, and got counted, or you didn't and it's in partial15:55
Chipaca\n is a flush, in that sense15:55
zygamhm15:55
Chipacato make it generic and not line-oriented a flush or something would be needed15:55
zygaokay15:56
zygaI think it's fine, YAGNI untill we need to do that15:56
zygahmm15:56
zygaactually15:56
zygayou could use it without being line oriented15:56
zygathough I don't need that either15:56
zygajust wonder if it would be equally genreric15:56
zyga*generic15:56
Chipacazyga: it very much uses the \n as the flusher15:57
zygaI'll let others comment15:57
zygayeah15:57
Chipacaso yes you can use it, but it'd be unpredictable15:57
zygaregexpes are hard :)15:57
Chipacaand that :-)15:57
zygait could compute the derivative of the re based on the partial input15:57
zygaand reset the re when it is empty15:57
zyganot needed15:57
zyga;)15:57
Chipacazyga: OTOH, instead of w.Flush() do w.Write([]byte{'\n'}) :-)15:59
Chipacazyga: a more general thing would have two regexps (or deduce one from the other but that's Hard), one for matching, one for deciding whether to keep a chunk16:00
Chipacaeh16:01
zygaI think you can just use one RE and feed it incrementally (computing the derivative)16:01
zygathough I haven't seen any stdlib implementation that does that16:01
zygaessentially streaming16:01
Chipacait'd require the regexp be front-anchored though, i think16:02
Chipacai mean, the regexp for the sqlite failures is literally `.*[Ff]ailed.*`16:02
zygammmm16:03
Chipaca(it could be made to be `.*\b[Ff]ailed\b.*` for more nitpickiness)16:03
zygaI don't think it would, why would it?16:03
zygaderivative is a generic operation16:03
Chipacazyga: because as soon as it starts with .*, you can't decide ahead of time16:04
Chipacathe answer always is 'yes this might match'16:04
zygathe derivative of ".*" over any character is ".*"16:05
Chipaca(aside: I'd love to understand why it's called the derivative)16:06
zygabut ".*foo.*" over "f" is "oo.*|.*foo.*" (probably)16:06
zygadunno, you can ask the inventor16:06
zygahe's still alive16:06
Chipaca82 and at princeton, huh16:07
* zyga reads that page again16:07
zygahttps://en.wikipedia.org/wiki/Brzozowski_derivative16:07
Chipacazyga: but, er, i'm not sure how the derivative would let you decide whether to discard it early16:07
zygaI think the re will effectively remember what you threw at it16:09
Chipacaahhh16:12
ChipacaI'd misunderstood :-)16:12
* Chipaca reading pdf16:12
ChipacaSuppose we are given an RE r and a string u and we want to determine if u ∈ L[[r]]. We have u ∈ L[[r]] if, and only if, ε ∈ L[[∂u r]], which is true exactly when ε = ν(∂u r). Combining this fact with the definition of ∂u leads to an algorithm for testing if u ∈ L[[r]].16:13
* Chipaca puts pdf down16:13
zygaChipaca always read the conclusion first16:18
zygathen the abstract16:18
zygathen the rest16:18
zygaChipaca I have a problem, wondering if I solved it right16:19
zygahttps://github.com/zyga/snapd/commit/2784dc9bed05c9afb06ecbcec43328b61563c12516:19
Chipacazyga: am I looking at the problem, or the solution? :-)16:20
zygathe solution16:21
Chipacazyga: ok tell me about the problem16:22
Chipacazyga: or is that what's in the commit message?16:23
zygayeah, that16:23
zygafeels hackish16:23
zygamaybe correct but hackish16:24
Chipacazyga: at what point are these paths getting cleaned?16:24
zygathey are not cleaned, they are verified to be clean16:25
zygait's on line 468 in the diff context (left hand side)16:25
zygaisAbsAndClean16:25
Chipacazyga: right, so, filepath.Clean drops trailing /s (except for root)16:26
Chipacathat is, filepath.Clean("/foo/") is "/foo"16:27
zygayes, right16:27
zygawe require that (and check for it)16:27
Chipacaok16:27
zygaand then for directories we slam that "/" at the end16:27
zygaand where "for directories" I mean for tmpfs mounts and for non-file bind mounts16:27
Chipacazyga: then why the check for trailing /s in effectivePath?16:27
zygaah, good question16:28
zygain case $SNAP expands to /snap/core/123/16:28
zygavs 12316:28
zygaI just didn't want to be fragile there16:28
Chipacaok16:30
Chipacazyga: i wasn't concerned about being defensive, i was concerned about a muddled "clean filepath" barrier16:30
ChipacaOTOH I suspect whatever expands $SNAP should be cleaning it as well16:31
zygammm16:31
zygaI'm not cleaning there16:31
zygayeah16:31
zygaseparate patch, let's see it16:31
zygadone now16:32
Chipacazyga: isn't this blocking a file /foo/bar if /foo/bartholomew is in the blacklist?16:32
zygaaha, indeed16:33
zygahmm hmm :)16:33
zygafirst, let's add a test so that I know it's broken16:33
Chipacazyga: ExpandSnapVariables does clean its returns fwiw (maybe it should document this)16:34
zygait does?16:35
zygaI tweaked it to do it now16:35
zygaor are you saying that os.Expand cleans16:35
Chipacazyga: I'm saying it returns things that are the result of filepath.Join16:35
zygaas for the /foobarthomesomething, we could check for prefix if the blacklist item ends with /16:35
Chipacazyga: and filepath.Join is documented as cleaning its result16:35
zygaand check for equaility otherwise16:35
zygaaah16:35
Chipacazyga: would it be hard to keep files and dirs separate?16:36
zyganot sure I know how16:36
zygacan you be more specific?16:36
Chipacazyga: have two blacklists, and have effectivePath return whether it's one or the other as a bool?16:37
zygahmm16:37
zygabut I'd have to check the directory blacklist for files as well16:37
zygaif /foo is a tmpfs mount then I must reject /foo/bar16:37
zygaeven if /foo/bar is a file bind mount16:38
Chipacazyga: hmm16:38
Chipacazyga: another option is for effectivePath to return interfacy things, and use separate concrete classes for one and t'other16:39
Chipacai'm not sure i'm communicating sense16:39
zygasuch as IsBlacklisted() os something16:39
zygayeah, that would work16:39
zygaI mean, I'd still check the same thing but it might be less magic16:39
Chipacazyga: it'd keep the / fiddliness isolated16:39
Chipacazyga: the blacklist check would be 'for interfacyThing in blacklist: interfacyThing.frobbles(otherInterfacyThing)16:40
Chipacaor sth16:40
zyga  yeah16:40
zygathank you for spotting the bug :)16:41
Chipacaheh, np16:41
zygahttps://github.com/snapcore/snapd/pull/4633 needs a 2nd review16:43
mupPR #4633:  snap: introduce  timer service data types and validation  <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4633>16:43
mupPR snapd#4622 closed: strutil: introducing MatchCounter <Created by chipaca> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4622>16:43
Chipacazyga: tea, and i'll look at it16:43
zygaha16:43
zygaI found my old tea16:43
zygafrom yesterday evening16:43
zygait has rum in it :)16:43
Chipacasadly i have no rum (and it's a little early)16:43
Chipacabest i can do is port16:44
Chipacabut that doesn't sound like it'd work16:44
ikeysee also https://www.youtube.com/watch?v=JImcvtJzIK816:44
zygahehe, someone is triggered on rum :D16:45
zygaso16:46
zygathe travis log page officially sucks16:46
zygait's horrible16:46
zygait's so slow an iframe would be a godsend16:46
zygaand it's forcibly loaded when all I want to do is to hit "retry"16:46
zygaChipaca I wrote the dumb version and I'll rebase and work on the smarter version next17:10
Chipacamvo: you around?17:16
mvoChipaca: ish - what can I do?17:20
Saviqniemeyer: hey, a lot of our builds started failing over the past couple of days, it's usually a single run that times out on travis because the task seems stuck at updating apt (https://travis-ci.org/MirServer/mir/builds/338519402) - I tried enabling debugging from spread, but travis didn't like the amount of logging (https://travis-ci.org/MirServer/mir/builds/338550499)17:20
Chipacamvo: i'm tweaking the error output of unsquashfsStderrWriter, thought I'd check with you first17:20
Saviqniemeyer: any idea how to proceed?17:20
ChipacaSaviq: disable ipv6?17:20
Chipacaat a guess17:20
* Saviq raises brow17:21
ChipacaSaviq: we had a lot of hangs in linode during apt update with ipv6 enabled17:21
ChipacaSaviq: seems to be a problem with talking with whatever the mirror was? cachio__ might know more17:21
Saviqinteresting!17:22
zygajhodapp hey17:31
jhodappzyga, hey there17:32
mvoChipaca: sure, tweaking sound sgood17:33
Chipacamvo: any rationale for it being 10 failures long, for example? it seems to result in a rather long message :-)17:34
zygaman, travis doesn't love me17:34
mvoChipaca: no good reason, 4 is probably equally fine17:36
Chipacamvo: perfect :-D17:36
mvoChipaca: or 317:37
mvoChipaca: I just think too little is not ideal as we really have no idea17:37
Chipacamvo: are they always in groups of 3?17:37
Chipacamvo: otherwise, 4 seems better17:37
mvoChipaca: I need to look, I suspect not17:37
mvoChipaca: gtg, but will read backlog17:38
Chipacamvo: ok, if you could at some point, it can be part of your review of this ;-)17:38
* Chipaca hugs mvo 17:38
mvoChipaca: sure17:38
* mvo hugs Chipaca and vanishes17:38
niemeyerSaviq: That timeout on apt is usually associated with IPv617:40
niemeyerSaviq: Disable IPv6 on the prepare script before trying to use apt and it should work17:40
ChipacaSaviq: https://github.com/snapcore/snapd/blob/master/spread.yaml#L29417:41
Saviqyeah, /me just stole that17:44
Saviqerm17:44
Saviqborrowed, you know17:44
SaviqI'll give it back17:44
Chipacamvo: https://github.com/mvo5/snappy/pull/17 is the thing (i also pushed a merge of master to your pr directly, to make this one's diff easier on you)17:50
mupPR mvo5/snappy#17: snap/squashfs: change unsquashfsStderrWriter to use MatchCounter <Created by chipaca> <https://github.com/mvo5/snappy/pull/17>17:50
mupPR snapd#4630 closed: snap: sort layout elements before validating <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4630>18:09
mupPR snapd#4635 opened: snap: add support for `snap run --gdb` <Created by mvo5> <https://github.com/snapcore/snapd/pull/4635>18:10
zygaoh, cool stuff mvo18:11
ikeyoo18:12
zygamvo quick review out18:15
mvozyga: cool, thanks18:15
zygaChipaca 4636 is what we talked about sans the interface indirection18:16
mvozyga: good feedback, thank you. will address those, the message also needs tweaking I think. it was mostly a flash of inspiration that I wanted to check if it would work (i.e. use gdb from outside and the shim to break at the right point)18:16
mupPR snapd#4636 opened: snap: understand directories in layout blacklist <Created by zyga> <https://github.com/snapcore/snapd/pull/4636>18:16
cachioSaviq, sorry for the delay, which images are you using?18:18
cachiosabdfl, we have ipv6 disabled in linode images to avoid timeouts/connection issues18:19
zygamvo I looked at your earlier PR but I'm at a stage where thinking requires a 7AM freshness18:19
mvozyga: haha, no worries18:19
mvozyga: I think I could probably untangle them but there will be conflicts18:19
zygano, that's fine18:19
mvozyga: so that stacking was easier18:19
mvozyga: ta!18:19
zygaI just need to look at it carefully as it changes a few things in an area that is tricky18:20
mvocachio: do we need 4634 for .31 ?18:20
mvocachio: if we do, please shoot me a quick mail with the commit id and I will cherry-pick18:21
cachiomvo, no, it is just for an error that we see in linode18:21
mvocachio: ok18:21
mupPR snapd#4634 closed: tests: check if snapd.socket is active before stoping it <Created by sergiocazzolato> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4634>18:21
zygawoot, I'm one PR away for spread test for layouts18:22
cachioniemeyer, do you have any idea about what could be causing this error on linode? https://paste.ubuntu.com/26537045/18:23
Chipacacachio: probably https://twitter.com/gniemeyer/status/96127305070769356918:27
cachioChipaca, nice18:27
cachiotx18:28
* zyga -> afk18:34
cachioniemeyer, I still can't run tests on linode, is it the same issue that we faced previously?19:23
niemeyercachio: I'll soon be with you19:23
cachiosure19:23
sparkiegeekhmm, potential ux regression in 2.31? https://bugs.launchpad.net/snapd/+bug/174799219:30
mupBug #1747992: Refreshing to a newly created channel but immediately stopped tracking <snapd:New> <https://launchpad.net/bugs/1747992>19:30
niemeyersparkiegeek: Huh.. weird20:23
niemeyersparkiegeek: Yeah, definitely worth looking into20:23
niemeyercachio: Still there?20:54
cachioniemeyer,20:59
niemeyercachio: So yeah, these errors look like Linode breaking down20:59
cachioniemeyer, https://paste.ubuntu.com/26537730/20:59
cachiothese kind of errors I see21:00
niemeyercachio: In general Spread can automatically recover from them, though, and the fact we have several workers per systems means no big deal21:00
cachioniemeyer, it is related to the quota limits?21:00
cachioniemeyer, it is trying to connect to the vm and nothing21:00
cachioit tries until it breaks21:01
cachioit fails21:01
niemeyercachio: It's not quota.. it's corruption21:01
niemeyercachio: They have severe bugs in their API services.. apparently races21:01
cachioniemeyer, I checked debian-9 and we have ipv6 enabled there21:01
cachioI could not check in trusty21:02
niemeyercachio: Let me see which machine is creating problems.. just a sec21:02
cachioniemeyer, sure21:02
niemeyercachio: There are machines with an empty plan ID21:03
niemeyercachio: Which gives you an idea of how nice it is21:04
cachioniemeyer, ouch21:04
cachioniemeyer, are you killing these ones?21:07
jdstranddavidcalle (cc sergiusens): fyi, https://docs.snapcraft.io/deprecation-notices/dn5 uses the wrong header 'DN2'. It should be 'DN5'21:08
niemeyercachio: I've run a full pass of garbage collection21:09
niemeyercachio: Please give a shot21:09
cachioniemeyer, it is still having same issue21:11
niemeyerOkay, hold on21:11
cachioniemeyer, well, now got 1 serve21:11
cachior21:11
niemeyercachio: What does that mean?21:12
cachioniemeyer, it is workfing now21:12
niemeyercachio: Phew, cool21:12
cachioniemeyer, thanks21:13
niemeyercachio: np, let me know if you have more bad cases blocking you21:20
niemeyercachio: I'll need to speed up our move over, likely to Google Compute21:20
zyganow to get some rest and fight tomorrow22:09
slaniganHi everyone, I'm struggling to build an Ubuntu Core image as per the steps on the introduction page: https://docs.ubuntu.com/core/en/guides/build-device/image-building22:35
slaniganI keep getting COMMAND FAILED: sudo cp -dR --preserve=mode,timestamps,ownership /tmp/tmpuv44url8/root/* /tmp/tmp7yr_gzqx/root-mount  cp: error writing '/tmp/tmp7yr_gzqx/root-mount/system-data/var/lib/snapd/snaps/core_3884.snap': No space left on device cp: error writing '/tmp/tmp7yr_gzqx/root-mount/system-data/var/lib/snapd/snaps/pi2-kernel_22.snap': No space left on device cp: cannot create directory '/tmp/tmp7yr_gzqx/root-mount/s22:35
slaniganWhen I try to do the "ubuntu-image" command22:35
kyrofaslanigan, any chance you're out of HD space?22:36
slanigandf -h reports this:22:37
slanigan    Filesystem Size Used Avail Use% Mounted on     udev 7.8G 0 7.8G 0% /dev     tmpfs 1.6G 9.7M 1.6G 1% /run     /dev/sda1 432G 259G 157G 63% /     tmpfs 7.8G 130M 7.7G 2% /dev/shm     tmpfs 5.0M 4.0K 5.0M 1% /run/lock     tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup     ...     /dev/loop8 3.9M 52K 3.3M 2% /tmp/tmpvn70tzdq/root-mount <<<<<<<<22:37
slaniganThat's a shortened list, but the /dev/loop8 entry is while ubuntu-image is trying to do its thing22:38

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