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

mupPR snapcraft#1902 closed: many: use in-snap unsquashfs and readelf if running from snap <bug> <Created by kyrofa> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1902>00:07
mupPR snapcraft#1899 closed: elf: readelf dependency <bug> <Created by sergiusens> <Closed by sergiusens> <https://github.com/snapcore/snapcraft/pull/1899>00:10
greybackjdstrand: ack, thank you, I'll add comment tomorrow00:33
jdstrandgreyback: thanks!00:36
jjohansenjdstrand: I am not sure I understand the question, but I'll give it a go. the bpf filesystem is registered during fs init on kernel boot02:34
mupPR snapcraft#1903 opened: elf: use surrogate escape when decoding readelf output <Created by elopio> <https://github.com/snapcore/snapcraft/pull/1903>02:34
mupPR snapcraft#1885 closed: Release 2.39 <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1885>02:40
mupPR snapd#4578 opened: Expose payment and account URLs in /v2/system-info <Created by robert-ancell> <https://github.com/snapcore/snapd/pull/4578>03:50
Ender__Hello05:11
Ender__I love Snapcraft !! Does anyone else think this might be a revolutionary design idea ?05:12
mborzeckimorning06:15
mvozyga: good morning06:29
mborzeckimvo: zyga: morning guys06:29
zygamorning06:31
zygaprepping kids for school06:31
mvohey mborzecki06:32
zygaaaand they've gone :-)06:49
zygarain rain rain, but my mood is great today06:50
zygamvo: did you restart https://github.com/snapcore/snapd/pull/4577 ?06:50
mupPR #4577: snap: fix command-not-found on core devices <Created by mvo5> <https://github.com/snapcore/snapd/pull/4577>06:50
mvozyga: yes06:56
mvozyga: it had header timeout errors06:56
mvozyga: what is gone?06:56
zygamvo: ah, that was just a reference to my kids and wife, they've all gone to school07:01
mvozyga: :) ok07:01
zygagreyback: hello07:12
zygagreyback: https://github.com/snapcore/snapd/pull/4572 can land, just add a comment07:12
mupPR #4572: mir: software clients need access to shared memory /dev/shm/#* <Created by gerboland> <https://github.com/snapcore/snapd/pull/4572>07:12
zygahmmm07:22
zygairc spam07:22
zygathat's new07:22
zygaerror: cannot find snap "core": Get07:26
zygahttps://api.snapcraft.io/api/v1/snaps/details/core?channel=stable&fields=anon_download_url%2Carchitecture%2Cchannel%2Cdownload_sha3_384%2Csummary%2Cdescription%2Cdeltas%2Cbinary_filesize%2Cdownload_url%2Cepoch%2Cicon_url%2Clast_updated%2Cpackage_name%2Cprices%2Cpublisher%2Cratings_average%2Crevision%2Cscreenshot_urls%2Csnap_id%2Clicense%2Cbase%2Csupport_url%2Ccontact%2Ctitle%2Ccontent%2Cversion%2Corigin%2Cdev07:26
zygaeloper_id%2Cprivate%2Cconfinement%2Cchannel_maps_list: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)07:26
mupPR snapd#4568 closed: tests: new spead test for openvswitch-support interface <Created by sergiocazzolato> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4568>07:28
mborzeckizyga: can you try to install this snap locally? http://apps.syncloud.org/apps/rocketchat_180201_amd64.snap07:30
mborzeckizyga: i'm seeing this https://paste.ubuntu.com/26499308/07:31
mborzeckicore  16-2.31~rc2+git528.a129e36  3982  canonical  core07:31
zygamborzecki: sure, one moment07:32
zygaor... 20 minutes07:33
zygaslow server?07:33
zyganah, ramping up07:33
zyga~250KB/s07:33
zyga8 minutes07:33
mborzeckitmaybe it's capped07:33
mborzeckianyway, take a look at the log, install hook fails, ale last line `cannot snap-exec: no such file or directory`07:34
mvomborzecki: what does the install hook look like? a shell script? a binary?07:34
mborzeckiomg, it's a python script, `#!/snap/platform/current/python/bin/python`07:35
mborzeckiplatform?07:35
zygamborzecki: so, since we established that this hook depends on a snap called "platform" and thus won't work (it cannot execute anything from snaps other than itself) shall I still install it?07:51
mborzeckizyga: no, thanks though :)07:51
zygamborzecki: actually, that's something that could be checked store-side08:00
pstolowskihey o/08:01
zygahey hey :)08:03
zygareading your PR now :008:03
kalikianamorning08:04
pstolowskizyga, thanks! which one?08:22
zygapstolowski: 455108:23
mupPR snapd#4577 closed: snap: fix command-not-found on core devices <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4577>08:31
mvogreyback: looks like 4572 is good except for this one comment that jamie asks for, once that it is added this can go in08:33
mupPR snapd#4459 closed: snap: add support for `snap advise-snap pkgName` <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4459>08:41
mvo4049 needs a second review08:44
mupPR snapd#3456 closed: many: add interfaces.SystemKey() helper <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/3456>08:48
mupPR snapd#4579 opened:  many: add interfaces.SystemKey() helper <Created by mvo5> <https://github.com/snapcore/snapd/pull/4579>08:51
greybackmvo: I just pushed the requested comment to 457209:02
zygathank you09:02
greybackthank you!09:02
mupPR snapd#4580 opened: tests: ensure disalbled services are masked <Created by mvo5> <https://github.com/snapcore/snapd/pull/4580>09:03
mvoogra_: we have code that masks the rsyslog/ssh units, I added an explicit integration test above. if this does not work for you, I need to know the version of snapd and what command you use and the output of systemctl status rsyslog.service and the output of ls -l /etc/systemd/system09:04
ogra_mvo, note that this install comes with rsyslog disabled from the gadget by default ... it definitely was off on fresh install so it must have enabled itself during an upgrade (running edge with locally built gadget and kernel)09:06
ogra_mvo, https://paste.ubuntu.com/26499622/09:09
mvoogra_: was it an old install with a core that would not mask on diable?09:09
ogra_nope, thats a few days old09:09
mvoogra_: fwiw, because of "synced" for /etc/systemd/system when it is not masked it will come back09:10
mvoogra_: is this fresh image available somehwere? i.e. I wonder if there is a way to boot it and then inspect the state right after boot09:10
ogra_mvo, i know ... but i checked that it is off right after install ... so i'm confident it was originally off ... i didnt check the link explicitly though09:10
mvoogra_: afaik the codepath for "snap set core service.rsyslog.disable=true" and the gadget disable is the same but maybe not09:10
mvoogra_: also, the gadget.yaml would be great09:11
ogra_mvo, you wouldnt have the HW to run it but i can push the rootfs somewhere09:11
pedronisChipaca: I have some post-facto comments on #457509:11
mupPR #4575: config: add (Get|Set)SnapConfig to do bulk config e.g. from snapshots <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/4575>09:11
mvoogra_: in snap changes, did you see a core refresh around jan 28, 11:50 ?09:11
Chipacapedronis: hm, i can do a followup09:12
ogra_phew ... there were a bunch of refreshes ... /me checks09:12
Chipacapedronis: is that why the other ones take *s?09:12
pedronisyes09:12
pedronissee snapstate.Set for example09:12
mvoogra_: the mtime of the symlink looks different from most other times in this dir09:12
Chipacaok, i'll take a stab at it09:12
mvoogra_: so I suspect writable-path re-creating it09:12
Chipacain a bit09:12
mvoogra_: the rootfs will not be that useful as the disable will happen on firstboot09:13
pedronisChipaca:  I don't think element of config can be nil but good to double check09:13
ogra_mvo, thats long scrolled off ... changes starts only at 2018-01-3109:13
mvoogra_: so just by looking at the rootfs I will not see much unfortunately09:13
mvoogra_: ok09:13
ogra_mvo, sadly non-registered devices spam changes very regular, changes is pretty unusable during development through that " Error   2018-02-01T09:10:37Z  2018-02-01T09:10:40Z  Initialize device" every few mins09:14
mvo:/09:14
zygano exp backoff?09:14
ogra_i'll have to do a re-install later today ... i'll see what i can do to trigger it again09:14
mvozyga: sure, from seconds to minutes :P09:14
mvoogra_: an ls -l /etc/systemd/system right after firstboot would be great. ideally using the image you had09:15
mvoogra_: I mean the same image as you used for this one09:15
ogra_ok09:15
zyga:)09:15
pedronisChipaca: also notice that Get can give you nil bu Set will not take it, so it's probably a problem either way09:16
pedronisthe lack of symmetry09:16
ogra_mvo, oh, crap i just notice i have overwritten that specific image ... but i'll try the oldest one i have09:18
Chipacapedronis: I don't need the * to make the nil check on save though09:18
mvoogra_: no worries, iirc masking was added a little bit later, i.e. for a brief time there was a bug in our new corecfg when it did not mask, let me check when it was fixed09:19
ogra_ah !09:19
pedronisChipaca: that's true09:19
Chipacapedronis: a nil json.RawMessage is unserialisable, so I can just check that09:19
pedronisChipaca: the code is broken right now though09:19
mvoogra_: it was added 2017-11-3009:19
pedronisif you pass a nil09:19
ogra_mvo, well, the image was on auto-update and was definitely built this week ...09:20
mvoogra_: the masking09:20
pedronisvarious things will likely end up unhappy09:20
Chipacapedronis: yep, noticed that :-) was checking on the caller side09:20
Chipacapedronis: will address in a followup and then tweak my callers09:20
mvoogra_: one week indicates something else is going on, I look forward to your ls and servicectl output09:20
ogra_mvo, that could match, i built it onday or tuesday morning09:20
ogra_*monday09:20
Chipacapedronis: do you remember why the cleanup task waited for an ensure run to kick in? (am I forgetting something non-obvious, or has it always been like this?)09:43
pedronisChipaca: in which sense?09:44
pedronisall tasks get triggered by an Ensure cycle09:44
Chipacapedronis: right, and in api.go we do an EnsureBefore(0) to kick them off09:46
pedronisyes09:46
pedronisbut there is also logic in taskrunner09:46
pedronisto also do that09:46
Chipacapedronis: but the cleanup task (one added with "AddCleanup") waits for the _next_ ensure before running09:46
pedronisif there are dependents09:46
pedronisChipaca: might be missing a kick in task runner09:46
pedronisin some cases09:46
pedronisor maybe it's hard to decide09:47
pedronisto do the kick09:47
Chipacapedronis: ok, when i can push to github i'll pester you about this again; i'm probably missing something silly :-)09:47
pedronisI know I have a test where this is an issue09:48
pedronisbut there is more related to not having all the right managers09:48
pedronisaround09:48
pedronisChipaca: have you run run-checks --static locally recently?  it logs a lot about tests/lib/snaps/test-snapd-validate-container-failures/hell09:58
pedronisit doesn't error but it's a bit on the noisy side09:58
Chipacai put that thing there to stress test some checkers, but not sure which one is getting tricked in --static10:00
pedronisseems spell checking afaict10:01
mupPR snapd#4581 opened: overlord/configstate/config: make SetSnapConfig delete on empty <Created by chipaca> <https://github.com/snapcore/snapd/pull/4581>10:03
Chipacapedronis: ^10:04
apply55gxHello, is there a way to transfer a snap with all of it's data to another server?10:14
mborzeckiChipaca: ^^ snapshots?10:14
Chipacaish10:15
Chipacayes :-)10:15
Chipacaexcept user data might make things weird10:15
Chipacaapply55gx: currently, in released snapd, you could do it manually with some care10:15
apply55gx@mborzecki do you mean whole server snapshots or is there a way to create a snapshot just of the snap?10:16
Chipacaapply55gx: I'm working on a feature to do snapshots of a snap10:16
Chipacaapply55gx: but it's not even up for review yet10:16
Chipacaso at least a month before it's on stable10:16
apply55gxChipaca: Thank you for your answer. How would you manually do this?10:17
mupPR snapd#4582 opened: many: at seeding try to capture cloud information into core config under "cloud" <Created by pedronis> <https://github.com/snapcore/snapd/pull/4582>10:17
Chipacaapply55gx: assuming the snap is public, I'd install the snap in the new server, disable it (snap disable $thesnap) so it's there but the services are all stopped, and then rsync /var/snaps/<thesnap> over10:18
apply55gxJust copying it won't work, does it?10:18
Chipacaapply55gx: if the snap uses 'snap set' to do config there's an extra step10:19
Chipacaapply55gx: just copying the snap? it could; you'd need the assertion as well as the snap but you have it10:19
Chipacaapply55gx: simpler to just re-get it if you can, but otherwise yes you can just copy it and the assertion, then 'snap ack <the assertion>' and 'snap install <the .snap>'10:20
Chipacaapply55gx: if you don't want to figure out which assertion to ack, you _could_ copy everything and ack the whole lot :-)10:21
Chipacaapply55gx: that's /var/lib/snapd/assertions/asserts-v0/10:21
apply55gxChipaca: Ok, I'm gonna try getting the snap and just copy the /var/snap/ folder. The other thing seems a bit too complicated for me :-)10:21
apply55gxChipaca: Thank you for your quick answer :)10:22
Chipacaapply55gx: if you're able and have the time to describe what you want to do as a feature request, it'd be neat to have it documented10:22
Chipacaapply55gx: but no rush for that :-)10:22
Chipacait's just that as far as I know we don't currently have a user story for "copy this snap and all its data to that machine"10:23
Chipacait'd be a step further down the snapshot road10:23
Chipacaand enable some nifty migrations, i reckon10:23
Chipacaanyhow, back to coding snapshots10:23
apply55gxChipaca: I'll try to document it as good as possible :) Where should I put the documentation afterwards?10:24
Chipacaapply55gx: if it's story-ish, https://forum.snapcraft.io; if it's bug-ish, https://bugs.launchpad.net/snapd/+filebug10:25
Chipacaapply55gx: if in doubt, chose one at random and we'll sort it out :-)10:25
apply55gxOk, thank you :-)10:25
ogra_mvo, ok ... fresh re-install of the oldest image i have here (and in fact the core is from yesterday) ... https://paste.ubuntu.com/26499992/10:39
ogra_mvo, so i guess something with applying the gadget config on first boot goes wrong10:40
mvoogra_: this is first-boot?10:40
mvoogra_: i.e. nothing else was run yet?10:40
ogra_only ran through console-conf yet ... didnt reboot10:40
mvoogra_: what is the output of "snap changes"?10:40
ogra_ogra@localhost:~$ snap changes10:40
ogra_ID   Status  Spawn                 Ready                 Summary10:40
ogra_1    Done    2018-02-01T10:27:24Z  2018-02-01T10:28:13Z  Initialize system state10:40
ogra_2    Error   2018-02-01T10:28:10Z  2018-02-01T10:29:24Z  Initialize device10:40
ogra_3    Error   2018-02-01T10:34:24Z  2018-02-01T10:34:27Z  Initialize device10:40
mvoogra_: great, yeah, it looks like first-boot config is broken just not running, the output of journalctl -u snapd might be good10:41
mvoogra_: *maybe* there is an error in there10:41
ogra_mvo, nothing in journald https://paste.ubuntu.com/26500004/10:42
ogra_(the chopped off likes are just "installing kernel" and "installing gadget"10:43
ogra_)10:43
* kalikiana coffee break10:43
mvoogra_: ta10:44
mvoogra_: looks like a real bug :(10:46
ogra_yes10:46
greybackany recommendation on how to give someone a custom snapd to test?10:52
ogra_write it to a USB key ... get a padded envelope ... put stamps and an address on ... write a note with instructions and send it ?10:54
mvogreyback: a binary build for their target arch? push to a url, then ask $person to "wget $url", systemctl stop snapd.socket snapd.server; sudo cp custom-snapd /usr/lib/snapd/snapd; sudo systemctl start snapd.socket snapd.service10:56
greybackmvo: ok, so the obvious. Thanks10:57
greybackogra_: you sir need some sugar, you're getting grumpy10:57
ogra_lol10:57
Chipacahttps://pastebin.ubuntu.com/26500106/11:07
* Chipaca might be having a little too much fun11:07
mborzeckiChipaca: at least you're having fun :)11:08
Chipaca:-)11:08
mborzeckii like the 'probably *fine*'11:08
=== mup_ is now known as mup
=== diddledan_ is now known as diddledan
ogra_mvo, https://bugs.launchpad.net/snapd/+bug/174671411:48
mupBug #1746714: regression: gadget defaults are not applied with latest snapd <snapd:New> <https://launchpad.net/bugs/1746714>11:48
mupPR snapd#4583 opened: many: pull apart develoepr and publisher <Created by mvo5> <https://github.com/snapcore/snapd/pull/4583>11:48
mvoChipaca: -^ we talked about the developer/publisher entanglement. the above may help, feedback welcome (cc pedronis)11:48
mvoogra_: thanks, I have a look this afternoon, just wanted to finish the above PR11:48
ogra_mvo, yeah, i just wanted a papertrail11:51
Chipacamvo: have you talked with snapcraft and store people about that?11:58
pedronismvo: developer_id in the store is the publisher ATM12:00
pedronisand we don't track the developer much really (it's an open task but I don't see it happen soon)12:01
pedronismvo: basically without starting from the store this will just confuse us more12:02
greybackzyga: quick qn: I accidentally pushed a commit to my branch, and have commited a revert. Would you rather I redo the branch to have a cleaner history? (https://github.com/snapcore/snapd/pull/4545/commits)12:02
mupPR #4545: interfaces/x11: allow X11 slot implementations <Created by gerboland> <https://github.com/snapcore/snapd/pull/4545>12:02
zygagreyback: nah, just --force push12:03
zygagreyback: drop that commit and push the right one12:04
mvopedronis: uh, developer_id is publisher_id? and developer_name is also publisher_name?12:04
pedronisyes12:04
pedronisin the new APIs12:04
pedronisthey will be called publisher12:04
pedronisbasically I don't think this makes much sense12:04
pedronisuntil we have a new details API12:04
mvopedronis: fair enough, I will extract the interessting bits from the PR and close it after12:05
pedronismvo: the only place where we get the developer would be snap-revision, but that is also not true atm12:06
pedronisbecause of historical reasons12:06
mvopedronis: what do we get there?12:06
pedronisagain the publisher12:06
mvo /o\12:06
mvook12:06
pedronisas I said until it is fixed/improved in the store12:07
pedronisadding the distinction in snapd is not super useful12:07
pedroniswe could start adding publisher == developer in packages.go12:07
pedronisI suppose12:07
pedronisbut not much else12:07
mvopedronis: so you think we should not expose ddeveloper at all in the rest api? or just not yet ?12:08
mvopedronis: I'm fine starting with developer = publisher for now and provide publisher via the rest api and then users can transition to the new field. does that make sense?12:08
pedronisyes, that make sense12:09
pedronisthe changes in store/ are problematic12:09
mvopedronis: great, I will update the PR accordingly and add some big  explanation  around this to avoid further confusion12:09
mvopedronis: sure, I will revert those12:10
mvopedronis: well, revert and add comments12:10
mvopedronis: thanks for your input!12:10
pedronisit's a bit my fault12:11
mupPR snapd#4583 closed: many: pull apart develoepr and publisher <Blocked> <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/4583>12:11
pedronisPublisherID12:11
pedronisand -info.PublisherID = d.DeveloperID12:11
pedronisat some point12:11
pedronisbut didn't add a comment12:11
* mvo nods12:11
pedronismvo: also we don't capture the string because we  go from id to strings using the account assertion12:13
mvopedronis: should we remove the string then?12:13
pedroniswe didn't have it before12:13
pedronisthere was no publisher12:14
pedronisI mean all of store changes need to be reverted12:14
* zyga takes a break to lay down, back pain12:14
mvopedronis: aha,ok, I misunderstood12:14
mvopedronis: yes, will do that12:14
pedronisand maybe added comments12:14
pedronisthat means also some bit of snap/info.go go away12:14
pedronisas well12:14
mvopedronis: thanks, I will do that (and revert bits in info.go too)12:18
* zyga will skip standup today, not so fun from bed; I'm not feeling good for the last few hours and I'm trying to write docs and examples on new features12:39
kalikianazyga: clearly writing docs is bad for your health :-P12:42
mupPR snapd#4584 opened: Introduce LimitedWriter to limit the number of data read from the std… <Created by stolowski> <https://github.com/snapcore/snapd/pull/4584>12:57
Odd_BlokeI'm seeing some really weird issues trying to use snapcraft ATM.13:19
Odd_BlokeI have lxd installed as a deb, but `snapcraft cleanbuild` fails with: subprocess.CalledProcessError: Command '['lxc', 'file', 'push', '/home/daniel/snap/lxd/common/snapcraft_8v82248/core_3887.assert', 'local:snapcraft-paretically-cressiest-elana/run/core_3887.assert']' returned non-zero exit status 1.13:20
Odd_BlokeThat path looks extremely suspicious.13:20
Odd_Bloke(Also, when using a remote lxd, there's no reason to believe that the local path will exist at all snap or otherwise.)13:21
Odd_BlokeSo I think to myself, "fair enough, let's just build locally for now", and then pip segfaults: subprocess.CalledProcessError: Command '['/bin/sh', '/tmp/tmp9uadnku3', '/home/daniel/dev/cloud-test-framework/parts/cloud-test-framework/install/usr/bin/python2', '-m', 'pip']' died with <Signals.SIGSEGV: 11>.13:21
Odd_BlokeI see the lxd issue on both the edge and stable snaps; it looks like the stable snap might not have the local-build issue.13:26
* kalikiana moving to coffee shop for lunch13:28
ackkhi, is there a way to get locales to work in a snap? can they be included in the snap itself?13:52
ogra_ackk, while this is a very old snap, the wrapper stuff should still work i the new world http://bazaar.launchpad.net/~ogra/+junk/nethack/view/head:/nethack.sh13:56
ogra_(check the stage-packages in snapcraft.yaml too)13:57
ackkogra_, thanks13:58
mupPR snapd#4583 opened: many: pull apart develoepr and publisher <Blocked> <Created by mvo5> <https://github.com/snapcore/snapd/pull/4583>14:13
* pstolowski lunch14:16
mborzeckipstolowski: left you some comments in 458414:25
mupPR snapd#4585 opened: daemon: refactor snapFooMany helpers a little <Created by chipaca> <https://github.com/snapcore/snapd/pull/4585>14:30
pstolowskimborzecki, thanks14:31
sergiusenskalikiana please look into Odd_Bloke's issue with lxd14:31
kalikianare14:34
mupPR snapd#4586 opened: cmd/snap: add completion conversion helper to increase DRY <Created by chipaca> <https://github.com/snapcore/snapd/pull/4586>14:35
=== juergh_ is now known as juergh
kalikianaOdd_Bloke: Did you see any errors from lxc? That is, before the Python error message14:37
kalikianaOdd_Bloke: Also, what are you finding suspicious there? Snapcraft creates a temporary folder in ~/snap/lxd/common to store files that will be pushed into the container14:38
sergiusenskalikiana both kyrofa and popey saw this yesterday too14:49
Odd_Blokekalikiana: Well, I don't have the lxd snap installed, so that's a weird path to use.14:50
Odd_Bloke(Also, this isn't the lxd snap, so that's a weird path to use even if I did have it installed.)14:51
Odd_BlokeSurely that should be in ~/snap/snapcraft... ?14:51
mupPR snapcraft#1904 opened: lxd: raw.idmap expects host and container id respectively <Created by kalikiana> <https://github.com/snapcore/snapcraft/pull/1904>14:51
Odd_BlokeBut also, the path it thinks should exist there doesn't, which is a definite problem.14:51
kalikianaOdd_Bloke: That path is used so the lxd snap can read the files despite confinement when you use it. It's removed after Snapcraft is done, so it would indeed be empty if you're looking for it afterwards14:56
kalikianasergiusens: Is it related to bug 1746612 ? I tried it with the lxd in Xenial earlier. I still need to try with the backports version as well to see if that's different14:57
mupBug #1746612: Snapcraft cleanbuild doesn't work if you're not using the LXD snap <Snapcraft:New> <https://launchpad.net/bugs/1746612>14:57
Odd_Blokekalikiana: https://paste.ubuntu.com/26501059/ is the full log.14:59
Odd_BlokeBasically the file that snapcraft is telling lxd to use isn't present.14:59
kalikianaOdd_Bloke: Thanks!14:59
kalikianaOdd_Bloke: Actually, does ~/snap/lxd not exist at all? Snapcraft should be creating it14:59
Odd_BlokeIt does.14:59
kalikianaOr is it empty?14:59
Odd_BlokeI wiped it out earlier, and it does still have stuff in there.15:00
Odd_Bloke/home/daniel/snap/lxd/common/snapcraftyu2pnqwq looks like it was just created by my cleanbuild run.15:00
kalikianaOdd_Bloke: It should've re-created folder regardless of the lxd snap being there15:01
kalikianaAlthough I can appreciate that it seems a little "odd"15:01
kalikianaOdd_Bloke: On my system I can see ~/snap/lxd/common with no contents even after removing ~/snap/lxd15:03
kalikianaNot sure if there's some other intermediary step I'm overlooking15:03
kalikianaOdd_Bloke: btw which version of lxd are you using? ie. `apt show lxd | grep Version`15:07
Odd_BlokeWhy would ~/snap/lxd/common exist if you've removed ~/snap/lxd?15:08
kalikianaOdd_Bloke: Because Snapcraft creates it :-)15:08
Odd_BlokeThat is all sorts of crazy, IMO.15:08
Odd_BlokeBut whatever.15:08
Odd_BlokeI'm running lxd 2.21-0ubuntu2 (in bionic).15:09
kalikianaOdd_Bloke: If LXD is confined, it can't read arbitrary stuff in your ~15:09
Odd_BlokeSure, but my lxd isn't confined, nor is it even local, so snapcraft shouldn't create random folders in my filesystem.15:09
Odd_BlokeBut I don't particularly care about that ATM, it doesn't work even doing that. :p15:10
Odd_Blokekalikiana: OK, hold on, that file does exist locally.  But /var/lib/snapd/hostfs/ is empty.15:11
* kalikiana wishes Launchpad's search wasn't so terrible, trying to confirm if this is related to another known issue15:15
* kalikiana can't even find *this* bug report by searching for it...15:15
zygakalikiana: hey16:07
zygazyga@fyke:~/content-interface-2.0/hub-app$ snapcraft16:07
zygaIssues while validating snapcraft.yaml: Additional properties are not allowed ('license' was unexpected)16:07
zygawhere can I specify the license?16:07
kalikianazyga: Where did you try to put it? It should be a toplevel item like summary or description16:11
zygakalikiana: yeah, there16:11
zygasnapcraft, version 2.34+17.1016:12
zygakalikiana: I put16:12
zygalicense: MIT16:12
kalikianazyga: can you paste the YAML somewhere? then I can double-check if it works here16:14
zygasure16:15
zygahttp://paste.ubuntu.com/26501365/16:15
kalikianazyga: Doesn't seem to work indeed.... not sure tbh16:22
zygaseems like something that fits the overal license work now16:23
zyganiemeyer: ^ FYI (on license)16:31
niemeyerCan we please not have yet another thread here?  We have two topics in the forum active right now on this topic.16:31
zyganiemeyer: not a thread, just pointing out that it seems setting license via snapcraft doesn't work16:32
niemeyerzyga: Sounds like something worth pointing out in the right topic, in the forum?16:32
zygasure, I'll add it to snap-license-metadata thread16:33
zyganiemeyer: thank you!16:41
* zyga feels better now, gets back to work16:41
* kalikiana feeling a little exhausted from all the debugging today, going to wrap up16:48
niemeyerzyga: Thanks for reporting16:54
greybackanyone mind hitting merge on this, it should be good to go: https://github.com/snapcore/snapd/pull/457217:01
mupPR #4572: mir: software clients need access to shared memory /dev/shm/#* <Created by gerboland> <https://github.com/snapcore/snapd/pull/4572>17:01
zygagreyback: looking17:02
zygaah17:02
zygayes17:02
zygamerged :)17:03
mupPR snapd#4572 closed: mir: software clients need access to shared memory /dev/shm/#* <Created by gerboland> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4572>17:03
zygathank you! :)17:03
greybackzyga: sweet, thank you17:03
greybackand I'll just leave https://github.com/snapcore/snapd/pull/4545 hovering in the background :)17:03
mupPR #4545: interfaces/x11: allow X11 slot implementations <Created by gerboland> <https://github.com/snapcore/snapd/pull/4545>17:03
jdstrandjjohansen: thanks. I think tyhicks gave ogra_ the additional details he needed17:05
zygagreyback: will that shirnk when you merge master?17:05
zygajdstrand: hey, do you have 2 minutes for a quick chat?17:05
ogra_jdstrand, yeh, but i dont see the filesystem either way (though at least htis kernel now has syscall filtering enabled which is missing in the sample-kernels tree)17:05
jdstrandzyga: I think so17:06
jdstrandzyga: go ahead17:06
greybackzyga: no unfortunately17:06
greybackit's a non-trivial one17:06
greybackno rush though17:06
zygaok17:07
tyhicksogra_: what do you mean by "can't see the filesystem"? it isn't in /proc/filesystems or it isn't mounted at /sys/sys/bpf/ ?17:11
ogra_tyhicks, /proc/filesystems17:11
tyhicksogra_: what kernel version?17:11
ogra_btw it is a 4.1 tree17:11
tyhicksogra_: ah, I mentioned yesterday that the bpf filesystem first showed up in 4.417:12
ogra_(and effectively a throw-away kernel ... we'll get a 4.4 later)17:12
ogra_ah, ok17:12
tyhicksthe code isn't there in 4.117:12
mupPR snapd#4587 opened: osutil: make MkdirAllChown clean the path passed in <Created by chipaca> <https://github.com/snapcore/snapd/pull/4587>17:12
ogra_well, at least the missing of it in /proc/filesystems got me on the right track :)17:12
tyhicks:)17:12
Chipaca4 small (biggest is ~100 lines) and easy (sez me) PRs up by me if you're feeling like doing reviews17:14
cachio_pedronis, hey, I see this error on dragonboard after I refresh to beta from stable17:37
cachio_https://paste.ubuntu.com/26501684/17:37
cachio_pedronis, any idea what could be causing that?17:38
niemeyerI've just found out that apparently "skype" and "snap" is a trigger for adult content in social media17:39
mupPR snapd#4588 opened: Snapshots! <Created by chipaca> <https://github.com/snapcore/snapd/pull/4588>17:41
Chipaca<<<<< ^^^^ >>>>>>17:41
Chipacaor something17:42
* Chipaca goes for a cuppa tea17:42
Chipacabefore I go just let me say that <+2,226 −77> might be a little intimidating (but read the description)17:43
* ogra_ finally runs "snap alias snapcraft sergiusens"17:44
Chipacaogra_: snap alias --internal install remove17:47
* Chipaca runs to see about that tea17:47
ogra_uuuh, mean !17:47
ogra_(i was just reacting to niemeyer's typo and sergios funny comment here )17:48
mvoChipaca: wooo!17:48
mupPR snapd#4583 closed: many: pull apart develoepr and publisher <Blocked> <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/4583>17:48
niemeyerogra_: typo?17:51
ogra_niemeyer, you called him "@snapcraft" ;)17:52
ogra_freudian typo :)17:52
ogra_(on the forum)17:52
niemeyerogra_: I see.. "typo" :)17:59
ogra_heh17:59
niemeyerWould be nice if snapcraft could respond.. would make things easier17:59
ogra_well... all w need is a mycroft snap and teach it to react to "snapcraft" ...18:00
mupPR snapd#4589 opened: many: remove "content" argument from snaptest.MockSnap() <Created by mvo5> <https://github.com/snapcore/snapd/pull/4589>18:00
* ogra_ looks forward to "voice based yaml validation"18:02
pedroniscachio_: my guess is that something is off with the time on that board18:28
mupPR snapcraft#1905 opened: Remove dangling symlink from JDK plugin (LP Bug #1617296) <Created by ARostovsky> <https://github.com/snapcore/snapcraft/pull/1905>18:46
zygaFAIL: cmd_userd_test.go:62: userdSuite.TestUserd18:54
zygacmd_userd_test.go:84:18:54
zyga    c.Assert(err, IsNil)18:54
zyga... value *errors.errorString = &errors.errorString{s:"cannot obtain bus name 'io.snapcraft.Launcher'"} ("cannot obtain bus name 'io.snapcraft.Launcher'")18:54
zygahmm18:54
mupPR snapcraft#1903 closed: elf: use surrogate escape when decoding readelf output <bug> <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1903>19:31
mupPR snapcraft#1906 opened: remote_parts: handle connection errors <Created by kyrofa> <https://github.com/snapcore/snapcraft/pull/1906>19:34
mupPR snapcraft#1907 opened: tests: setup the correct environment for adt <bug> <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/1907>19:43
bartkmqhow do i get firefox to open snap:// links (from snapcraft.io) on Arch? is that an ubuntu only feature?20:17
kyrofaYeah that's typically handled by the software center20:18
bartkmqkyrofa, thanks for the tip, installing gnome-software fixed the problem20:51
mupPR snapd#4590 opened: cmd/snap-confine: allow constructing layouts (phase 1) <Created by zyga> <https://github.com/snapcore/snapd/pull/4590>21:15
zyga:-)21:21
* zyga ends with working layouts :)21:21
zygaI think it's time to EOD21:22
zygakyrofa: hey21:22
zygakyrofa: is LXD okay for you now?21:22
zygabartkmq_: please open a forum topic, we'll get it to work on arch as well21:22
zygabartkmq_: one of the snapd developers uses arch as his main system21:23
zygawe'll get it fixed21:23
* zyga is super excited21:29
zyga*layouts*21:29
zygajjohansen: o/21:31
zygaChipaca: o/21:41
Chipacazyga: \o21:41
Chipacazyga: you suck at EODing21:42
zygayeah21:42
zygahave you EODed?21:42
zygaif not, would you like to eyeball that PR above?21:44
jameshzyga: hi.  I've been looking at trying to verify that a mount occurred as expected via /proc/self/mountinfo.  It works for the simple cases, but seems to get tripped up when it gets called while creating writable mimics.22:38
jameshzyga: I'm trying to work out if this code is a lost cause, and jdstrand suggested you might have an idea22:38
zygajamesh: I'm about to close my laptop, can you please write me a small example (email/forum) and I will help you out tomorrow22:45
zygajamesh: IMO it's hard22:45
jameshzyga: sure.22:45
zygajamesh: based on my experience and prior analysis22:46
zygabecause the mountinfo shows what is mounted22:46
zyganot how it was achieved22:46
zygawhile fstab-like entries show how to achieve something22:46
zygabut doesn't describe the prior state or capture how the state is tranformed22:46
zygaso it's non-trivial to answer a question "has <fstab-mount-entry> been mounted"22:47
zygaand that's why the design of update / undo logic in snap-update-ns is focused on the fstab profiles alone22:47
zygaand not on mountinfo as that is very complex (also because snap-confine does a lot of stuff)22:47
zygabut I may have misundertood your question as it's super late now22:48
zygagive me an example to work with and I'll help as much as I can22:48
jdstrandzyga: he's trying to verify we mounted correctly22:51
jdstrandzyga: the dst mountpoint is easy to verify since it has the full path of the mountpoint22:51
jdstrandzyga: but the source mount gets truncated in various scenarios. so, if he mount $XDG_RUNTIME_DIR/foo/bar, he might only see /foo/bar instead of /run/user/1000/foo/bar22:52
zygajdstrand: !22:52
zygathanks22:52
zygaI see22:52
zygahow is mount source truncated22:53
zygamount source is always <device,filesystem,subtree>22:53
zygajdstrand: *thank you for the review*22:53
jdstrandzyga: so, XDG_RUNTIME_DIR is a tmpfs already which may be part of it. jamesh can give specific examples22:54
jameshjdstrand: I was able to handle that case by combining the mount source with the mount destination of the parent mount22:55
jdstrandah, cool22:55
zygajdstrand: I replied on the review, I'll tweak the things that are simple but check one of the things I contended with22:56
jameshit seems the be the writable mimic tmpfs that was causing the problem.  I was expecting to compute "/snap/test-snapd-content-advanced-plug/x1" as a source and got "/tmp"22:56
zygajamesh: how do oyu compute that?22:56
zygajdstrand: about your main question, we could just abort startup if mount fails22:58
zygajdstrand: not ignore and carry on22:58
zygajdstrand: I'd like that actually22:58
jameshzyga: I first search through mountinfo for an entry that matches the destination mount point.  I then search for the parent mountinfo entry, and combine the parent's mount point with the original entry's root field22:58
jameshthat seemed to be enough for the simple cases22:58
zygajamesh: hmm, I'm not sure yet; I will need an example with some data to read and think through22:59
jameshzyga: I'll put together an email for you to read tomorrow22:59
zygathank you22:59
jameshit must be almost midnight for you23:00
zygajdstrand: please recheck my responses23:02
zygajdstrand: I think it's correct as-is unfortunately23:03
jdstrandzyga: abort startup would be fine. layouts aren't dynamic like content interface connections23:06
zygajdstrand: I can tag layouts with x.snapd=mandatory23:06
zygaand abort on such entries23:06
zygashould we abort on content things as well?23:06
zygaI'm not sure why we didn't23:07
jdstrandzyga: aborting makes sense anyway-- if it doesn't get the layout it needs, it has little chance of working correctly23:07
zygayeah23:07
zygaI think that's sensible23:07
jameshit'd probably be simpler to abort on the other mount failures23:07
zygaand would be better in case if prior mount is a base for next operation23:07
jdstrandit is nice when logic and security go hand in hand :)23:07
zygait's uncertain what happens in that case23:07
jdstrandbtw, I responded to your comments23:08
zygajamesh: Day changed to 02 lut 201823:08
zyga:)23:08
* zyga checks23:08
zygajdstrand: I'm happy we got here23:09
zygaI wish we had more vocabulary in appamor23:09
zygaand I know it's not a 2.31 goal anymore23:09
zygaI think we need those per-snap profiles, yeah23:09
zygaotherwise this is very open and broad23:09
jdstrandapparmor is great, but yeah, like so many other parts of snapd, we are pushing the limits23:09
zygajdstrand: on the other hand23:10
jdstrandzyga: per snap profiles would make this way more palatable, yes, but we can tightly control what is added23:10
zyga*it works* :)23:10
jdstrandbecause*23:10
jdstrandthe fact that it works is excellent!23:10
zygaI wrote a test snap with layouts, I will use it as a base for spread test tomorrow23:11
jdstrandI wouldn't mind this being committed to master once the other points go through on the precondition that a 2.32 milestoned second PR adds snap-update-ns profiles23:11
zygajdstrand: wait, which other points?23:11
zygathe comment?23:11
jdstrandwe forgot to talk about what that would look like23:11
zygaand wait, are you saying it's okay to merge this for 2.31?23:12
jdstrandthe comments and the fixes to the rules you agreed to. the small stuff23:12
jdstrandI am expressly *not* saying to merge this for 2.31 :)23:12
jdstrandI'm saying it is good for *master* now so long as 2.32 has a milestoned second PR to add per-snap s-u-n profiles23:12
jdstrands/now/now, so long as the other bits are addressed/23:13
zygajdstrand: ah, I understand now23:13
jdstrandbut I'll let mvo decide on that23:13
zygajdstrand: can you please add a comment about which things require no changes (for me and mvo)23:13
jdstrandok23:13
zygathank you23:14
zygajdstrand: so 2.32 will have per snap s-u-n profiles and will be ok for release, right?23:15
zyga(and now it's not)23:15
zygahttp://paste.ubuntu.com/26502895/23:17
zygathis is what I changed so far23:17
zyga(based on the discussion above)23:17
jdstrandzyga: +123:21
zygapushed23:22
jdstrandzyga: I've commented in the PR. since it is so late for you, maybe we pick up on monday how to implement the per-snap s-u-n profiles?23:22
zygajdstrand: if you tell me now it will be read tomorrow :)23:23
zyga(or just write it, I will read it again in the morning)23:24
jdstrandzyga: I think the only sane way is to create a template that removes the fixme rules (and any others that are too general), then construct it like the other profiles23:24
jdstrandzyga: ideally they would live in /var/lib/snapd/apparor/profiles, but that isn't a strict requirement23:25
zygajdstrand: yeah, I plan to do that23:25
zygajdstrand: we have a namespace23:25
zygajdstrand: the tricky thing (for me, it's probably easy) is how to construct the header23:25
zygaand what's the apparmor C api to switch to a named profile (probably in the man page)23:26
zygaI would call the profiles "snap-update-ns for $SNAP_NAME" (with proper syntax, suggestions welcome)23:26
jdstrandzyga: you'll need to update the code to change_onexec/change_profile (I can't remember otoh which you are using) to this profile for the s-u-n operation23:26
jdstrandzyga: snap-update-ns.$SNAP_NAME ?23:27
jdstrandzyga: both on disk and the profile name23:27
zyga+123:28
zygayeah, looks good and doesn't clash23:28
zygaand I would do it for *all* snaps23:28
zygano need to fall back23:28
jdstrandyou technically don't need to do it for all snaps.23:28
zygammm,23:29
jdstrandyou *could* use the child profile for non-layouts snap-update-ns calls, and the other for layouts calls23:29
zygabut snap-confine will now have to *explicitly* set profile for snap-update-ns23:29
jdstrandbut I think that is apremature optimization23:29
zygayeah, I agree23:29
jdstrandif we find the number unreasonable or whatever, we can change to that23:29
zygaif those are identical will apparmor optimize those?23:30
jdstrandno23:30
zygamm, ok23:30
zygawe could look at that then, just not in 1st branch23:31
jdstrandso there is compile time and kernel memory. at somepoint we'll have the ability to work with templates better, and sttitch things together23:31
jdstrandso you could load the template rules, and then say 'ad these' for foo and 'add these' for bar23:31
jdstrandthen the size is template + foo + bar instead of template_ foo + template+ bar23:32
jdstrandsize and compile time23:32
zygayeah but for the simple case where profiles "foo" and "bar" are *identical* and not associated with a path23:32
jdstrandbut we don't have that. it is planned23:32
zygathat will be the same blob to load23:32
zygais that also not optimized?23:32
jdstrandno23:32
zygaok23:32
zygabtw, what's the right header ?23:32
jdstrandthey aren't actually identical-- the profile name is different :)23:33
jdstrandthe contents are identical though23:33
zygaahh, right23:33
zygagood point23:33
jdstrande can achieve what you want there by doing what I said-- only using a child or otherwise named profile and transitioning to that. means added code complexity23:33
jdstrandas opposed to apparmor just doing it23:33
jdstrandit probably wouldn't be terrible to do that. think about it23:34
zygak23:34
zyga@LIBEXECDIR@/snap-confine (attach_disconnected) {23:34
zygaso in the new profiles will that look like23:34
zygasnap-update-ns.hello (attach_disconnected) { ... }23:35
jdstrandso the profile change itself is the simple aa_change_onexec23:36
jdstrandzyga: yes23:36
zygacool23:36
zygaI'll get it done first thing tomorrow23:36
zygaif rc3 comes along it _may_ be in 2.3123:36
zyga2.32 is in a month23:36
jdstrandzyga: instead of the Cx rules, you'll add to snap-confine's profile: change_profile -> snap-update-ns.*,23:37
zygathank you, that's a good point23:37
jdstrandzyga: ok, I won't be able to review this until monday, but if it is there monday morning, I can do it first23:38
zygathat's okay23:38
zygaI will review the bulk of it with mvo and gustavo23:38
zygaand we'll see what to do about it23:38
zygathank you, I think it's closer than ever now :)23:39
mupPR snapcraft#1880 closed: Provide stub for when /etc/os-release doesn't exist <bug> <Created by kalikiana> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1880>23:47

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