On Tue, Aug 27, 2019 at 8:30 AM Josh Boyer jwboyer@fedoraproject.org wrote:
On Tue, Aug 27, 2019 at 8:10 AM Neal Gompa ngompa13@gmail.com wrote:
On Tue, Aug 27, 2019 at 7:41 AM Josh Boyer jwboyer@fedoraproject.org wrote:
On Tue, Aug 27, 2019 at 7:19 AM Neal Gompa ngompa13@gmail.com wrote:
On Tue, Aug 27, 2019 at 5:55 AM jkonecny@redhat.com wrote:
On Mon, 2019-08-26 at 23:54 -0400, Neal Gompa wrote:
On Mon, Aug 26, 2019 at 7:16 AM jkonecny@redhat.com wrote: > > I understand them. The point is, for them and even us (the > installer) > is work on BTRFS not a priority. It's something we can't benefit on > RHEL and it could be almost completely replaced by LVM + xfs > solution. > However, it still giving us bugs and making our test surface > bigger. > > > From the Anaconda team PoV it would make our lives easier to not > support BTRFS at all. I'm not saying that we should drop BTRFS in > Fedora, only that it would be easier for Anaconda team to be > without > that on Fedora.
This is flat-out a trap. This is what makes Anaconda such a failure as a community project. Why does the past (RHEL) affect the present and future (Fedora)? There's basically no way whatsoever to make anything better with this logic. The Anaconda releases that any improvements would be going into aren't even landing into the RHEL 8 branch that governs the latest iteration of Fedora's past. From any reasonable person's perspective, this answer makes no sense unless you're using RHEL as an excuse to not support Fedora.
RHEL is not the past. Everything we do we have to think that it will go to RHEL and if it is Fedora specific we have to create a way to disable the functionality for another RHEL branching. And yes, we have a few things (not only a BTRFS) specific to Fedora the same way as a few things specific to RHEL which are disabled on Fedora.
And as I wrote before, I'm not saying that we will remove the BTRFS support from Fedora. The point is that making the list specific to releases smaller will make our live easier.
By definition, RHEL *is* the past from a Fedora context. It's forked from an old version of Fedora that's not supported anymore. It is the result of decisions that aren't supposed to apply to Fedora. And it is the result of a different bias that should never apply to Fedora if the RH ecosystem is supposed to be able to evolve.
There is always the *next* RHEL. Or, if you want to remove a product context, the next enterprise operating system derived from Fedora. RHEL/enterprise is both past and future and Fedora focuses on the future. You cannot dismiss enterprise as a target by waiving it away as "past".
Until there's a branch in Anaconda's git for the next version of RHEL, it doesn't exist yet. I'm sure people are *thinking* about it, but it's obviously on the back burner for a little while. I would expect to start to see a rhel-9 branch in Anaconda in 1.5 years, but for now it doesn't exist.
In 1.5 years is entirely too late. Massively so. I know people think we're paying lip-service to upstream when discussing Fedora and RHEL, but even with a terrible "import once" model the code being developed in Fedora right now will materially land in RHEL 9. Your presumption on a branch needing to exist is simply incorrect.
For us non RH people, there's nothing for us to do about RHEL 9 right now. Your planning is done in secret, and there's little to no community feedback loop for RHEL.next. I agree that in ordinary circumstances, it's too late once the branch has happened, because usually that means it's the stabilizing phase. But there's nothing I can do before then.
From the way you describe it, Fedora is just something occasionally give lip service to while your main focus is RHEL. That's fine, but that is a problem for the Fedora context.
Neal, I don't understand. The source code to anaconda is available. What is preventing you from taking it and making a micro-fork that does better btrfs enablement, and packaging that in Fedora and using it in a spin?
I have seriously contemplated it. It isn't the first time I've done a fork because I had to[1].
But the main reason I don't do it is because it will cause more damage in the Fedora community by doing so. Two sets of packages for Anaconda that all the things that depend on Anaconda could cause a huge level of breakage because the two versions must *always* be drop-in replacements for each other. If they're not, it makes it impossible to leverage the Fedora tooling to do things like making spins and such. I don't even *know* what kind of work it would entail if I wanted it to be an official spin composed through pungi. I'm pretty sure the releng folks would kill me for doing that, as now pungi would have be aware and switch anaconda packages for lorax...
So... more time investment. Yep.
Additionally, it would require a fork of pykickstart so that further enhancements to the Btrfs partitioning can be defined. However, *that* causes bigger problems because now there's incompatible grammar. Given how poorly the pykickstart project is run right now, it might even make sense to fully fork it, except that it fragments a specification defined in implementation (kickstart files).
I agree on this one. It would be great if someone created a canonical specification for both kickstarts and comps.
Comps isn't *quite* so bad off. There's a DTD for it, at least. I've collected most of the RPM-MD repodata specification files that I could find into a single repo: https://pagure.io/rpm-metadata
Someday, maybe those documents can be rationalized into a formal spec, but there are bigger fish to fry in that realm right now...
I've looked at writing automation to watch Anaconda and pykickstart and continuously integrate patchsets on top for a forked package set. But in the end, it would be too destructive for the Fedora community to do so.
I'll disagree, but only in severity. It would certainly be inconvenient.
It sends a bad message as well: "Fedora developers have to fork their own installer because installer developers can't work with Fedora developers."
My guess would be that you perhaps don't have the time to do that. That's reasonable. I can say, with no uncertainty, that the anaconda team doesn't have time to do it either. The day to day things that team is working on far outweigh btrfs as a priority, even in Fedora. This team literally gets dozens of completely unrelated bugs they have to look at and triage simply because it is the first thing people interact with when they install the OS. It's a catch-all. Btrfs enablement would continually sit on the back burner waiting to get done.
I *know* the Anaconda team barely has bandwidth right now. That is a function of them being too closed for a community to develop around it. That is *entirely* their fault. The Anaconda engineers, the team leads, the managers, and the project/product owners for Anaconda do not value the community enough to allow one to develop.
(I've met a fair number of Anaconda developers and manager folks, I know this is the case, even if they don't entirely realize it themselves.)
I think you're conflating "selective in what they accept" and "do not value community".
There are several distributions in the RH ecosystem that use Anaconda, and yet only a team of ~3 people are allowed to do anything on it? That seems brutally useless. Then again, we have the same problem with Koji. Terminally understaffing is not useful. And because the community cannot contribute to Anaconda, if there are bugs, there's no way for the community to help fix them.
There certainly is. You submit a PR. It's what they would do. That PR being merged or not is a completely different topic than the ability to submit it in the first place.
There *was* a PR submitted. It was even a one-liner because the contributor fixed the underlying problem elsewhere. It's been in limbo for over a year: https://github.com/rhinstaller/anaconda/pull/1375
You seem to think that I'm just shouting without any effort to back it up. There was originally four of us working on this two years ago. It's dwindled over time as the roadblocks were thrown up time and time again.