From Fedora Project Wiki
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{admon/tip | Guidance | For details on how to fill out this form, see the [https://docs.fedoraproject.org/en-US/program_management/changes_guide/ documentation].}}


= IoT Simplified Installer =
= IoT Simplified Installer =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
Offer Fedora IoT users a new method to create and deploy customized Fedora IoT disk images using a new installer called Simplified Installer.
The Fedora IoT Simplified Installer uses coreos-installer-dracut to write an OStree commit straight to disk, without the need for a kickstart or user interaction. This type of installation is ideal for devices connected at the edge where connectivity can be slow or intermittent.


== Owner ==
== Owner ==
<!--
For change proposals to qualify as self-contained, owners of all affected packages need to be included here. Alternatively, a SIG can be listed as an owner if it owns all affected packages.
This should link to your home wiki page so we know who you are.
-->
* Name: [[User:runcom| Antonio Murdaca]], [[User:pwhalen| Paul Whalen]]
* Name: [[User:runcom| Antonio Murdaca]], [[User:pwhalen| Paul Whalen]]
* Email: amurdaca@redhat.com, pwhalen@fedoraproject.org
* Email: amurdaca@redhat.com, pwhalen@fedoraproject.org
Line 22: Line 13:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF38]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 29: Line 20:


[[Category:SelfContainedChange]]
[[Category:SelfContainedChange]]


* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f38/ Fedora Linux 38]
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f38/ Fedora Linux 38]
Line 39: Line 29:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* FESCo issue: <will be assigned by the Wrangler>
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/52YNUJ3IY2MVNTGYSGFNFOOVMGAKDK4H/ devel thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2946 #2946]
* Release notes tracker: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2166689 #2166689]
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/964 #964]


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
The Fedora IoT Simplified Installer will use coreos-installer to write an OStree raw image straight to a disk specified in a kernel argument, without the need for a kickstart or user interaction. This type of installation is ideal for devices connected at the edge where connectivity can be slow or intermittent. It offers the ability to configure the system via osbuild itself, FDO and Ignition.


== Feedback ==
== Feedback ==
Line 50: Line 41:


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
The addition of the Fedora IoT Simplified Installer will benefit IoT users by allowing them to create customized disk images for use on their edge devices. This feature is already available downstream, adding it to Fedora will once again bring Fedora back to the true upstream of RHEL for edge and allows testing and adoption of new functionality like FIDO Device Onboarding.
 
      Be sure to include the following areas if relevant:
      If this is a major capability update, what has changed?
          For example: This change introduces Python 5 that runs without the Global Interpreter Lock and is fully multithreaded.
      If this is a new functionality, what capabilities does it bring?
          For example: This change allows package upgrades to be performed automatically and rolled-back at will.
      Does this improve some specific package or set of packages?
          For example: This change modifies a package to use a different language stack that reduces install size by removing dependencies.
      Does this improve specific Spins or Editions?
          For example: This change modifies the default install of Fedora Workstation to be more in line with the base install of Fedora Server.
      Does this make the distribution more efficient?
          For example: This change replaces thousands of individual %post scriptlets in packages with one script that runs at the end.
      Is this an improvement to maintainer processes?
          For example: Gating Fedora packages on automatic QA tests will make rawhide more stable and allow changes to be implemented more smoothly.
      Is this an improvement targeted as specific contributors?
          For example: Ensuring that a minimal set of tools required for contribution to Fedora are installed by default eases the onboarding of new contributors.
 
    When a Change has multiple benefits, it's better to list them all.
 
    Consider these Change pages from previous editions as inspiration:
    https://fedoraproject.org/wiki/Changes/Annobin (low-level and technical, invisible to users)
    https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo (low-level, but visible to advanced users)
    https://fedoraproject.org/wiki/Changes/VirtualBox_Guest_Integration (primarily a UX change)
    https://fedoraproject.org/wiki/Changes/NoMoreAlpha (an improvement to distro processes)
    https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** Test building Fedora IoT Simplified Installer with `osbuild-composer`
** Update Fedora IoT documentation with usage instructions.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


Line 86: Line 53:


* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** N/A (not a System Wide Change)
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
Line 99: Line 67:


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
* Not applicable to this change.
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 


== How To Test ==
== How To Test ==
Testable by installing `osbuild-composer` in Fedora 40 and using the command line tool or the Cockpit web interface to create a Fedora IoT Simplified Installer iso to deploy a UEFI enabled edge device.
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  


Line 120: Line 86:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== User Experience ==
== User Experience ==
This change will greatly enhance the Fedora IoT user experience by allowing users to utilize `osbuild-composer` and blueprints to create customized Fedora IoT deployments and leverage new features like FIDO Device Onboarding for secure zero touch device onboarding of edge devices as well as Ignition to configure the device once it starts.
<!-- If this change proposal is noticeable by users, how will their experiences change as a result?
<!-- If this change proposal is noticeable by users, how will their experiences change as a result?


Line 143: Line 109:


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* Usage documentation to be written and included in the [https://docs.fedoraproject.org/en-US/iot/user-guide/ Fedora IoT user guide].
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==

Latest revision as of 15:45, 10 January 2024

IoT Simplified Installer

Summary

Offer Fedora IoT users a new method to create and deploy customized Fedora IoT disk images using a new installer called Simplified Installer.

Owner

Current status

Detailed Description

The Fedora IoT Simplified Installer will use coreos-installer to write an OStree raw image straight to a disk specified in a kernel argument, without the need for a kickstart or user interaction. This type of installation is ideal for devices connected at the edge where connectivity can be slow or intermittent. It offers the ability to configure the system via osbuild itself, FDO and Ignition.

Feedback

Benefit to Fedora

The addition of the Fedora IoT Simplified Installer will benefit IoT users by allowing them to create customized disk images for use on their edge devices. This feature is already available downstream, adding it to Fedora will once again bring Fedora back to the true upstream of RHEL for edge and allows testing and adoption of new functionality like FIDO Device Onboarding.

Scope

  • Proposal owners:
    • Test building Fedora IoT Simplified Installer with osbuild-composer
    • Update Fedora IoT documentation with usage instructions.
  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

  • Not applicable to this change.

How To Test

Testable by installing osbuild-composer in Fedora 40 and using the command line tool or the Cockpit web interface to create a Fedora IoT Simplified Installer iso to deploy a UEFI enabled edge device.


User Experience

This change will greatly enhance the Fedora IoT user experience by allowing users to utilize osbuild-composer and blueprints to create customized Fedora IoT deployments and leverage new features like FIDO Device Onboarding for secure zero touch device onboarding of edge devices as well as Ignition to configure the device once it starts.

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency deadline: Beta
  • Blocks release? No.
  • Blocks product? No.

Documentation

Release Notes