Host and Platform
Summary
Host and Platform is an evolution of the Base Runtime module concept introduced in Fedora 26 Boltron, splitting the minimal system further into independent modules allowing for greater flexibility when composing and maintaining the base system.
Owner
- Name: Petr Šabata
- Email: contyk@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 27
- Last updated: 2017-05-25
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
The end goal of this change is to provide the modular base operating system content in a way that allows for hardware enablement and general userspace separation, enabling different update cadence and life cycles for each of the two parts.
Being the successors of Base Runtime, the two new modules will include all the content Base Runtime does as well as content from additional Fedora 26 Boltron modules currently extending it. Additional system configuration & management services and utilities are expected to be part of the base system experience, making all the essential content available for installation from the base level modules that are enabled by default.
Benefit to Fedora
Separating hardware enablement from general userspace makes it possible for each of the parts to have its own life cycle and update cadence, allowing pairing of one instance of the hardware enablement layer with numerous userspace modules such as "Platform F27" and "Platform F28", easily bringing support for the latest hardware to all supported Fedora releases.
Scope
- Proposal owners: The Host and Platform team will prepare both modules -- define the generic module metadata, buildroots, profiles, components and API. The team will also build the components and will deliver an installer boot image, container base image and virtual machines built from the Host & Platform content. The team will also create and maintain additional modules needed to accomplish these tasks, such as a self-hosting buildroot package set module similar to the one used for building Base Runtime for Fedora 26 Boltron. The team will assist package maintainers and release engineering with fixing packaging problems, component build and module compose issues.
- Other developers: Package maintainers are expected to fix packaging & build issues affecting packages they maintain in a timely fashion.
- Release engineering: #6815
- List of deliverables: Not affected.
- Policies and guidelines: Not needed for this change.
- Trademark approval: Not needed for this change
Upgrade/compatibility impact
This is incompatible with Fedora 26 Boltron, however, the previous release was a proof-of-concept work with no upgrade mechanism in place. A clean installation will be necessary. Many of the Fedora 26 Boltron module content will be included directly in Host and Platform; remaining modules will have to be updated or, in some cases, completely rewritten.
This change doesn't affect the traditional release in any way.
How To Test
Host & Platform need to run on all Fedora supported architectures. Booting a Host & Platform based system on various hardware configurations, installing the Host and Platform provided packages, running them, enabling additional modules and installing content from those are all valid test cases.
Container base images will be also provided. Testing whether they can be used on their own or building additional layers on top of them is also appreciated.
User Experience
Host and Platform will replace Base Runtime in the minimal modular installation, affecting all modular deliverables. See the detailed description above or the Host and Platform page for more details.
Dependencies
Cooperation with modularity, infrastructure and release engineering teams will be required.
- The new modules will include content from many of Fedora 26 Boltron modules. Component lists and inter-module dependencies, both build time and runtime, will need to be updated. Some modules will become obsolete. This will need to be coordinated with the current module maintainers.
- Until the current tooling is updated or replaced, the infrastructure team should create new modules/* dist-git repositories, if requested.
- Release engineering should assist with the bootstrap module tag creation and tagging the necessary secure boot packages.
Contingency Plan
- Contingency mechanism: Not applicable.
- Contingency deadline: Not applicable.
- Blocks release? Yes, this blocks further Fedora 27 modularity work.
- Blocks product? Yes, this blocks further Fedora 27 modularity work.
Documentation
The Host and Platform wiki page documents objectives and implementation details of this change.