16:31:37 #startmeeting fedora_coreos_meeting 16:31:37 Meeting started Wed Jun 24 16:31:37 2020 UTC. 16:31:37 This meeting is logged and archived in a public location. 16:31:37 The chair is bgilbert. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:31:37 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:31:37 The meeting name has been set to 'fedora_coreos_meeting' 16:31:44 #topic roll call 16:31:47 .hello2 16:31:48 bgilbert: bgilbert 'Benjamin Gilbert' 16:31:49 .hello2 16:31:51 dustymabe: dustymabe 'Dusty Mabe' 16:31:59 .chair dustymabe 16:31:59 dustymabe is seated in a chair with a nice view of a placid lake, unsuspecting that another chair is about to be slammed into them. 16:32:00 .hello2 16:32:02 cyberpear: cyberpear 'James Cassell' 16:32:05 whoops, sorry :-D 16:32:09 :) 16:32:11 #chair dustymabe cyberpear 16:32:11 Current chairs: bgilbert cyberpear dustymabe 16:32:31 .hello2 16:32:32 darkmuggle: darkmuggle 'None' 16:32:32 .hello2 16:32:34 jlebon: jlebon 'None' 16:32:44 .hello sohank2602 16:32:45 skunkerk: sohank2602 'Sohan Kunkerkar' 16:32:56 .hello2 16:32:57 lucab: lucab 'Luca Bruno' 16:33:16 .hello 16:33:16 davdunc: (hello ) -- Alias for "hellomynameis $1". 16:33:22 .hello davdunc 16:33:22 davdunc: davdunc 'David Duncan' 16:34:23 #chair darkmuggle jlebon skunkerk lucab davdunc 16:34:23 Current chairs: bgilbert cyberpear darkmuggle davdunc dustymabe jlebon lucab skunkerk 16:35:03 #topic Action items from last meeting 16:35:18 * jlebon to open an RFE in upstream RPM for supporting runtime Lua 16:35:20 scriptlets 16:35:41 jlebon: do you have that link handy? 16:36:14 https://github.com/rpm-software-management/rpm/issues/1273 16:36:43 #info upstream RFE for RPM supporting runtime LUA scriptlets https://github.com/rpm-software-management/rpm/issues/1273 16:36:58 there's some possible APIs we could expand on which would make this easier than initially thought. though waiting for feedback from maintainers 16:37:25 #topic network interface name differs between Fedora CoreOS and RedHat CoreOS 16:37:31 #link https://github.com/coreos/fedora-coreos-tracker/issues/484 16:38:23 so far I put up the two PRs and tested them in isolation 16:38:33 +1 16:38:35 * cverna waives 16:38:48 oh hai cverna 👋 16:38:49 tomorrow I'm planning to figure out how to test the upgrade path 16:38:51 #chair cverna 16:38:51 Current chairs: bgilbert cverna cyberpear darkmuggle davdunc dustymabe jlebon lucab skunkerk 16:39:28 .hello2 jdoss 16:39:29 jdoss: jdoss 'Joe Doss' 16:39:55 a brief summary of the issue is that we're going to change the default NIC naming from what currently happens on FCOS 16:40:14 i.e., a breaking change :( 16:40:25 but the plan is to leave existing systems with the current behavior 16:40:48 and have newly installed systems get the new behavior 16:41:26 in order to keep the existing behavior for existing systems we are going to create a barrier release that all upgrades must pass through 16:41:52 in that release we'll run a script that adds a karg to net.ifnames=0 to keep the current behavior 16:42:03 (ideally it'd behave as if the existing systems had explicitly opted-in to the old naming scheme, via ignition) 16:42:13 is this for all systems, or just metal? 16:42:25 cyberpear: all 16:42:48 (I think most cloud images use net.ifnames=0) 16:43:11 and you cannot really opt-in to that via Ignition, as that logic happens before Ignition 16:43:59 other than that, I have to start drafting an email with the details of what we plan to do 16:44:12 lucab: we probably should consider how to make it easy for people who want to stay on the old scheme even for new installs of new releases 16:44:40 dustymabe: I disagree on that 16:45:12 what part? 16:45:49 in my experience, "predictable" is unpredictable when you get slightly different virtual hardware 16:45:51 making it easy to get the old behavior for new installs 16:46:05 why? 16:46:14 can't they just `rpm-ostree kargs --append=net.ifnames=0` and reboot? 16:46:21 but if there's only one interface, it's always eth0 with the net.ifnames=0 16:46:50 sure it won't be right on the first boot, and it costs a reboot, but it should work fine otherwise 16:46:52 jlebon: they can, right - but it's not great. /me wishes we had the kargs via ignition thing worked out 16:47:09 jlebon does that work? I thought it had to be set only on first boot 16:47:23 because sure, you can do all the customization you want, but then you get a very fragile pet node which is more likely to break on updates 16:47:51 as long as it was sent by ignition, it's not a pet 16:47:58 cyberpear: hmm, i'd think so but i didn't test it. will let lucab answer that 16:48:09 +1 to not encouraging this particular customization 16:49:03 the "network as kargs" path is already messy as it is, I wouldn't encourage more variations 16:49:11 I think as a user I'd be a little upset if there wasn't at least some published way to "go back" to the way it was before the breaking change 16:50:29 now - could we say that we really discourage it in the steps.. sure 16:51:38 anywho let's talk about timelines 16:52:23 OKD is trying to do a GA in mid july so it would be nice if we have this change in before that so OKD doesn't have to deal with migrating users either 16:52:29 dustymabe: I mean, the old way was a bug 16:53:22 bgilbert: or a feature? I mean the option exists on the command line for a reason. So we either disable anyone making karg changes or we accept that some people are going to make them 16:53:25 FWIW, i just tried this locally and it works fine to specify net.ifnames=0 even with the 99-default.link in place 16:53:42 and it happily switched from systemd naming to eth0 on reboot 16:53:45 honestly I would encourage people to change to cgroups v2 right now so that we get a little more info on if it works good or not before we switch over 16:54:02 which is a karg change they'd need to make 16:54:18 dustymabe: oh, sure, if they want to change kargs using existing mechanisms, +1. but I don't think we should e.g. add extra sugar. 16:54:33 right, i'm just saying we should publish the steps 16:54:42 sure 16:54:51 and added a side note about how I wish we did have sugar for kargs in general (via ignition) 16:54:57 +1 16:54:58 cool I think we're on the same page 16:55:07 so, next week we have a triple release 16:55:08 ok here is a tentative timeline i sketched out 16:55:17 [This week] 16:55:19 - coreos-status post about changes incoming 16:55:21 - roll new testing with fixup script to add net.ifnames=0 (barrier release) 16:55:23 [Next week - approx June 30] 16:55:25 - roll out stable with fixup script to add net.ifnames=0 (barrier release) 16:55:28 - roll out new testing with change to use persistent NIC naming 16:55:29 [3 weeks - approx July 14] 16:55:31 - roll out stable with change to use persistent NIC naming 16:56:50 it looks fine on the surface 16:56:51 seems reasonable to me 16:57:13 so it means we do testing+next this week 16:57:33 lucab: right - we would have to to meet the short window we're aiming at 16:57:40 then we promote to stable next week 16:57:43 the more time in `testing` the better IMHO 16:58:01 correct - we promote the barrier release to stable next week 16:58:34 more time in testing for the pinning script PR or for the new naming PR? 16:59:06 pinning script should be fine with a short amount of time in testing 16:59:10 it either works or it doesn't I guess 16:59:56 we could do the releases next week a bit later in that week to give more bake time to legacy script 17:00:29 I prefer Dusty's approach 17:00:38 #proposed the tentative schedule is to release a barrier stable release next week to convert existing systems to using net.ifnames=0 via karg and then in the following stable release (july 14) deliver the change that will cause NIC naming to get corrected to the desired behavior 17:01:22 lucab: it's the same approach, just delaying the next week one to wednesday or whatever 17:01:45 jlebon: yes sorry, I mean his timeline 17:01:49 yep `approx June 30` is approximate - if we delay a day or two it's OK 17:02:20 ack/nack? 17:02:24 ack 17:02:33 * Guest24063 lurks - sorry I'm late :) 17:02:58 we should try to be a bit more surgical than usual and not bundle a lot of bumps&changes into these releases 17:03:10 ack on the proposed timeline 17:03:11 hi Guest24063 - do you usually go by `Guest24063` ? 17:03:57 speaking of bumps/changes i think the "don't bring up networking in initramfs if not needed" stuff should be landing somewhere 17:04:18 is that correct? 17:04:38 #chair lorbus 17:04:38 Current chairs: bgilbert cverna cyberpear darkmuggle davdunc dustymabe jlebon lorbus lucab skunkerk 17:05:07 it's that time of the again that the IRC bridge forgot my pw :D 17:05:20 thanks for the reminder :) 17:05:22 dustymabe: I believe that needs an Ignition release? 17:05:35 #agreed the tentative schedule is to release a barrier stable release next week to convert existing systems to using net.ifnames=0 via karg and then in the following stable release (july 14) deliver the change that will cause NIC naming to get corrected to the desired behavior 17:06:04 bgilbert: ahh k 17:06:04 awesome^ :) 17:06:07 yes, needs an Ignition respin 17:06:20 #topic Release notes 17:06:27 #link https://github.com/coreos/fedora-coreos-tracker/issues/194 17:06:36 I think last time we said we wanted to start breaching this topic 17:06:47 * dustymabe reads issue to see where we are 17:07:36 i had a suggestion in https://github.com/coreos/fedora-coreos-tracker/issues/194#issuecomment-606687194 on one way to start 17:07:42 but it's not fully fleshed out 17:08:07 the package set and diff webpages are great BTW 17:08:16 abai__++ 17:08:21 allen has done some amazing work 17:08:51 jlebon: so in your suggestion we would keep it in the configs github repo 17:08:58 yeah, the website is looking really good now! 17:09:00 and just source that content on web page load 17:09:25 i think it'd end up in the stream metadata 17:09:28 jlebon: I like the -config repo approach but I'm a bit worried about continuous conflicts on the same file 17:10:29 lucab: it's a risk. not sure how much we'll write in there in practice 17:10:54 i actually think I like it in a repo backed by git 17:11:00 what about a `changenotes.d`? 17:11:10 honestly sometimes we find out relevant information 'AFTER' we do a release 17:11:24 and being able to update that info on the fly without having to re-run tooling would be nice 17:12:02 so you want getfedora.org to fetch from github.com? 17:12:24 not sure if that would work with CORS protection 17:12:26 jlebon: maybe - in the worst case github doesn't respond and the page just looks like it does now 17:12:54 my gut feeling is that I prefer it in the metadata 17:13:20 it could be a separate metadata which the stream metadata points to, so that we can update it more easily post-release if needed 17:13:48 :) - i'm starting to run out of fingers to count the number of metadatas we have 17:14:08 dustymabe: buy more fingers! 17:14:18 lucab: maybe you could lend me a hand :) 17:14:28 i think having it as part of the stream metadata to start is fine 17:14:40 in general I think let's just sprint to getting something - anything 17:14:48 let's not make it more complicated until we need it 17:15:09 anyone want to list out or take any action items here? 17:15:22 stream metadata only covers the current tip of a stream though, no? 17:16:02 sigh, yes you're right. so release metadata it is :) 17:16:20 how is the release metadata generated ? 17:16:32 that's fine for our tooling, but release metadata isn't really public 17:16:34 by coreos-meta-translator 17:16:35 could the "generator" just look at a file backed in the config repo? 17:17:16 the config commit used is in the meta.json 17:17:32 so yes :) 17:17:58 honestly I think it would be easier if it was just a yaml file on tip of the branch 17:18:23 so don't worry about commits, just look at latest yaml file, find version that matches this release and use that set of text 17:18:47 `latest yaml file in $branch` 17:19:06 maybe we have a CI hook that JSONifies it and copies to the bucket? 17:19:24 but we don't know the version till way later in the release process 17:19:35 lucab: right so we can update it at any time 17:19:42 new PR 17:20:08 ah uhm 17:20:11 hmm 17:20:25 so the flow is that we can only retrofit changenotes 17:20:38 we'd still update it before we did the release 17:21:00 but yes, because we rely on the versionary.py to set the version we'd need to wait 17:21:13 we could have a separate fedora-coreos-release-notes repo 17:21:31 but i'm not in love with that either 17:21:57 I like keeping it in -config 17:22:01 k 17:22:14 having it be in a single file at the tip definitely has advantages. it's useful for users and us to grep through later on to find out when things happened 17:22:22 yep 17:22:39 what about having snippets in a .d directory, and then using git history to only include the ones that have been committed after the parent of this release? 17:23:10 lucab: that would help us write release notes as we go 17:23:33 but I see that as an improvement on what we're currently discussing 17:23:34 lucab: could also have an "unreleased" snippet (or block in a monolithic file) that gets versioned once we have a version 17:23:50 like how dch handles debian changelogs 17:23:53 +1 17:24:31 * dustymabe notes time 17:24:34 honestly, all the repos where I have to rebase PRs to fix changelog conflicts are a bit painful 17:24:38 hmm the .d directory avoids the awkward unreleased thing and retro-fitting the version 17:25:09 maybe let's discuss in the ticket? 17:25:28 sure - i'll tru to summarize 17:25:31 jlebon: because it's decoupled from the version 17:25:46 lucab: right, exactly 17:25:48 I think we settled on at least using tip of each prod stream in the -configs repo 17:25:53 it's also similar to how our lockfiles work 17:26:14 dustymabe: I'd say so yes 17:26:18 cool 17:26:23 ok moving to open floor soon 17:26:40 the only point I'm not totally sold is "retro-editing changenotes" 17:27:08 lucab: FWIW I've long wanted the ability to edit CL release notes after release 17:27:15 to maintain a "bugs added" section 17:27:16 bgilbert++ 17:27:54 i don't think those two things are incompatible. we can figure something out 17:27:59 an "on by the way systemd got bumped in this release and happened to break foo bar baz in a way we didn't discover until $now" 17:28:07 eh, but at the same time you don't want an unbound system where doing a release today has to take care of release artifacts/docs from 5 years ago 17:28:07 s/on/oh 17:28:18 lucab: it'd be best-effort 17:28:27 oh, you mean mechanically 17:28:30 right I think we only do it where it helps us 17:28:47 no I mean the technical part, not the human updating the notes 17:28:51 right 17:29:19 honestly we should be able to trim the release notes periodicially - git history would have the rest 17:29:37 the website should only show X number of old releases anyway 17:29:52 either we directly point to the live source, or I don't see that working through a publishing/processing mechanism 17:30:09 let's discuss more in the ticket 17:30:13 #topic open floor 17:30:24 sorry for always leaving 0 time for open floor 17:30:35 anybody with items for today? 17:30:36 going to land https://github.com/coreos/ssh-key-dir in FCOS testing-devel soon 17:30:58 bgilbert: I had a question about that - is that implementation and the one we're pursuing upstream similar ? 17:31:02 so there can be arbitrary fragments ~/.ssh/authorized_keys.d, not just .../{ignition,afterburn} 17:31:14 dustymabe: AFAIK 17:31:33 I know lucab is excluding dotfiles, which I think is the only relevant special case 17:31:39 so if/when openssh ever adopts it then we could just drop ssh-key-dir at the same time we update openssh 17:31:40 I've reworked https://github.com/openssh/openssh-portable/pull/70 while at it, but I don't really expect any movement soon 17:31:54 actually, hmm, the permission checks are slightly different 17:32:05 bgilbert: can you have multiple AuthorizedKeysCommand's? 17:32:07 so in a corner case, yes, we could lock someone out 17:32:23 cyberpear: no. there's an open issue for ssh-key-dir to support chaining 17:32:24 the upstream logic is not set in stone either 17:32:34 https://github.com/coreos/ssh-key-dir/issues/10 17:32:41 cool - as long as we try to handle the "succession" case 17:32:51 where ssh-key-dir is now obsolete 17:32:53 right 17:33:04 (the .keysCommand is good for having a domain-joined machine get the keys from domain) 17:33:34 cyberpear: that's potentially an exciting failure mode 17:33:47 if someone already has an AuthorizedKeysCommand, the upgrade locks someone out 17:33:55 yeah, that'd be fun 17:33:56 either their domain keys, or Ignition-provisioned keys 17:34:15 `single` for the win! 17:34:18 it's more secure that way, you are supposed to SSH into cattle nodes anyway ;) 17:34:25 *are not 17:34:43 :) 17:34:49 well, there's security, then there's compliance 17:34:57 * dustymabe will close out the meeting in 60 seconds unless there are more open floor topics 17:34:59 compliance would say that "central auth" is the only way :P 17:35:28 cyberpear: we generally don't have any compliance 17:35:42 who's "we" -- our end users will 17:35:45 .oO(is an open floor still open if it gets closed) 17:35:59 i.e., this isn't the only case where some compliance standard gets confused by FCOS 17:36:26 #endmeeting