nebraska
nebraska copied to clipboard
Implement Multi-Step Update Support in Nebraska
Overview
Implement support for complex updates that require intermediate steps before reaching the target version. This addresses scenarios where direct updates would fail due to system incompatibilities.
Background
Nebraska currently only supports single-step updates. However, complex system changes (partition migrations, configuration format changes) sometimes require intermediate updates to prepare the system.
Core Requirements
- Extend packages table with prerequisite_id field
- Use package IDs for prerequisite relationships
- Implement "greater or equal" prerequisite rule
- Extended Omaha format for downstream Nebraska syncers
- No changes required for Flatcar clients
Success Criteria
- [ ] Backend can orchestrate multi-step updates
- [ ] Syncers can reconstruct prerequisite relationships after sync
- [ ] Frontend provides visibility into update paths
- [ ] All edge cases handled gracefully
Related Discussion
- https://github.com/flatcar/Flatcar/discussions/1831