16:31:14 #startmeeting fedora_coreos_meeting 16:31:14 Meeting started Wed May 6 16:31:14 2020 UTC. 16:31:14 This meeting is logged and archived in a public location. 16:31:14 The chair is dustymabe. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:31:14 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:31:14 The meeting name has been set to 'fedora_coreos_meeting' 16:31:20 #topic roll call 16:31:23 .hello2 16:31:24 cyberpear: cyberpear 'James Cassell' 16:31:27 .hello2 16:31:30 dustymabe: dustymabe 'Dusty Mabe' 16:31:56 .hello2 16:32:00 jlebon: jlebon 'None' 16:32:04 .hello sohank2602 16:32:05 skunkerk: sohank2602 'Sohan Kunkerkar' 16:32:26 .hello2 16:32:27 lucab: lucab 'Luca Bruno' 16:34:04 #chair cyberpear skunkerk lucab jlebon 16:34:04 Current chairs: cyberpear dustymabe jlebon lucab skunkerk 16:34:41 #topic Action items from last meeting 16:34:51 no action items from last meeting \o/ 16:35:04 #topic agenda for this meeting 16:35:36 #info if you'd like to bring up things to discuss in these meetings please add a `meeting` label to the ticket or add a comment to an issue to ask a meeting label be added to the ticket 16:35:37 new ignition release to unblock OKD (spec3 doesn't work OpenStack; spec2 does) 16:35:55 #link https://github.com/coreos/fedora-coreos-tracker/issues 16:36:00 (if that's the correct thing that's blocking; I think it is) 16:36:07 .hello2 16:36:07 bgilbert: bgilbert 'Benjamin Gilbert' 16:36:27 if we're proposing meeting topics, I'd like to discuss https://github.com/coreos/fcct/issues/76#issuecomment-624448723 if we have time 16:36:37 bgilbert: +1 16:36:45 jlebon: did we want to bring up https://github.com/coreos/fedora-coreos-tracker/issues/390 ? 16:37:02 dustymabe: yeah, let's do that 16:37:11 walters: FYI ^^ 16:37:22 cyberpear: is there an issue associated with your proposed topic ? 16:38:09 https://github.com/openshift/okd/issues/127 I think 16:39:20 ok one sec while I put things together 16:39:49 #topic [next] auto-updates are disabled on 32.20200416.1.0 16:39:55 #link https://github.com/coreos/fedora-coreos-tracker/issues/473 16:40:00 this is an FYI topic 16:40:37 #info if you are currently running the next stream you will need to manually change a setting to enable auto updates. Workaround provided in https://github.com/coreos/fedora-coreos-tracker/issues/473#issuecomment-623817298 16:41:08 I have proposed text for a coreos-status mailing list post: details in: https://github.com/coreos/fedora-coreos-tracker/issues/473#issuecomment-623837085 16:41:43 dustymabe: are you looking for proposed edits? where should they go? 16:41:46 that hackmd is read-only to me 16:42:19 bgilbert: yeah looking for proposed edits, though I don't think hackmd has a good suggestion/comment ability 16:43:00 I can open it up for edits but would kind of like to control it a bit since the communication will come from me 16:43:02 sure 16:43:14 maybe just add suggestions on a separate line with your name in front of it 16:43:31 +1 16:43:46 ok it should be editable now 16:44:13 shall we move on to the next topic ? 16:44:47 dustymabe: draft text looks good, I would move command inline at the bottom 16:45:13 lucab: you mean the workaround commands ? 16:45:24 dustymabe: yep 16:45:39 ok yeah let's chat after meeting and I can see about doing that 16:45:46 #topic new ignition feature needed for Openstack+OKD 16:45:48 #link https://github.com/openshift/okd/issues/127 16:45:56 cyberpear: this is you 16:46:19 I just submitted Ignition 2.3.0 builds to koji 16:46:39 https://github.com/coreos/ignition/issues/973 16:46:44 cyberpear: is the only problem here just getting a new ignition version? 16:46:46 great! 16:47:15 yeah, then some FCOS with it included 16:47:36 cool.. looks like it's already in progress then 16:47:42 👍 16:48:02 thanks! that's all from me 16:48:13 #info new ignition 2.3.0 has been released and is in the process of being added to FCOS for the next round of releases 16:48:38 and when I say `next` I mean the one in 2 weeks 16:48:46 👍 16:48:50 but will be in testing devel sooner than that 16:49:00 well that one was easy.. thanks cyberpear bgilbert 16:49:16 cyberpear++ 16:49:19 bgilbert++ 16:49:19 dustymabe: Karma for bgilbert changed to 1 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 16:49:24 #topic filetranspiler in fcct 16:49:26 #link https://github.com/coreos/fcct/issues/76#issuecomment-624448723 16:49:42 bgilbert++ 16:49:42 cyberpear: Karma for bgilbert changed to 2 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 16:50:21 that comment link is a proposal that I wanted to get people's thoughts on 16:50:40 walters ^ 16:50:44 bgilbert: what does "relative to files-dir" mean? 16:50:50 how many LOC does it add? 16:51:09 cyberpear: not that many, I suspect 16:51:17 jlebon: -d/--files-dir is added as part of https://github.com/coreos/fcct/pull/99 16:51:33 it's a command-line arg giving the root for file inclusions 16:51:37 MachineConfig vs Ignition is also interesting. are they the same? 16:52:00 ahh gotcha 16:52:02 cyberpear: out of scope for fcct, unfortunately, as is Ignition spec 2 support 16:52:22 jlebon: it's off by default, so users don't inadvertently leak information from the host running fcct 16:52:23 except MC happens after the fact? 16:52:39 gonna defer to someone else on the MC questions :-) 16:52:51 bgilbert: right yeah, makes sense 16:53:02 so the question is, does the proposal seem to meet the need 16:53:18 I'd like to stabilize FCC spec 1.1.0 soon for Ignition spec 3.1.0 16:53:22 bgilbert: seems like it to me 16:53:27 and it might make sense to include this 16:53:36 yup, looks like a good proposal to me! 16:53:53 bgilbert: one possible added feature 16:54:16 add an option for fcct to generate an single fcct file given a tree 16:54:39 previously fcct configs were contained within a single file 16:54:51 this will enable them to be defined by a file+environment 16:54:58 dustymabe: I don't follow 16:55:18 the idea here is that a tree is included by some (as few as 2) lines in an existing FCC 16:55:27 bgilbert: correct 16:55:55 is the proposal to have fcct generate the FCC? 16:56:11 i think what I'm proposing is that we have the ability to distill the fcct back into a single file (for sharing) 16:57:06 not a big deal, we can discuss further in the ticket 16:57:09 and the single file would be an FCC rather than Ignition config? 16:57:13 bgilbert: right 16:57:22 that... would be a significant change to how fcct works 16:57:44 ahh ok. we can discuss that as a future feature then 16:57:52 +1 16:57:58 next topic 16:58:11 sharing via "fcct in git repo" seems like a better thing to encourage 16:58:27 #topic 16:58:29 #link https://github.com/coreos/fedora-coreos-tracker/issues/390 16:58:38 jlebon: want to take this one? 16:58:57 yup, sure 16:59:01 #topic Publish the initrd and rootfs images separately for PXE booting 16:59:08 #link https://github.com/coreos/fedora-coreos-tracker/issues/390 16:59:11 #link https://github.com/coreos/fedora-coreos-tracker/issues/390 16:59:41 so last time we talked about this, we kinda left it at a point where more investigation was needed to try to get to the bottom of the slowdown issues 16:59:54 thanks bgilbert - sorry my copy/paste failed me on that one 17:00:02 +1 17:00:31 and while we don't have as much detailed information as i would've liked on that problem, it seems like more and more people are hitting it 17:01:12 relatedly, walters has a proposal in https://github.com/coreos/fedora-coreos-tracker/issues/390 to change how the live ISO is implemented 17:02:16 those are somewhat independent, but it's good to think about the live issues together since they do share some common problems 17:02:58 can we get a quick summary of what the options are? 17:03:39 it's essentially (1) do we provide the rootfs as a separate artifact, and if so, (2) what kind of artifact is it exactly and how is it plumbed into FCOS 17:04:15 there are options for (2), but seems like we should decide on (1) first 17:04:39 if we don't provide the rootfs as a separate artifact it implies keeping it embedded in the initramfs? 17:04:40 basically, fetching stuff in the PXE stage is slow, but having the initrd do it is much faster 17:05:43 dustymabe: i suppose so, but not necessarily. one could imagine providing a tool that rebuilds it from one of our other artifacts (not saying we want that of course) 17:05:47 (why exactly eludes me, but apparently it's common between ipxe and traditional TFTP) 17:06:01 jlebon: right 17:06:15 so it's almost like 1 and 2 *could* be independent then 17:06:33 so maybe let's discuss 2 first 17:07:16 what are those options for (2) that are on the table? 17:07:48 well, the main problem we're trying to solve is slow boot speeds, and that won't be resolved unless we shrink the initrd, which does imply a second artifact or pointer of some kind 17:07:59 right, so 17:08:13 some things we discussed were: 17:08:27 - just publish the rootfs as a cpio 17:08:38 i should label these 17:08:42 (a) just publish the rootfs as a cpio 17:09:19 (b) keep publishing the fat initrd, but provide a tool to split out the rootfs 17:09:48 (c) related to the above, just publish the offset at which to split the fat initrd 17:10:22 (d) publish the rootfs as a squashfs 17:10:35 b and c imply a "stage2" mechanism, correct? a could imply a stage2 depending on how we required people to use it 17:11:09 right, all 4 options require a stage2 mechanism to solve the slow boot problem 17:11:42 the advantage of (a) is that it's more similar to what we're already doing 17:12:06 see https://github.com/coreos/fedora-coreos-tracker/issues/390#issuecomment-588323611 -- a PXE config could just provide multiple initrds to keep the status quo 17:12:09 is (a) the rootfs squashfs inside a cpio archive ? 17:12:22 right 17:12:43 so (a) (b) and (c) all are basically getting to the same end point, just different ways to do it 17:13:00 (d) is publishing the squashfs (not in cpio archive) 17:13:26 right, yup. in which case, you'd feed it as a stage2 karg or something 17:13:40 it's also easier to understand what the heck it is as an artifact 17:13:52 right 17:14:17 so at a highlevel we can ask ourselves: "do we prefer squashfs in cpio, or just squashfs?" 17:14:33 the negative is that combinding initrds in PXE won't work any longer if we go away from cpio 17:15:26 any opinions here? 17:16:06 there's also this related ticket: https://github.com/coreos/fedora-coreos-tracker/issues/399 17:16:21 (about factory reset capabilities) 17:16:56 from a UX perspective I like publishing it as a cpio archive 17:17:00 from a code perspective it's messier 17:17:56 right, UX wise I prefer (a) as well. it just seems slightly odd to publish as an artifact. but meh... 17:18:22 I'd avoid the extra layer without significant benefit 17:18:25 (a) gives us the opportunity to decide later what we want to do about (1) 17:18:45 cyberpear: the benefit is that we're not forcing anyone to use the karg indirection 17:18:54 fair enough 17:19:05 since (a) (b) and (c) are all rootfs.squashfs.cpio 17:19:30 though if we provide just rootfs.squashfs - could we possibly use that for other things in the future related to osmet ? 17:20:10 I suppose any tool could learn to unpack first; not sure what the RAM impact is 17:20:28 OTOH, it's not hard to take a squashfs and wrap it into a CPIO 17:20:54 but there are semantics there that would have to be taught, like what filename it should be 17:21:08 jlebon, the cpio tool is mildly painful 17:21:27 if we think about this from a "no manual steps" perspective I think (a) wins 17:21:48 since our build tools automate creating the root.squashfs.cpio and our stage2 code would automate unpacking it 17:22:24 for (b) the manual step would be if a PXE user wanted to keep existing functionality and combine initrds using PXE 17:22:31 cyberpear: that's a good point re. RAM usage. cpio is streaming, so we should be able to pipe it through without downloading upfront 17:22:32 sorry for (d) 17:23:36 right, yeah 17:23:48 ok should I summarize? 17:24:00 or are there any other points to be made? 17:24:30 yup, go ahead 17:24:42 given streaming, probably fine w CPIO for downloads, and with ISO, it's also not loaded twice? 17:25:41 In order to solve the problem related to "slow PXE" we think it would be best to provide a mechanism to load the rootfs via a CPIO archive that is optionally fetched via HTTPS in the initramfs. 17:26:00 We haven't yet made a decision about how the user gets that CPIO archive 17:26:31 or maybe it's implied that we'll be shipping a "thin" initramfs from this point forward 17:27:02 basically the above statements says "we need to support a stage2 mechanism" 17:27:35 the question is whether we're ok breaking existing setups that rely on the fat initrd and have them tweak their PXE configs 17:27:40 "we need to support a stage2 mechanism that loads a rootfs.squashfs.cpio" 17:27:55 (and IMO, yes i think it's acceptable) 17:28:09 right, i think we're agreed we need a stage2 17:28:12 jlebon: I think I'm OK with it given appropriate communication to the community 17:28:51 the nice thing is the new proposal still gives them an opportunity to have the same behavior by specifying two initrds 17:28:59 so... let's just agree on stopping to ship the fat initrd and starting to ship the base initrd + the rootfs cpio? 17:29:25 +1 - and the ISO will include the rootfs.squashfs.cpio 17:29:30 do we need to deprecate the old path and maybe add a sleep(60) and some visible logs for a bit? 17:29:56 at the minimum, we'll need to ratchet cosa 17:30:02 is there a way to deprecate the old path? 17:30:20 maybe start this only in `next`, then `testing`, then `stable`, with a coreos-status post warning people 17:30:28 from the booted system, there's no discernable difference between one or two initrds 17:30:42 well 17:31:02 ratcheting cosa makes sense as a general rule, but I think we also need to start using tagged releases or so for stable FCOS builds 17:31:06 i guess we could change the location of the rootfs to tell them apart? 17:31:13 walters: sure, fair enough 17:31:22 walters: +1 17:31:24 yeah, we definitely need that 17:31:33 https://github.com/coreos/fedora-coreos-streams/issues/64 17:32:06 and an explicit failure msg with instructions if we can't find the rootfs 17:33:01 #proposed In order to solve the problem related to "slow PXE" we think it would be best to provide a "stage2" mechanism to load the rootfs via a CPIO archive that is optionally fetched via HTTPS in the initramfs. We will now split the current "fat" initramfs into an initrd+ rootfs.squashfs.cpio that can be used. 17:33:19 +1 17:33:33 +1 17:33:34 oh, also, we should consider version-locking the rootfs 17:33:35 slight edit "into two artifacts" 17:33:47 +1 17:33:54 though I guess the initrd might not know the FCOS version 17:34:13 re. the ISO, thoughts on just having it use the same stage2 mechanism? that way, it ships the cpio too, and users can explode it and re-use it as is for PXE 17:34:30 jlebon: yeah except the stage2 just finds an existing file 17:34:38 exactly 17:34:43 that would be my desire 17:34:45 I'm not wild about encouraging users to disassemble the ISO, but sure 17:35:05 any other ack/nack on the #proposed? 17:35:13 walters: how does the proposal sound? 17:35:22 bgilbert: isn't that a common pattern though? 17:35:38 jlebon: it is at least in RH land.. maybe not outside 17:35:45 jlebon: I sure hope not 17:35:56 ahhh sure /me takes off RH-coloured glasses 17:36:14 dustymabe: SGTM, I had already commented in the ticket with that I think 17:36:16 certainly common to mount an ISO for both pxe and repos access 17:36:30 bgilbert: for example here is what I would often do in the past https://dustymabe.com/2019/01/04/easy-pxe-boot-testing-with-only-http-using-ipxe-and-libvirt/ 17:36:44 i.e. grab the ISO. copy files out, serve PXE from there 17:36:51 yeah, I know it's a thing. on s390x apparently that assumption is baked in pretty deeply 17:37:02 but I don't think we should encourage for FCOS 17:37:21 #agreed In order to solve the problem related to "slow PXE" we think it would be best to provide a "stage2" mechanism to load the rootfs via a CPIO archive that is optionally fetched via HTTPS in the initramfs. We will now split the current "fat" initramfs into two artifacts (an initrd + a rootfs.squashfs.cpio) that can be used. 17:37:27 constrains the ISO implementation too much 17:37:30 i think part of this is that for RHEL the "download gigantic DVD with everything" is convenient for mirroring , which covers not just PXE but also other stuff like GCC 17:37:47 #topic open floor 17:37:50 (veering slightly offtopic I have been thinking about doing something similar for OpenShift that includes the release image containers etc.) 17:37:52 sorry for going over time today (again) 17:37:55 related to this is https://github.com/coreos/fedora-coreos-tracker/issues/221 17:38:15 now that F32 is out, should we start signing new upstream release artifacts with the F32 key? 17:38:17 ignition-validate etc. 17:38:23 i think the mirroring concern is less for FCOS because there's no subscription gate 17:38:24 bgilbert: yep 17:38:44 yup, makes sense 17:38:46 +1 17:39:17 any other topics for open floor ? 17:39:50 #endmeeting