Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prep patches for setting up branched/next-devel/next #180

Merged
merged 3 commits into from
Oct 2, 2019

Conversation

jlebon
Copy link
Member

@jlebon jlebon commented Sep 24, 2019

Move the releasever key to manifest.yaml, and add branched development yum repo definitions.

That way e.g. `next` can have `releasever: 31`.
These will be needed by the new `branched`/`next-devel`/`next` streams.
@jlebon
Copy link
Member Author

jlebon commented Sep 24, 2019

So basically, there's two ways to approach the "config" problem here: we could keep testing-devel as the "source branch" from which we propagate files to the next streams, or we could have next-devel be a separate source branch. The latter provides more flexibility, at the expense of more overhead. E.g. changing something that should apply to both testing and next will have to be opened twice against each respective source branch.

I'm leaning more towards the first approach for now (with testing-devel being the only source branch), given that IMO we will want the majority of changes to take effect on both testing and next. And as usual, anything specific to either can be added to their respective manifest.yaml.

@jlebon
Copy link
Member Author

jlebon commented Sep 24, 2019

One hiccup where I see difficulties is if we want to carry something in the overlay only on one of the two streams. Right now, overlay.d/ is purely a cosa concept, so there's no way to make it conditional if we have a single source branch.

I think it'd be cleaner if we folded the overlay.d/ concept into the treefile (see related discussions in coreos/coreos-assembler#639). Then we'd have the manifest.yaml be able to fully describe stream-level deltas.

Another cleanup from doing this is that intermediate manifests would be able to reference the overlays to which they "correspond". (E.g. 05core would be in fedora-coreos-base.yaml, 15fcos in fedora-coreos.yaml, etc... things that we're currently documenting in the README.md).

@jlebon
Copy link
Member Author

jlebon commented Oct 1, 2019

📞 ?
/cc @dustymabe @bgilbert

@dustymabe
Copy link
Member

What is fedora-next.repo? Is it rawhide? Is it f31? If it's f31 then why not just let the releasever control it and use fedora.repo ?

@jlebon
Copy link
Member Author

jlebon commented Oct 1, 2019

What is fedora-next.repo?

It's the set of repos that next targets. So right now, f31.

Is it f31? If it's f31 then why not just let the releasever control it and use fedora.repo ?

The paths are not the same yet.

@dustymabe
Copy link
Member

The paths are not the same yet.

right.. if we were using the metalink URLs it wouldn't matter but since we are using stable URLs (i.e. no mirrors) it does. Got ya.

@dustymabe
Copy link
Member

this LGTM. Regarding the "managing the config" I'm afraid I don't have a good answer right now :(. In Fedora we use a branch for each release and then manually pull back stuff that we need. In this repo it's not always clear where the most development will be happening (i.e. not one clear upstream to everything like rawhide is in Fedora proper) so we'll have to organically come up with something that works for us.

@jlebon
Copy link
Member Author

jlebon commented Oct 2, 2019

Will merge this after promoting for a release!

@jlebon jlebon merged commit 5e8df7f into coreos:testing-devel Oct 2, 2019
jlebon added a commit to jlebon/fedora-coreos-releng-automation that referenced this pull request Mar 20, 2020
For now we inherit from testing-devel; see discussions starting from:

coreos/fedora-coreos-config#180 (comment)
jlebon added a commit to jlebon/coreos-assembler that referenced this pull request Jan 11, 2022
When this file is present in the config dir, coreos-assembler will still
automatically commit the `overlay.d` subdirectories to the OSTree repo,
but will not automatically add them to the treefile.

This provides more flexibility on the config side, where e.g. overlays
may be conditionally added or may only be added on certain streams.
This has come up multiple times already in FCOS, more recently as part
of the `iptables-nft` migration work.

See also: coreos/fedora-coreos-config#180 (comment)

So this is sort of a halfway approach between what we have now and
teaching rpm-ostree about the overlay directories directly (via a new
e.g. `add-dirs` file, see previous discussions about this in
coreos#639). Except that this
is much easier to do and doesn't require any rpm-ostree modification.
jlebon added a commit to coreos/coreos-assembler that referenced this pull request Jan 21, 2022
When this file is present in the config dir, coreos-assembler will still
automatically commit the `overlay.d` subdirectories to the OSTree repo,
but will not automatically add them to the treefile.

This provides more flexibility on the config side, where e.g. overlays
may be conditionally added or may only be added on certain streams.
This has come up multiple times already in FCOS, more recently as part
of the `iptables-nft` migration work.

See also: coreos/fedora-coreos-config#180 (comment)

So this is sort of a halfway approach between what we have now and
teaching rpm-ostree about the overlay directories directly (via a new
e.g. `add-dirs` file, see previous discussions about this in
#639). Except that this
is much easier to do and doesn't require any rpm-ostree modification.
@jlebon jlebon deleted the pr/f31-prep branch April 23, 2023 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants