From Fedora Project Wiki

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, making it possible to pair 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, Docker 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 assist with fixing packaging & build issues affecting packages they maintain in a timely fashion.
  • 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.

Docker 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.

Release Notes