16:29:29 #startmeeting fedora_coreos_meeting 16:29:29 Meeting started Wed Feb 15 16:29:29 2023 UTC. 16:29:29 This meeting is logged and archived in a public location. 16:29:29 The chair is dustymabe. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions. 16:29:29 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:29:29 The meeting name has been set to 'fedora_coreos_meeting' 16:29:31 #topic roll call 16:29:32 .hi 16:29:33 dustymabe: dustymabe 'Dusty Mabe' 16:30:13 .hello siosm 16:30:14 travier: siosm 'Timothée Ravier' 16:30:31 .hi 16:30:31 bgilbert: bgilbert 'Benjamin Gilbert' 16:30:59 .hi 16:31:00 jmarrero: jmarrero 'Joseph Marrero' 16:31:17 .hello2 16:31:18 jlebon: jlebon 'None' 16:31:40 .hi 16:31:41 aaradhak: aaradhak 'Aashish Radhakrishnan' 16:32:08 #chazir travier bgilbert jmarrero jlebon aaradhak 16:32:53 .hello copperi 16:32:54 copperi[m]: copperi 'Jan Kuparinen' 16:33:41 #chair copperi[m] 16:33:41 Current chairs: copperi[m] dustymabe 16:33:44 welcome all 16:33:48 #chair travier bgilbert jmarrero jlebon aaradhak 16:34:06 there was a spurious 'z' in the previous one :) 16:34:15 travier: haha 16:34:18 oops 16:34:27 #topic Action items from last meeting 16:34:36 * dustymabe will communicate our feedback on the website redesign 16:34:37 but I think you need to do it 16:34:47 #chair travier bgilbert jmarrero jlebon aaradhak copperi[m] 16:34:47 Current chairs: aaradhak bgilbert copperi[m] dustymabe jlebon jmarrero travier 16:35:12 #info dustymabe took the feedback from last meeting to the websites team: https://gitlab.com/fedora/websites-apps/fedora-websites/fedora-websites-3.0/-/issues/89#note_1271079731 16:35:57 #topic New Package Request: audit 16:35:59 .hello spresti 16:36:01 spresti[m]: spresti 'Steven Presti' 16:36:03 sorry I am late all! 16:36:04 #link https://github.com/coreos/fedora-coreos-tracker/issues/1362 16:36:07 #chair spresti[m] 16:36:07 Current chairs: aaradhak bgilbert copperi[m] dustymabe jlebon jmarrero spresti[m] travier 16:36:12 welcome spresti[m] 16:36:54 Will introduce this one 16:37:19 The idea is that we want to include the audit package in the system as it's a base system tool 16:37:43 The problem is that is comes with the legacy `service` command line 16:38:25 it's required for "compliance" reasons as we can not use systemd to stop/restart the audit daemon directly 16:38:44 it has to be traceable which user asked for audit to stop 16:38:46 .hello mnguyen 16:38:47 mnguyen: mnguyen 'Michael Nguyen' 16:39:46 systemctl/systemd "by-passes" that as it uses a daemon/control model that does not directly link to the user via the audit id stored in the kernel for each process and assigned on login 16:40:10 so in the end, it needs to use a legacy script to perform operation on the service 16:40:29 So we have several options to move forward: 16:41:00 The audit script already includes the legacy scripts that are run by the service command 16:41:13 /usr/libexec/initscripts/legacy-actions/auditd/restart, etc. 16:41:24 Option A: The short option is thus just to remove the service binary and man page in a post-script. 16:41:34 Option B: The long option is to rewrite those as a proper standalone script that is not correlated to the service binary. 16:41:44 Option C: Another option is to move the service binary somewhere else and include a wrapper script that only accepts auditd as an option for calls to service auditd and rejects everything else. 16:41:53 (eoi) 16:41:56 end of intro 16:42:43 ideally we'd fix the audit package itself, so not A or C 16:42:52 travier: mind if I ask.. what has changed since the last time we discussed this? 16:43:37 The last time was a while ago and there was things that needed to be removed from the package. We're now down to just this issue 16:43:44 were* things 16:44:43 maybe audit can rework the scripts so they're shipped in /usr/sbin instead and then make the service pkg a weak dep 16:44:50 Option B has the problem that we might be told to "just ship service" 16:44:50 i.e. there were some other things (like python scripts) that were removed from the package ? 16:45:10 and the docs everywhere on the net mention service as a workarond 16:45:22 not problem -> downside 16:46:49 dustymabe: yes, there were some python deps that got removed / split 16:47:00 travier: 👍 16:47:18 and the full initscript package got split into scripts & service sub packages 16:48:12 Option A isn't ideal, because we've said in the past we wanted to minimize postprocess hacking and slashing 16:48:36 so e.g. have a `/usr/sbin/auditdctl [verb]` which is called by the service wrapper to not break people who still want to use it, but could also be called directly (which we'd recommend on FCOS) 16:48:37 I think I like Option B the best, but maybe not move it somewhere else 16:48:41 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-starting_the_audit_service 16:48:57 sorry Option C 16:49:11 https://access.redhat.com/solutions/2664811 16:49:12 (given that option B is #harder) 16:49:37 If we need this fast, I would be OK with A temporarily while B is implemented. 16:50:46 *but no A if B is never gonna be implemented. 16:51:02 i advocate for option C 16:51:10 i think we should get together with the maintainer and chat about options 16:51:14 leave service binary in place but patch it to only support `audit` 16:51:55 i don't think we should do any processing FCOS-side without trying to do this in at the packaging level first 16:52:05 jlebon: agree, I should reach out to the audit maintainers to see which approach they would accept upstream 16:52:22 we're not the only ones who want to drop the dep on service 16:53:10 jlebon: I fully support engagement upstream.. but that's kind of where we were two years ago (I think it was that long) 16:53:18 and we're back here 16:53:47 dustymabe: IIUC, i think two years ago what was attempted was advocating for systemctl, which lead to no movement 16:54:28 obviously that'd still be ideal fix, but barring that, there's still room for cleaner solutions 16:54:29 i think at the time the author was open to a auditctl (some controlling utility) 16:54:37 but wasn't willing to work on it 16:54:42 which is OK 16:54:49 let me see if I can find a link 16:57:16 hmm. can't seem to find it right now 16:57:20 maybe it was in an email 16:57:50 it was likely in the service split bz 16:58:09 https://bugzilla.redhat.com/show_bug.cgi?id=1768815 maybe 16:59:35 let's move to something else 16:59:43 I'll reach out to the audit maintainer 16:59:51 travier: +1 16:59:52 travier: +1 17:00:01 i think after that discussion then we can make a decision 17:00:10 but the added (new) context will help 17:00:12 #proposed We'll reach out to the audit maintainer to try option B, while keeping option C as a backup 17:00:30 #topic Ship the shimx64 binary in the CoreOS ISO image kind/enhancement 17:00:36 #link https://github.com/coreos/fedora-coreos-tracker/issues/1413 17:00:46 cc bgilbert 17:01:14 there's a PXE use case that we don't really document 17:01:27 which is: netbooting from UEFI with Secure Boot enabled 17:01:36 (I'm not sure if that's still literally PXE but anyway) 17:02:00 it requires shim, to chain from the MS signing keys in the firmware to the Fedora keys 17:02:33 and of course, any random shim won't work. it needs to be a Fedora one with the Fedora keys 17:02:40 (unlike, say, pxelinux.0, which can come from anywhere) 17:03:07 and we don't currently provide a way to get the Fedora shim, without resorting to things like "finding the RPM" 17:03:29 for a while it was accidentally possible to extract efiboot.img from the ISO and shim from efiboot.img 17:03:56 but that was a redundant copy and we removed it. shim is still in the ISO, under the unhelpful name BOOTX64.EFI 17:04:20 (and technically there's no contract that that file is shim) 17:04:27 this is a problem :( but I wonder if it's one we can just throw a sledge hammer at rather than giving an elegant solution 17:04:38 yeah, the question is the size of the hammer 17:05:00 podman cp quay.io/fedora/fedora-coreos:stable:/path/to/shim-binary ./shim-binary 17:05:00 any of the proposed solutions aren't very much work 17:05:18 hmm 17:05:30 it's downloading a huge amount of data for a tiny piece of it 17:05:49 the furthest we could go is: add shim to the stream metadata as a fourth PXE artifact, and to the ISO image in /images/pxeboot for the same reason 17:05:56 the latter so that `coreos-installer iso extract pxe` will work 17:06:19 and the former so that `coreos-installer download -f pxe` will work, and the website will list it 17:06:56 bgilbert: yeah, that sounds ideal. that would be the solution I would go with if we had infinite resources 17:07:08 dustymabe, as you say, we could document a hack for extracting from the image. shim doesn't change very much 17:07:18 though we shouldn't discount the size of the binary (i.e. extra size in ISO) 17:07:24 shim is small 17:07:30 👍 17:07:32 the main reason I'm hesitating is user confusion 17:07:39 "what's this artifact? what should I do with it?" 17:07:52 "If you have to ask, you can't afford it" :) 17:07:56 and there might be scripts that would be confused by the installer downloading an extra thing 17:08:38 i'm not too worried about user confusion on this front, but maybe I should be 17:08:52 bgilbert: you mentioned we're already shipping it in the ISO? could we just document how to extract it from there? 17:09:14 there's multiple reasons not to document extracting it from its current path 17:09:25 I don't think it's likely that BOOTX64.efi would not be shim any time soon 17:09:26 it's inside a VFAT image file inside the ISO, and it has a generic name 17:09:36 but we could put a second copy inside the ISO directly 17:09:52 if we put it in /images/efiboot, `coreos-installer iso pxe extract` will automatically extract it 17:10:00 */images/pxeboot 17:10:33 it's 925K 17:10:51 that sounds reasonable to me 17:10:55 which? 17:10:56 ok so order of preference: 17:11:06 1. make `coreos-installer iso pxe extract` work 17:11:23 2. add to pxe artifacts so downloading pxe using coreos-installer gives you shim 17:11:29 bgilbert: putting it in /images/efiboot 17:11:44 we could always do 2. later if demand increases 17:12:10 `iso pxe extract` is "supposed" to deliver the same artifacts as `coreos-installer download -f pxe` fwiw 17:12:15 I'm not sure how important that is 17:12:32 yeah, would be nice to keep it consistent 17:12:39 so the argument for 2. is that right now users don't need the ISO at all for pxe booting, and this would change that? 17:12:46 and consistency with `coreos-installer download` 17:12:54 gotcha 17:13:06 eh, I'm not so concerned about needing the ISO to extract shim 17:13:18 it's a relatively obscure use case (though maybe it shouldn't be) and shim changes seldom 17:13:25 unlike the other artifacts, which change on every release 17:14:14 re compat, it does feel odd to constrain ourselves not to add artifacts 17:14:17 for me it's 1. - and then do 2. if you have time 17:14:32 or really - we could just document this 17:14:33 We could also have a one liner dnf download from a container to get the RPM and extract the binary from it 17:14:43 i.e. tell the users how to get shim from the RPM 17:14:56 travier: yeah 17:15:07 i think I highlighted an easier way above with my `podman cp` 17:15:20 (I should maybe mention that the original reporter actually wants this for RHCOS, so FCOS docs don't 100% solve the problem) 17:15:26 I agree that the other options are "cleaner" but are they worth it? 17:15:34 and since it changes rarely, it's a one time cost when setting up your PXE server 17:15:45 bgilbert: yeah, that's imporant - things aren't as easily accessible in that scenario 17:15:57 If we ship it as an artifacts then this adds up in storage, etc. for eveybody 17:16:09 but it's awkward to add a requirement on a new tool where before just `coreos-installer` sufficed. 1. maintains that property which is nice 17:16:15 but agree it's not much storage compared to the rest 17:16:56 bgilbert: thoughts on a #proposed here? 17:17:35 none, really. there's benefits to any of the approaches 17:17:45 anyone feel strongly about an option? 17:18:15 well - `podman cp` or `download the RPM and extract` aren't really good options for RHCOS 17:18:19 i'm ok with either 1 or documenting hacks to get it, but the UX for 1 is much nicer 17:19:02 I'm ok with 1. (and 2. being optional TBH, though consistency is nice) 17:19:09 downloading the rpm is less data but the podman example seems like most people will get right away. 17:19:09 either way we needs docs to mention this use case 17:19:33 jlebon: views on 2? 17:19:40 in the RHCOS case you already have the container image from the release image 17:19:56 well, not on your system 17:19:57 bgilbert: seems premature for now 17:20:41 maybe we do 1. and then open an issue for 2. detailing steps and rationale (and link from the code implementing 1.) - then we can implement it later if we want to 17:21:08 I'm vaguely uncomfortable with `iso extract pxe` not matching `download` 17:21:12 seems gratuitous 17:21:23 (though we could put shim elsewhere in the ISO for manual extraction) 17:21:31 `iso extract shim` :-P 17:21:35 :) 17:21:56 i'm cool with 2. too - just from my end didn't want to require it, but also cool if we as a group do decide to require it 17:23:02 bgilbert: that's an interesting idea actually. it emphasizes the fact that you shouldn't normally need this 17:23:15 yeah, it's tempting 17:23:25 jlebon: am I correct in understanding that you're not opposed to 2. - just maybe don't see the benefits of the extra effort ? 17:23:49 jlebon: I guess that depends - "you shouldn't normally need this" - are we encouraging people use secureboot or not? 17:24:03 dustymabe: that, and also whether we're ok with the messaging it implies 17:24:07 dustymabe: it's needed only for PXE Secure Boot 17:24:12 that's the thing. we "should" probably be rewriting our docs to encourage UEFI SB 17:24:31 bgilbert: in which case we'd want to encourage this workflow more? 17:24:38 yeah 17:24:58 seems like supporting arguments for making it more a part of the "normal PXE workflow" 17:25:28 indeed :) 17:25:44 maybe we should defer user-visible changes until we have draft docs 17:25:55 so we don't get ahead of our understanding of the workflow 17:26:25 bgilbert: WFM - do you have proposed next steps? 17:26:49 find someone to work on rewriting the PXE docs to add and emphasize a SB section 17:27:04 I'm not planning to work on it soon 17:27:27 and put a note in the issue to consult this discussion re ways to expose shim to users 17:27:36 ok so what should we take to the ticket? 17:27:58 should we doc a workaround in the ticket for now? 17:28:27 container extraction workaround seems fine as a workaround 17:28:36 +1 17:28:36 +1 17:28:37 first draft of the docs can use that too 17:28:54 +1 17:28:56 bgilbert: do you want to update the ticket or should I? 17:29:07 do you want it? 17:29:21 not really, but I am running the meeting so I will 17:29:26 okay, ty 17:29:29 I think this discussion was still useful to explore the option space, even if we're deferring a long-term decision 17:29:34 +1 17:29:39 * dustymabe will update the ticket 17:29:41 yeah, agreed 17:29:48 #topic open floor 17:30:30 i went to open floor because we're out of time but I do want to point out that we seem to be at a dead end for our two paths we were pursuing for https://github.com/coreos/fedora-coreos-tracker/issues/1247 (which blocks ppc64le being released in our prod streams) 17:30:59 the kernel package itself looks unlikely to change because of limitations with various possible boot firmwards for ppc64le 17:31:28 and jmarrero reported that the opportunistic cleanup in rpm-ostree is sufficiently complex that we don't want to pursue that path either 17:32:02 so I guess we're #opentoideas on next steps to take, I guess we can start to explore resizing our boot partition again 17:32:12 i was just hoping not to have to wait for that to ship ppc64le 17:32:14 "Getting petitboot updated so it can boot a gzipped vmlinux could be done, but AFAIK petitboot is mostly unmaintained these days." is sad 17:32:25 jlebon: indeed 17:32:37 maybe we should just call it a day and drop the arch altogether 17:32:56 can we drop the others too? 17:33:04 why again is this not a problem in RHCOS? 17:33:06 +1 17:33:19 jlebon: I think it is 17:33:53 https://bugzilla.redhat.com/show_bug.cgi?id=2104619 17:33:55 dustymabe: ok. so we do have to find a solution for this regardless 17:33:58 RHCOS is where we saw it initially IIRC 17:34:20 oh right, it was hacked around in the MCO 17:34:30 which... is something zincati could do too 17:34:40 cleanup the rollback before staging a new deployment 17:34:40 what's the hack? 17:35:11 yeah, that's kind of what we wanted rpm-ostree to do, but only if it was needed 17:35:12 MCO cleans up the old deployment 17:35:14 obviously the inconsistency there is not great, and it has reliability implications 17:35:43 jmarrero: does the MCO only do that on ppc64le ? 17:35:57 doing it in zincati would be worse because it increases the window between the point of no return and finding out the deployment you're on is broken 17:36:19 mmm let me dig the PR 17:36:21 jlebon: indeed - i.e. if your upgrade window isn't until the weekend - zincati stages today 17:36:47 though I guess that wouldn't help even if it was implemented in rpm-ostree would it? 17:36:57 https://github.com/openshift/machine-config-operator/pull/3243/ 17:36:58 or does this step only happen in the finalize-staged step ? 17:38:01 dustymabe: not sure i follow 17:38:12 maybe we can continue in #fedora-coreos 17:38:14 the MCO does it on all arches AFAIK 17:38:25 It happens for all Arches 17:38:44 https://github.com/openshift/machine-config-operator/pull/3243/#issuecomment-1180668694 17:38:47 i.e. if we implementing "opportunistic cleanup" in rpm-ostree (like we started to try) would that have the same problem of "staged update today but not going to reboot to apply until saturday" 17:39:31 * dustymabe closes this meeting soon and we'll head over to #fedora-coreos to discuss more 17:39:34 I think we need to consider the "increase" /boot option 17:39:42 travier: yeah 17:39:49 dustymabe: yeah let's chat there :) 17:39:54 #endmeeting