-
Notifications
You must be signed in to change notification settings - Fork 59
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
Stream introspection and forced upgrades (stream-switching) #163
Comments
Related discussions in coreos/coreos-assembler#159. |
Did you mean |
So the "obvious answers" (or at least something to bootstrap this discussion) here are:
This could be part of the commit metadata, or keyed off of the branch name itself. The former is clearly nicer if we want to keep the
Offhand, I don't think we need to have a super polished story around this given that it's likely not a common operation, right? Seems like documenting |
Those seem reasonable to me. Are you thinking of storing the label in the treefile itself and then plumbing it through the layer till reaching the commit metadata? Or is there some more clever approach, maybe with support for templating-and-substitution via coreos-assembler? |
So one straightforward approach would be to do this as part of the pipeline, since it's already parameterized on the stream: e.g. expose rpm-ostree's Or maybe a cleaner approach is indeed to expand the treefile spec so we can inject arbitrary metadata, just like |
@jlebon from your comment above, I seem to understand that the plan is more or less fixed on letting I don't have a good opinion on whether the stream label should be part of versioned content, or just injected on the fly (@ajeddeloh @bgilbert @arithx maybe have some feedback from CL process?). |
Right yeah, it works because we don't promote content/artifacts directly, but rather the source config itself (which includes the lockfile), and then trigger a new build. So any particular build is tied to a specific stream.
Yeah, good point. I agree with you that we don't want locally-built images to magically auto-update. Hmm, though wouldn't the version not being part of the update graph exactly the right way to detect this? |
It would then become trickier:
In both cases, this requires server-side workload for an result which is not meant to be used. Additionally, the approach we pick here can be re-used for metrics-client to not send us data for ephemeral dev VMs. |
Had a chat with @bgilbert about this today. Here's what we came up with:
|
This is required for node introspection by client apps like Zincati. Closes: coreos/fedora-coreos-tracker#163
This is required for node introspection by client apps like Zincati. Closes: coreos/fedora-coreos-tracker#163
By default, we don't enable Zincati and pinger on testing-devel. See discussions in: coreos/fedora-coreos-tracker#163
By default, we don't enable Zincati and pinger on bodhi-updates. See discussions in: coreos/fedora-coreos-tracker#163
By default, we don't enable Zincati and pinger on testing-devel. See discussions in: coreos/fedora-coreos-tracker#163
By default, we don't enable Zincati and pinger on bodhi-updates. See discussions in: coreos/fedora-coreos-tracker#163
This is a spin-off of one of the topics from #83 (comment). See bottom of https://meetbot.fedoraproject.org/teams/fedora_coreos_meeting/fedora_coreos_meeting.2019-03-13-16.32.log.html for context.
We should decide, implement and document the following things:
This is because the update story for FCOS is slightly different than it used to be on CL. In particular, for a node to update from current OS version to a new release, there must be an edge in the cincinnati graph going
current->new
. However, cross-stream edges are problematic as they would bridge different upgrades path, and nodes could end up erratically jumping across streams.As such, we will likely start with nodes introspecting their own stream and sticking to that for upgrades. For a node to switch stream, a manual
rpm-ostree upgrade
plus reboot would be required.The text was updated successfully, but these errors were encountered: