16:30:39 #startmeeting fedora_coreos_meeting 16:30:39 Meeting started Wed Apr 29 16:30:39 2020 UTC. 16:30:39 This meeting is logged and archived in a public location. 16:30:39 The chair is bgilbert. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:30:39 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:30:39 The meeting name has been set to 'fedora_coreos_meeting' 16:30:42 #topic roll call 16:30:44 .hello2 16:30:47 bgilbert: bgilbert 'Benjamin Gilbert' 16:30:49 .hello2 16:30:50 jlebon: jlebon 'None' 16:30:54 .hello2 16:30:55 cyberpear: cyberpear 'James Cassell' 16:31:06 bgilbert: were you planning to run the meeting? 16:31:14 jlebon: nope, just filling in 16:31:22 ack, thanks for getting it started! :) 16:31:26 :-) 16:31:27 #chair jlebon cyberpear 16:31:27 Current chairs: bgilbert cyberpear jlebon 16:32:47 dustymabe, darkmuggle: wanna say hello? :) 16:33:01 ./hello 16:33:07 .hello 16:33:07 darkmuggle: (hello ) -- Alias for "hellomynameis $1". 16:33:08 or hello2 even 16:33:24 oh hmm... i guess that's actually not a requirement for meetbot 16:33:29 .hello2 16:33:30 dustymabe: dustymabe 'Dusty Mabe' 16:33:33 .hello sohank2602 16:33:34 #chair dustymabe darkmuggle 16:33:34 Current chairs: bgilbert cyberpear darkmuggle dustymabe jlebon 16:33:34 skunkerk: sohank2602 'Sohan Kunkerkar' 16:33:35 .hello2 16:33:35 helpfully, hello takes one argument and hello2 takes... zero 16:33:37 darkmuggle: darkmuggle 'None' 16:33:43 #chair skunkerk 16:33:43 Current chairs: bgilbert cyberpear darkmuggle dustymabe jlebon skunkerk 16:33:45 .hello lucab 16:33:46 lucab[m]: lucab 'Luca Bruno' 16:33:51 .hello2 16:33:52 slowrie: slowrie 'Stephen Lowrie' 16:34:09 #chair lucab slowrie 16:34:09 Current chairs: bgilbert cyberpear darkmuggle dustymabe jlebon lucab skunkerk slowrie 16:34:24 alrighty, will start in 30s 16:35:02 #topic Action items from last meeting 16:35:12 -ENOENT 16:35:14 \o/ 16:35:33 \o/ 16:35:39 moving on to issues labelled with meeting 16:35:58 hmm, also -ENOENT 16:36:03 was that correct dustymabe ? 16:36:19 or did you mean to tag some things for this meeting? 16:36:59 nope the ones that had meeting were from last week so I removed them. unless anyone has an issue they'd like to tag with meeting we can move to open floor OR topics related to FYI/general discussion 16:37:06 .hello miabbott 16:37:07 miabbott: miabbott 'Micah Abbott' 16:37:11 #chair miabbott 16:37:11 Current chairs: bgilbert cyberpear darkmuggle dustymabe jlebon lucab miabbott skunkerk slowrie 16:37:31 ok cool, thanks 16:37:58 so ideas for topics 16:38:00 does anyone have a specific ticket in mind they'd like to bring up before we move on to open floor? 16:38:28 - installer rework discussion: osmet, improved interactive experience 16:38:39 - next stream updates/status and 'next' steps 16:38:51 * cyberpear has "Open Floor" question about disk encryption 16:39:15 dustymabe: want to start with that first one? 16:39:36 - summary of autit upstream discussion (if kaeso is around) 16:39:42 jlebon: sure sounds good to me 16:39:55 ^ yes, audit! 16:40:00 #topic installer rework: osmet, improved interactive experience 16:40:31 so we have and are landing a lot of changes to our installer and workflow surrounding the installer 16:40:47 osmet will allow for offline installs (i.e. all necessary contents are in the ISO) 16:41:05 and some work I've done recently will allow for an easier interactive static networking experience 16:41:40 pending work is related to making a sidechannel for configuring static networking on boot for vmware 16:42:05 kaeso is working on the last item there 16:42:17 and it all ties back in to https://github.com/coreos/fedora-coreos-tracker/issues/460 16:42:53 osmet means taking an ostree + some extra metadata and constructing a disk image, kind of like jigdo? 16:43:05 cyberpear: right, exactly 16:43:15 I'm wondering if we should go ahead and ship one batch of updates (in testing) that includes the osmet + interactive static networking bits 16:43:35 and then let the rest of https://github.com/coreos/fedora-coreos-tracker/issues/460 land mid next week after that 16:43:53 or if we should do it all together? 16:44:43 I'm +1 to shipping osmet early 16:44:46 hmm, apart from osmet and the interactive static network bits, nothing else in theory should require a coreos-installer respin, right? 16:44:59 jlebon: correct 16:45:00 get some early real-world experience with it 16:45:24 so maybe it's just the afterburn + default kargs stuff that we hold back 16:45:31 or maybe we want it all 16:45:46 ok cool. then yeah, let's do a coreos-installer release for osmet (via --offline) and the networking bits 16:46:22 +1 to shipping osmet + interactive static networking first 16:46:43 i think the way we're working on things, nothing should need to get updated atomically 16:46:48 lucab[m]: sorry - i've been referring to you as kaeso :) 16:47:50 dustymabe: np, I get highlights on both 16:48:41 bgilbert: assuming CI in https://github.com/coreos/coreos-installer/pull/187 is happy, are you good with shipping the next release with https://github.com/coreos/coreos-installer/pull/197 too? 16:48:46 lucab[m]: thoughts on the current proposal ? 16:48:49 (i.e. osmet by default) 16:49:41 my current approach is having one release where it's gated via --offline first. but it's mostly going to be CI that'll know about that and not users 16:49:45 jlebon: yes, that's what I was assuming 16:49:58 we won't get real testing if --offline has to be specified 16:50:04 right 16:50:04 and we do have a testing stream :-) 16:50:15 dustymabe: glueing the afterburn stuff will take several iterations anyway, it shouldn't be held as a blocker for anything 16:50:34 ok cool, WFM then :) i think the rewiring to have it tested in the coreos-installer CI gives us good confidence 16:50:50 does that mean --online as a fallback to the old behavior 16:50:57 lucab[m]: right. I'm saying it's less of a blocker and more of let's hold it back until next testing release is done 16:51:06 cyberpear: --stream stable 16:51:16 cyberpear: right now, if you specify --stream or --image-url it will never be offline 16:51:26 I see 16:51:38 dustymabe: yep, agreed 16:51:44 lucab[m]: +1 16:51:46 cyberpear: we might special-case the former to be partially offline if it matches what it already has 16:52:03 sounds good 16:52:33 ok, are we ready to move on to next topic? 16:53:04 +1 16:53:17 #topic next stream updates/status and 'next' steps 16:53:43 we had a nice paragraph in the fedora 32 release annoucnement about our `next` stream 16:53:58 thanks @jlebon for putting some hard work into getting that out 16:54:26 we should probably do another release in the stream now that the day0 updates have landed in Fedora 32's stable repos 16:54:30 and also in `next-devel` 16:54:36 any other changes we should get in first? 16:54:44 did the ssh key stuff land? 16:54:54 not yet 16:55:10 dustymabe: did you mean async release, or just as part of the releases next week? 16:55:15 ok let's get that in (/me makes a note to review it) 16:55:33 jlebon: can probably be part of the releases next week 16:55:34 yup, needs some minor tweaks 16:55:40 will do that 16:56:26 +1 16:56:30 any other things we should do in `next` ? also should we talk about timelines for actually switching `testing` to f32 content? 16:57:36 do we cover already the F31->F32 edge in CI? 16:57:40 yeah, we should just have a default of e.g. "2 weeks after the first next release after GA" or something. and only hold back if there are known problems 16:57:57 ^ sounds good to me 16:58:16 lucab[m]: yeah, we need to extend CI there 16:58:28 jlebon: so 16:58:36 - next week: first `next` release after GA 16:58:55 - 3 weeks: first `testing` release based on f32 16:59:06 - 5 weeks first `stable` release based on f32 16:59:35 lucab[m]: it ironically used to test f31->f32, but now that we have multiple releases within next-devel, it no longer does that. so we need to tweak it so it tests both scenarios (see https://github.com/coreos/coreos-assembler/pull/1351) 16:59:52 dustymabe: yeah, makes sense to me 17:00:04 i think that WFM 17:00:40 I think we need to try to promote our next and testing streams as part of this transition 17:00:49 they are only useful if people are using them and providing us feedback 17:01:10 I only found the fstrim.service issue because I'm using next (fstrim.timer runs once a week) 17:01:33 should we put out a coreos-status email or something ? 17:02:17 normally I'd say coreos-status is only for actual real news 17:02:26 but "next exists now" counts, actually 17:02:37 seems reasonable to me. make f32 the carrot to use non-stable streams heh 17:03:34 ok, ready for next topic? 17:03:36 anyone want to sign up to write that email? 17:03:42 do we plan to put a barrier in place to have a single auto-update edge crossing major version? 17:03:56 lucab[m]: I think that would be wise 17:04:01 lucab[m]: that's probably a good idea 17:04:15 because CI doesn't test from anything older than the latest release right now 17:04:25 cincinnati + zincati ++++++++++ 17:05:07 ack, I'll take a note somewhere in the tracker to do that for testing and stable 17:05:21 +1 17:05:54 +1. thanks all for the discussion 17:06:11 #topic summary of audit upstream discussion 17:06:37 lucab[m]: i think there was some upstream discussion about https://github.com/coreos/fedora-coreos-tracker/issues/463 ? 17:07:55 I'm not aware of the upstream discussion, but the for the initscripts tl;dr: "we must audit manual stop or reload of auditd; systemctl doesn't allow this" 17:08:07 it's security theatre, of course 17:08:22 dustymabe: https://github.com/coreos/fedora-coreos-tracker/issues/461 you mean? 17:08:35 oh wow. yes.. 461 17:08:40 since I can just systemd-run with conflicts=auditd and it'll get shut down per the conflict 17:09:25 on the kernel-side it pretty much stalled with "linux has this API, but it shouldn't be used" 17:10:03 so if I really want to stop auditd without it being traced to me, it's trivial; despite the official method being "use `service auditd stop`" 17:10:19 on the userland-side I think all our tickets are pretty much where they were initially 17:10:26 (I didn't check the initscripts story recently) 17:11:13 ok +1 - i didn't know if the kernel/systemd discussion was relevant in helping us move forward or not 17:11:29 on the journald side, audit is now tunable at least: https://github.com/systemd/systemd/pull/15444 17:12:16 dustymabe: it was along the line of "can we live without auditd and still get useful info in journald" 17:13:43 ack 17:14:31 anything else on this topic? 17:14:48 tldr is, I still don't see the light at the end of the tunnel, but in the next systemd release we can at least stop the console spammin 17:14:54 g 17:15:10 the kernel folks argue that journald can miss messages 17:15:13 I don't know how real that concern is? 17:15:32 if it's real, it seems like we need auditd in some form, or journald needs to explicitly take over that role 17:15:37 it'd be good to convince the "use service auditd stop" hardliners that since other ways are available to stop the daemon, that only good citizens' actions will be properly audited, so they should work w/ systemd to find a better solution 17:16:07 they say kdbus would solve it, but it's not upstream 17:17:34 if we can get initscripts out (working with upstream auditd) and the complex configuration problem solved (working with upstream auditd) I think we can just ship auditd 17:17:54 so that's at least a possible path forward 17:18:04 though, will take some work 17:18:14 bgilbert: I think it's a real concern, journald support is for "trace debugging" mostly 17:18:23 I don't see journald replacing auditd at any point 17:18:34 yeah 17:18:35 yeah, journald will never replace auditd 17:18:39 (sadly) 17:19:03 dustymabe: in your mind, are both of those requirements before inclusion or just the first? 17:19:21 jlebon: probably just the first, which is also probably the easiest to fix 17:19:24 IMO, the most important is that it doesn't drag in initscripts 17:19:36 dustymabe: what's the "complex configuration" issue? 17:19:37 if you look at what auditd uses "service" for it's literally just sending some signals to a process 17:19:46 right 17:20:01 cyberpear: look at the 3rd bullet point in the description of https://github.com/coreos/fedora-coreos-tracker/issues/461 17:20:14 is it just the lack of separate /usr and /etc rules? 17:20:42 do we have rules already we'd want to ship by default? 17:20:50 I know it already supprots drop-ins 17:21:41 lucab[m] might be able to speak more to the details 17:21:53 note we have 10 mins left if we want to get to open floor 17:22:28 cyberpear: yes, https://src.fedoraproject.org/rpms/audit/blob/f30/f/audit.spec#_156 17:22:50 (that was F30, I didn't recheck recently) 17:22:53 given the security theater aspect of what user sends signals, can we just... ignore that part? 17:23:25 upstream's position on layered config is "there should be no vendor defaults at all" 17:23:45 drop initscripts outright and tell people to use systemctl 17:23:51 for that specific example, it seems an ignition drop-in could overwrite the disablement drop-in 17:24:08 cyberpear: except there are already :) 17:24:24 * cyberpear not part of upstream, just commenting 17:25:46 bgilbert: regarding ignoring initscripts 17:25:55 we could do that I think 17:26:21 right, but we still need to satisfy the rpm dep (and nuke everything in it) or drop it (much preferred) 17:26:24 https://github.com/coreos/fedora-coreos-config/pull/348 17:26:48 ^^ that nukes initscripts 17:27:01 but I still think we should work with upstream to try to solve this problem 17:27:05 more people than just us want it 17:27:11 +1 17:27:26 agreed 17:28:01 alternative to 348, make fedora-release-coreos `Provides: initscripts` or is that too dirty? 17:28:06 ok, i'm gonna move on to open floor while we still can 17:28:12 one sec 17:28:18 cyberpear: yuck 17:28:28 yeah that'd be highly likely to break something 17:28:29 it seems like we made more progress in here than I thought we would on that particular topic 17:28:31 jlebon: agreed 17:28:42 #chair walters 17:28:42 Current chairs: bgilbert cyberpear darkmuggle dustymabe jlebon lucab miabbott skunkerk slowrie walters 17:28:46 are we at the point we'd want to make a decision about anything? 17:28:57 * dustymabe was just hoping for a summary from upstream 17:29:46 #proposed we work with upstream to remove initscripts and to support complex configuration split, we don't block on complex configuration split 17:30:04 +1 17:30:08 alternatively we don't *wait* on either and just forcibly remove files from initscripts 17:30:10 cyberpear's inferred tl;dr: "no vendor should ship audit defaults", "service command must be used to stop/restart auditd to trace who sent the signal" 17:30:33 ^ my understanding of upstream positions 17:30:57 I'm sad, but I don't think we can reasonably get anything more from upstream in the short term 17:31:42 lucab[m]: want to make a proposal? 17:33:16 * dustymabe sorry for derailing, but if we are close to a decision I think it's worth it 17:33:39 dustymabe: i think we should at least try to drop initscripts first though before going with the `rm -rf` option, even if it's just making it a subpackage or something that pulls it in and not actually adding a new auditctl command 17:34:01 how about create a coreos-initscripts-dummy package that has a drop-in to allow systemctl to restart auditd in a normal way 17:34:23 provides initscripts, or exactly what the auditd package requires 17:34:51 possible, including updating the auditd package to require exactly the parts of initscripts it needs rather than the whole package 17:35:21 dustymabe: your proposal is fine, I meant "more than that" 17:35:45 cyberpear: it needs `service`, which is sad to have on a modern systemd-based distro 17:36:24 #proposed we work with upstream to remove initscripts and to support complex configuration split, we don't block on complex configuration split. TBD is if we will not wait on the initscripts removal and forcibly remove it ourselves. 17:36:29 ack/nack? 17:36:41 +1 to #proposed above 17:36:50 current #proposed at least progresses us somewhat 17:37:17 sure, +1 17:37:23 I personally think if we spend a little time with upstream we should be able to get rid of initscripts in a satisfactory way 17:37:54 +1 to trying. upstream seems pretty adamant about not sending termination signals as root though. 17:38:13 right.. it would be in a different way. not through systemd 17:38:24 but also at least not through initscripts :) 17:38:35 ok, let's wrap this up 17:38:46 #agreed we work with upstream to remove initscripts and to support complex configuration split, we don't block on complex configuration split. TBD is if we will not wait on the initscripts removal and forcibly remove it ourselves. 17:38:52 sorry for derailing 17:39:14 a possible workaround is to wrap systemctl binary with a special case for auditd, to redirect to "service" or equivalent, but again, upstream discussion 17:39:22 #topic open floor 17:39:41 anything anyone wants to quickly bring up? 17:39:43 is there a tl;dr: for disk encryption? 17:39:48 otherwise, I'll bring it up next time 17:40:07 RHCOS has it, what's blocking FCOS? 17:40:42 we want to do it in a more generic/ideal way in FCOS 17:40:51 yeah I thought that was the case 17:40:53 is it possible for me to do it the RHCOS way to make a custom FCOS? 17:41:01 s/possible/easy/ 17:41:35 (if answers are complicated, I'm happy to defer until next week) 17:41:45 it's possible, but we have a bunch of scripts at this point that might be assuming "encrypted = RHCOS" 17:42:04 or to be more precise encrypted-the-way-RHCOS-does-it = RHCOS 17:42:34 though actually most of those scripts live in the RHCOS src config 17:43:01 is that published somewhere? 17:43:28 I know someone published a "CentOS Stream RHCOS config" but I think it was a one-time push over a month ago 17:43:41 cyberpear: could you bring it up next week too? i think slowrie could talk about the current state in more details 17:43:46 sounds good 17:44:05 the new implementation for fcos is still a WIP 17:44:11 it's got a ways to go 17:44:11 the RHCOS src configs aren't public yet :( 17:44:11 (hard for community members to compare the two when one is behind a firewall) 17:44:24 cyberpear: the current RHCOS approach was always intended as temporary 17:44:27 but in general, we work hard to upstream everything in FCOS, which RHCOS inherits from 17:44:29 cyberpear: let's not perpetuate it :-) 17:44:37 Some of the Ignition work is pushed up as a draft PR but still need some dracut stuff and other config work 17:45:51 cyberpear: roughly, if you're curious, `luks_rootfs: true` in image.yaml is what RHCOS does. you can see the effect that has by grepping it in coreos-assembler and going from there 17:46:01 also for root device encryption it needs additional dracut on top of that as well as some rpm-ostree work 17:46:07 great! that's exactly what I need to look further 17:46:16 RHCOS works around the need for those things by doing the encryption in COSA during the build 17:46:27 and re-encrypting later 17:46:39 (clarification: no actual encryption happens in cosa :) ) 17:46:48 yes, null cipher, etc 17:47:11 I guess that's all on this topic today. thanks for all the info 17:47:14 ok, cool. we're way over at this point. going to close in 30s 17:47:28 cyberpear: thanks for bringing it up! and sorry open floor was rushed 17:47:33 +1 17:47:42 jlebon++ 17:47:42 cyberpear: Karma for jlebon changed to 1 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 17:47:47 cyberpear++ 17:48:05 #endmeeting