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

Make flatcar-update provide OEM payloads #767

Closed
pothos opened this issue Jun 8, 2022 · 2 comments
Closed

Make flatcar-update provide OEM payloads #767

pothos opened this issue Jun 8, 2022 · 2 comments
Assignees
Labels
area/sysext sysext roadmap area/updates Issues related to the updates, update_engine_client, etc kind/feature A feature request

Comments

@pothos
Copy link
Member

pothos commented Jun 8, 2022

Current situation

The flatcar-update tool supports downloading the generic update payload or specifying it as file in the CLI parameter.
Nebraska added support for additional payloads that are added after the first one, and are planned to be used for OEM update payloads (as sysext images).

Impact

For developing the update-engine changes one would currently need a local Nebraska instance but if flatcar-update supports passing the OEM payloads, it could be easier to iterate over the update-engine changes.
When released, users will expect the flatcar-update tool to work as before but now it also must cover OEM updates.

Ideal future situation

The flatcar-update tool should get OEM-payload-aware, too, and send the OEM entries in its Omaha response. It should download all OEM files or accept them to be passed as CLI parameters like the generic payload. A downgrade of a freshly installed or a completely migrated machine to a pre-sysext release for that OEM is not supported because the OEM contents will be missing. Ideally, while the sysext OEM availability is tied to a minimal Flatcar version where the basic machinery is present, the availability of OEM sysext images can't be assumed to give us time for the OEMs to get ported one by one; also new ones may be added later. When an OEM sysext update is not published, the system should try to use the old one by forcing its load, and put a warning on the login message (→tbd in the service that activates the OEM sysext images).

Implementation options

Additional information

@pothos pothos changed the title The flatcar-update tool should get OEM-payload-aware, too, and send the OEM entries in its Omaha response. It should download all OEM files or accept them to be passed as CLI parameters like the generic payload. A downgrade of a freshly installed or a completely migrated machine to a pre-sysext release for that OEM is not supported because the OEM contents will be missing. Ideally, while the sysext OEM availability is tied to a minimal Flatcar version where the basic machinery is present, the availability of OEM sysext images can't be assumed to give us time for the OEMs to get ported one by one; also new ones may be added later. When an OEM sysext update is not published, the system should try to use the old one by forcing its load, and put a warning on the login message. Make flatcar-update provide OEM payloads Jun 8, 2022
@pothos
Copy link
Member Author

pothos commented Jun 9, 2022

We can restrict the OEM ID to the current one or the one passed as CLI flag

@dongsupark dongsupark added kind/feature A feature request area/updates Issues related to the updates, update_engine_client, etc labels Jul 8, 2022
@pothos pothos added the area/sysext sysext roadmap label May 23, 2023
@pothos pothos added this to the OEM updates for all images milestone Jul 20, 2023
@pothos pothos moved this from 🪵Backlog to ✅ Testing / in Review in Flatcar tactical, release planning, and roadmap Jul 28, 2023
@pothos pothos self-assigned this Jul 28, 2023
@pothos
Copy link
Member Author

pothos commented Jul 28, 2023

PR flatcar/init#101

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/sysext sysext roadmap area/updates Issues related to the updates, update_engine_client, etc kind/feature A feature request
Projects
None yet
Development

No branches or pull requests

2 participants