/srv/irclogs.ubuntu.com/2019/06/05/#ubuntu-devel.txt

xnoxvorlon:  yes.00:00
xnoxvorlon:  bionic daily; eoan is fine.00:00
vorlonso we just need to sru back the snap base handling00:00
xnoxvorlon:  well.... bionic snap seeding in desktop is kind of by-hand; whilst eoan uses ./snap-tool and is nicer.01:11
xnoxvorlon:  i don't know what is the plan with backporting ./snap-tool to bionic.....01:11
=== cpaelzer__ is now known as cpaelzer
akikwhat's ubuntu's policy on using NOPASSWD in sudoers? i'm asking because cloud-init is still doing it for the default user and cloud-init is originally a ubuntu project08:19
cjwatsonI'm not sure there's a policy on it.  cloud-init probably does so because there's no point in requiring a password in environments where users typically don't have a password set at all.08:30
cjwatson(For cloud guests the default user usually only authenticates using an SSH key)08:30
akiki mean it lessens security if there's a user account on the system that can get root access without password08:32
akikand there's not warning about it08:32
cjwatsonYou should ask the cloud-init people specifically08:32
akikthey didn't see any problem with it08:32
cjwatsonYou aren't going to get anywhere looking for a policy stick to hit them with08:33
cjwatsonIMO anyway08:33
akiki don't want to hit anybody, just want to make systems safer08:33
akik:)08:33
cjwatson("policy isn't a stick to hit people with" is an old catchphrase in the Debian policy-authorship community)08:36
cjwatsonYou could also discuss it with the Ubuntu security team I suppose.  No guarantee they'll agree with you of course08:43
odcakik: that's pretty much how it works on all "cloud" distros. It's a sane default. You can modify it if you want, but using passwords is very impractical on a large scale.10:08
akikodc: no it's not a sane default10:19
maswanI think it is a sane default10:19
akikcloud-init creates a default sudo NOPASSWD: user with no warning10:19
maswanyes, which is exactly what I'd expect, managing passwords is hardly something you want to deal with by default10:22
odcakik: in typical cloud deployments, we do not make a distinction between users and administrators. If someone has the ssh key to connect on a machine, then they can do anything they want. It has been like that for many years now.10:23
akikthat's no excuse for keeping it that way10:24
odcwell what would you do?10:24
akiksecurity > convenience10:24
akikremove the NOPASSWD: from the sudo config10:24
odcand? what would be the password?10:25
akikwhatever you set it as10:26
akiki'm not concerned about that10:26
odcand where was the password defined? in cloud-init? in clear-text?10:27
akiki'm not talking about getting rid of the ssh pki setup10:27
maswanjust hardcode the password to "ubuntu"?10:27
akikjust removing the default NOPASSWD: sudo config10:27
akikwell now you're just being silly10:27
odcakik: you're just used to the old model. If you don't want someone to be root, just don't let him login to the machine at all. If you want to make sure an application cannot have root rights, run it in a container. That's pretty much ho it works now.10:31
akikit's not about "the old model". it's about obeying the normal system security practices10:32
akikubuntu desktop doesn't do that, why should cloud-init do it?10:33
akiki'm sure if i suggested adding it to ubuntu desktop, it would be rejected10:33
odcbecause that's what people expect. Servers and desktop are managed in a different way. You don't do passwords when you manage hundreds or thousands of machines10:36
odcunless your server will be used by people you don't trust10:36
akiki'm sure you don't login to the shell with ssh if you "manage hundreds or thousands of machines"10:37
akikor you're doing it wrong then10:37
odcno, but ansible does10:37
odcalso for debugging :(10:37
odcbut i agree that immutable deployments are usually the best ^^10:39
=== cpaelzer__ is now known as cpaelzer
sladenxnox: was there some intermediate discussion that was missed?12:24
xnoxsladen:  no. it's been discussed for a while on-and-off for 1 year plus.12:25
xnoxsladen:  do you have some concerns? literarly all of our installer are dog slow to boot, compared with installed systems and it's bad.12:25
xnoxsladen:  i guess some flavours may be concerned about size. but we are talking about 11M difference in the age of booting of USB sticks, as nobody has floppies anymore.12:26
xnoxsladen:  and it pisses me off that a faster create & boot exists, and we are not using it =)12:27
sladenxnox: if I understand correctly, there's only a single metric (1:+1.14 space gzip:LZ4) LZ4 14% larger than gzip?12:27
sladenxnox: decompression should be +/- the same.12:28
sladenxnox: if not, there's something sub-optimal in the I/O stage.  Like flushing/read size/blocking12:29
sladenxnox: ie. using a different, but near identical hammer, doesn't help if it's a screw, not a nail12:29
TJ-who's responsible for  manpages.ubuntu.com ?12:49
=== ricab is now known as ricab|lunch
xnoxsladen:  lz4 decompression with lz4 is 4x faster than gzip13:02
xnoxsladen:  lz4 compression is 20% faster than gzip13:02
xnoxsladen:  so update-initramfs -u speed inprovement is noticable, and speed boot is blazing fast.13:03
xnoxsladen:  decompression speed is not +/- the same.13:03
xnoxit's like 1.6s vs 0.1s13:03
xnoxsladen:  the larger than gzip, is the only downside, with upsides in compression/decompression time13:04
juliankheh, launchpad lost another upload yesterday13:16
juliankI uploaded lvm2 for xenial and newer, and the bionic upload was never accepted into unapproved; but re-uploading it worked fine13:17
juliank:)13:17
sladenxnox: don't think the +/-20% is much to care about.   gzip/zlib and LZ4 use the same tech which is string matching.  Only real difference is that gzip has a Huffman coder on the front to squeeze the bits) ... which is where the extra 15% size reduction comes from, at the cost of doing bit shuffling to unpack those variable length symbols13:17
sladenxnox: however, the difference between 1.6s and 0.1s is *so* dramatic (for the same tech) that something /else/ is likely broken13:18
sladenxnox: (it should be the case that a 14% I/O saving is easily wiped out by the processing)13:19
sladenxnox: so, by all means go ahead; but the solution still appears to be trying alternative hammer, rather than understanding the problem13:19
ograxnox, please take also into account that on Core the initrd is created off-device (being readonly at runtime), there the smallest size (uboot loading and moving the file in ram can be very slow with bigger initrd's) and decompression time are indeed more essential ...13:26
sladenxnox: with chunking + parallelisation (decoding while streaming), the overall time *should* trend to the time for the pure read() from the block-device.  Which *should* mean that a 15% I/O saving results in a 14% start->finish timing13:27
sladenxnox: with further optimisations to order the CPIO, and returns files/chunks as soon-as-ready, it should be possible to get a boot time /faster/ than the pure decompression speed (because unused data is never even uncompressed!)13:30
xnoxsladen:  re:cpio ordering => i was pondering about that. But i'm not sure what the right order is, or if it matters. How do we get the file-listing of the full initrd? and stream things? or is it just a matter of putting init first?13:45
xnoxsladen:  i don't believe kernel can do chunking and parallelisation for decoding while streaming for the initrd. but i might be wrong.13:45
xnoxsladen:  ie. for lz4 we must use '-l' legacy format.13:46
xnoxsladen:  also, for the public cloud workloads we do want to trade size & IO for cpu time. Typically clouds have fast ssd/nvme storage, but overcommitted cpu. Thus 14% larger size, and 400% faster decompress is a win there, unlike bare metal.13:49
sladenxnox: yeah, latter is complete opposite of ogra's boot-off-serial-EEPROM example :-)13:50
ograwell, more SD/eMMC ... :)13:52
sladenxnox: chunking/parallelisation code would likely need writing.  It might be possible to do that as a pure userspace ... minimum initramfs.cpio that unpacks an initramfs2.cpio13:52
ograactual flash got rare nowadays ... to expensive13:53
sladenxnox: think the conclusion is that for /many/ use cases (perhaps even quite a lot), it's a cheap win (time taken to change a flag)13:54
sladenxnox: and that with specific, clearly defined use-cases; and spending 3 months testing+writing code where required, pretty much anything is optimisable/betterable.  Probably by quite large percentages13:55
rbasakTJ-: the best general answer is to use the Vcs-* fields from debian/control. That tells you what the maintainer considers to be the normative VCS source.13:56
rbasakTJ-: however that field isn't currently maintained well in the case of Ubuntu packages that have deltas against Debian, unfortunately.13:57
xnoxsladen:  looking forward, we may be booting initrd-less in many cases. But then the question will come down to as to what i/o speed we get at the boot-protocol vs bootloader support - ie can grub/uboot/aboot/etc. boot lz4 compressed kernel image. and that is actually probably more interesting than initrd.13:58
rbasakUsually though if an Ubuntu delta exists and Vcs-* seems to point to Debian, that means that Ubuntu developers aren't maintaining the delta in a VCS.13:58
xnoxsladen:  i hope you do agree that using lzma makes no sense at all in the cloud or bare-metal installers.14:00
TJ-rbasak: what's that in relation to? I'm confused?14:00
xnoxsladen:  and it is a massive step up to use either gzip or lz4 for those.14:00
sladenxnox: LZMA is nuts for all use cases except one-time compress and TFTP/serial/EEPROM booting were I/O is the bottleneck14:01
rbasak17:35 <TJ-> is there some voodoo to understanding where to find the actual, meaningful, git commit logs for package git repos?14:03
rbasakFrom above14:03
TJ-rbasak: oh! blimey, wasn't that yesterday? I thought you were on about manpages.ubuntu.com :D14:04
rbasakEssentially what I'm saying is that the git-ubuntu imports are guaranteed to reflect publication history in apt, and not necessarily what the developers of those packages actually use (Vcs-* is for that)14:04
TJ-rbasak: right; now I've got the context it makes sense :)14:04
TJ-rbasak: fortunately I didn't need to deep-dive the source after-all, turned out to be a simple LUKSv2 instead of LUKSv1 confused poor GRUB :)14:05
sladenxnox: gah.  Forgot the actual reason for LZMA.  It was CD-ROM booting14:07
sladenxnox: it was deployed for the Live-CD were CD-ROM I/O to boot was the overriding bottleneck14:08
xnoxsladen:  also size, we had to fit on 700MB and lzma gave us half the size than gzip14:08
=== ricab|lunch is now known as ricab
Laneyxnox: can you recommend a python binding to systemd that's in the archive and lets me list / enable / disable / start / stop units?15:32
Laneypython3-systemd looks quite limited15:32
Laneyor should I talk dbus?15:32
xnoxLaney:  and you want it for the user or system units?15:36
gamesterIs ubuntu dev not receiving regular gnome updates? Is it just sitting on gnome 3.32?15:36
Laneyxnox: system15:37
Laneygamester: it will do, we usually pick it up a bit later on15:37
xnoxLaney:  so list / start / stop / restart is doable over dbus.15:37
Laneyxnox: yeah I know, just wondering if there are some handy bindings15:37
LaneyI found 'psystemd' which looks nice but doesn't seem to be packaged15:39
xnoxLaney:  oh, and on the manager there is now EnableUnitFiles DisableUnitFiles MaskUnitFiles UnmaskUnitFiles nice. it wasn't used to be there.15:39
xnoxLaney:  maybe check what snapd uses...15:39
ogradh_systemd ?15:40
xnoxLaney:  but also curious what you doing .15:40
Laneyxnox: autopkgtest-cloud charm in python15:40
* Laney eyes ogra with suspicion15:40
* ogra grins15:40
* xnox will start using snapd out of context, to get out of context responses from ogra from now15:40
xnoxon15:40
xnox=))))))15:40
Laneyxnox: need to enable the right number of template instances per the config15:40
ogra\o/15:40
xnoxLaney:  arghuhghh15:40
LaneyI'm trying to move all of the things that admins do by SSHing into the machine out into the charm15:41
Laneyprobably will end up at 'most' rather than 'all' though15:43
Laneyhttps://paste.ubuntu.com/p/6RWj9j8wdT/16:36
Laneynot too hard16:36
=== ricab is now known as ricab|bbiab
=== ricab|bbiab is now known as ricab
ahasenackquestion, when I override dh_gencontrol, for the purpose of using a substvars file, when I call dh_gencontrol at the end, do I need to pass $@ or something like to it, preserving whatever command line arguments debhelper was going to give it?17:09
ahasenackilike https://pastebin.ubuntu.com/p/TKC5t9CnRh/17:10
ahasenackor just dh_gencontrol?17:10
vorlonahasenack: just dh_gencontrol is sufficient, dh puts all the relevant information in environment vars so you don't have to repeat17:50
ahasenackvorlon: thanks17:50
infinityahasenack: Also, $@ probably isn't what you think it is.  It would call "dh_gencontrol override_dh_gencontrol".17:53
ahasenackheh, quite the loop17:53
ahasenackbut somehow it avoided it, when I tested17:53
infinityNot a loop.  Just a nonsensical argument to dh_gencontrol17:54
infinity$@ being a variable that substitutes in the current target.17:54
ahasenackI see17:55
ahasenacksnapd's d/rules is sourcing /etc/os-release to check the ubuntu release the package is being build on, is that ok/stable?18:00
ahasenackspecifically18:00
ahasenack"include /etc/os-release"18:01
ahasenackand then it decides on VERSION_ID18:01
ahasenackwhich seems to not change with point releases, i.e., trusty is 14.04.6, and VERSION_ID is 14.04 still18:01
infinityIt's no worse than people build-depending on lsb-release and calling that, which is pretty common.18:01
infinityIt's not meant to change with point release.18:01
ahasenackyeah, that is what I was reviewing, and I recently saw a debian package changing to os-release to avoid the build-dep on lsb-release18:02
infinityAnd why would knowing which point release you're building on be useful?18:02
ahasenackwe need a certain libapt-pkg<abi> minimum version, and the automatic dependency via shlibs doesn't catch the specific version that has a bugfix we need18:02
infinityPoint releases aren't a real thing anyway.  It's just a snapshot in time of the parent release.18:02
infinityUhh, wat?18:02
infinityIf you need a minimum version of a build-dep, you have a versioned build-dep.18:03
infinityNot a hack in rules.18:03
ahasenackI'm using substvars in rules to construct the depends (not build-dep)18:03
ahasenackhttps://github.com/CanonicalLtd/ubuntu-advantage-client/issues/520#issuecomment-49841745918:04
infinityOkay.  Still not following how you'd need to care about the point release version.18:05
ahasenackI don't, I wanted to be sure VERSION_ID wouldn't incorporate the point release number, and break my series if ifeq18:05
ahasenackof* ifeq18:05
infinityVersioned build-dep on the version you want, versioned dep on the version you want.  Don't really even need substvars there, unless you're trying really hard to build the same source on all releases.18:05
ahasenackI would check for 14.04, for example, not 14.04.N18:05
ahasenackthe latter18:06
ahasenacksame source on all releases18:06
infinityA fun goal, but don't be married to it either.  Things get messy in a hurry sometimes. :)18:06
ahasenackand this is the first time we have such a variable dependency18:06
* infinity glances at all the m4 in gcc's rules.18:06
ahasenackyeah, keeping an eye on it, very carefully18:06
ahasenackpython differences are annoying enough already between trusty and something more modern18:06
infinityAnd okay, if you wanted to make sure it WON'T incorporate the point release, as the man who updates that, I can assure you that it won't. ;)18:07
infinityIt did once when someone else did it for me, and I fixed it in a hurry. :P18:07
ahasenackheh18:09
ahasenackinfinity: and is /etc/os-release ok to source, or does it have to be parsed like /etc/lsb-release?18:10
ahasenackspecifically, use "include /etc/os-release" in d/rules, like I've seen snapd do18:10
infinityhttps://www.freedesktop.org/software/systemd/man/os-release.html18:10
ahasenackaha, even better18:10
infinityahasenack: The "spec" claims it should be okay to source.18:10
infinityahasenack: And since I don't see any reason why we'd deviate from said spec, I think you're good to go.18:11
ahasenackthx18:11
infinityHrm.18:12
* infinity notes the addition of VARIANT and VARIANT_ID to the spec.18:13
infinityWhich are completely useless without a .d mechanism.18:13
infinityCause I'm not letting every flavour overwrite os-release.18:13
infinityOh well.18:13
infinityIt was almost useful.  Well job, systemd people.18:13

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