From Fedora Project Wiki

Revision as of 18:18, 6 November 2024 by Adamwill (talk | contribs) (create page, based on F41 page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Beta Objectives

The objectives of the Beta release are to:

  1. Publicly release installable media versions of a code complete test release: Beta is the last widely co-ordinated test release point in any given release cycle
  2. Finish testing Fedora 42 Changes
  3. Identify as many F42 Final blocker bugs as possible

Beta Release Requirements

In order to be released to the general public, a compose must meet all of the following criteria. This is intended to make the decision process as clear and straightforward as possible. Mostly met items are incomplete until they are met. Optional and nice to have items should not be included in this list.

There may be times where a requirement is unmet only in a particular configuration, such as with some keyboard layouts but not others, or if a particular character is used in a username, password or passphrase. In such cases, the release team should use their judgement and refer to precedent to determine whether or not the issue should be considered to block the release. They should consider the number of users likely to be affected by the issue, the severity of the case when the issue is encountered, and the ease or otherwise with which the issue can be avoided by both informed and uninformed users.

The term release-blocking desktops means all the desktop environments in which bugs are currently considered capable of blocking a Fedora release. The current set of release-blocking desktops for x86_64 is GNOME and KDE, and for aarch64 is GNOME. Note that bugs in desktops that are not part of this set which would infringe these criteria automatically qualify for freeze exception status, according to the freeze exception bug process.

The term release-blocking images means all the images in which bugs are currently considered capable of blocking a Fedora release. The current set of release-blocking images includes the images defined by the three Editions - Server, Workstation and IoT - in their product requirement documents and/or technical specifications, the Everything network install image, key Cloud images, and the KDE live image. The canonical list of release-blocking images for Fedora 42 is on this page.

Process requirements

Basic criteria met

All Basic Release Criteria must be met.

FESCo blocker bugs

All bugs deemed by FESCo to block the milestone release must be fixed.

Milestone release?

This criterion simply means that issues FESCo deems as blocking Beta must be fixed for Beta, and issues deemed as blocking Final must be fixed for Final.

Automatic blockers

Bugs that violate this criterion - i.e. bugs designated as blockers by FESCo - are considered "automatic blockers", they do not have to go through the review process. See QA:SOP_blocker_bug_process#Automatic_blockers for more details on the automatic blocker procedure.

References

Beta blockers CLOSED

All bugs blocking the Beta tracker must be CLOSED.

Image size requirements

The release-blocking images must meet current size requirements.

Automatic blockers

Violations of this criterion for release-blocking images are considered "automatic blockers", they do not have to go through the review process. See QA:SOP_blocker_bug_process#Automatic_blockers for more details on the automatic blocker procedure.

Edition requirements

This section contains requirements relating to Fedora Editions: not to any specific edition, but to editions in general.

Installer customization

For each Edition, all significant functional customization of installer behavior that are intended to be a part of that Edition must take effect on that Edition's installable release-blocking images. Release-blocking images that are not part of an Edition must not include any significant Edition-specific customizations.

'Significant functional?'

Significant functional customization would usually include, for e.g., changes to the default filesystem. The WG or SIG responsible for each Edition has the definitive say on what is or is not considered a 'significant functional customization' for that Edition.

References

Initialization requirements

Release-blocking images must boot

All release-blocking images must boot in their supported configurations.

Supported media types

Release-blocking live and dedicated installer images must boot when written to a USB stick with any of the officially supported methods.

Difference from Basic

This criterion differs from the similar Basic criterion only in that it requires all supported methods of writing a Fedora USB stick to work, not just any single one.

Installer requirements

Except where otherwise specified, each of these requirements applies to all supported configurations described above. These requirements do not apply to images which do not use the "anaconda" installer.

Remote package sources

When using the dedicated installer images, the installer must be able to use HTTP, HTTPS and NFS repositories as package sources.

NFS specific requirements

The installer can handle two different types of NFS repository. It can either contain a package tree, as with HTTP repositories, or it can contain the DVD ISO image of the same release as the installer. For Beta, only one of these types must work - if one works and the other doesn't, that is OK.

Covered repository types

This criterion only covers direct repository URLs ("baseurl"), and doesn't cover mirrorlist or metalink URLs.

Direct kernel boot

It must be possible to install by booting the installation kernel directly (including via PXE) and correctly specifying a remote source for the installer itself.

Remote source types

All remote source types required to work for package retrieval in the relevant criterion at the current milestone must work in this case too.

Incomplete remote source

This must work even if the remote source is not a complete package repository but contains only the files necessary for the installer itself to run. In this case, to complete a full installation, a separate package repository would also have to be specified in some way.

Installation interfaces

The installer must be able to complete an installation using the serial console interface.

Default package set

When installing with a dedicated installer image for a specific Fedora edition, the default package set must be the correct set for that edition.

Correct?

The "correct" package set for a edition is as intended by the relevant WG. Usually this will be pretty clear - the kind of bug expected to violate this criterion is "the default environment is Cloud Server instead of Workstation", that sort of thing.

References

Package set selection

When installing with the generic network install image, interactively selecting a package set other than the default must work.

Work?

"Work" means that the mechanism for selecting different package sets must work: the packages in the set chosen must actually be correctly selected for installation. This particular criterion does not cover any errors in the available package sets, though other criteria may.

References

Kickstart delivery

The installer must be able to use all available kickstart delivery methods.

'Available' defined by installer team

The intent of available is that the installer developers get to define the set of supported kickstart methods. Available kickstart delivery method means 'an argument to the ks= parameter which is backed by code in the installer'. These should be documented at Anaconda/Kickstart#Chapter_6._Making_the_Kickstart_File_Available

References

Guided partitioning

When using the guided partitioning flow from the GTK-based installer or using the webui-based installer without entering the "Modify storage" page, the installer must be able to:

  • Cleanly install to a disk with a valid ms-dos or gpt disk label and partition table which contains existing data and sufficient unpartitioned space for a Fedora installation
  • Complete an installation using any combination of disk configuration options it allows the user to select
  • Reject or disallow invalid disk and volume configurations without crashing.

When using the guided partitioning flow from the GTK-based installer, it must be able to:

  • Remove existing storage volumes to free up space, at the user's direction.

When using the guided partitioning flow from the webui-based installer, it must be able to:

  • Assign mount points to existing storage volumes
Cleanly install?

Cleanly install' means that Fedora must be installed to the empty space, and if specified a bootloader should be installed to the MBR, but otherwise the disk should be left alone: the existing disk label and partitions must be untouched and no data may be lost.

Guided partitioning

Guided partitioning refers to the path where the user allows the installer to handle partitioning, as opposed to custom or manual partitioning where the user has full control over the partitioning process.

Disk configuration options?

Disk configuration options refers to choices such as encryption and volume/partition type.

Custom partitioning

When using both the installer-native and the blivet-gui-based custom partitioning flow on the GTK-based installer, and the Cockpit-based custom partitioning flow on the webui-based installer, the installer must be able to:

  • Correctly interpret, and modify as described below, any disk with a valid ms-dos or gpt disk label and partition table containing ext4 partitions, LVM and/or btrfs volumes, and/or software RAID arrays at RAID levels 0, 1 and 5 containing ext4 partitions
  • Create mount points backed by ext4 partitions, LVM volumes or btrfs volumes, or software RAID arrays at RAID levels 0, 1 and 5 containing ext4 partitions
  • Remove a planned storage volume from the planned layout
  • Assign sizes to newly-created storage volumes and containers
  • Encrypt newly-created storage volumes
  • Remove existing storage volumes
  • Assign mount points to existing storage volumes
  • Reject or disallow invalid disk and volume configurations without crashing.
Custom partitioning

Custom partitioning refers to the path where the user chooses to take full control over partitioning, as opposed to guided partitioning where the user allows the installer to handle partitioning.

Re-using /home

The requirement "assign mount points to existing storage volumes" is considered to cover the common operation of re-using an existing /home partition without formatting it. For all other mount points, it is acceptable if re-use requires them to be re-formatted.

References

Hardware RAID

  • The installer must be able to detect and install to hardware RAID storage devices.
System-specific bugs

System-specific bugs don't necessarily constitute an infringement of this criterion. It is not unusual that support for some specific hardware RAID controller, for instance, might be broken. In the case of such system-specific bugs, whether the bug is considered to infringe the criterion will be a subjective decision based on the severity of the bug and how common the hardware in question is considered to be. See Blocker_Bug_FAQ for more discussion of this.

References
  • Partitioning criteria differed prior to Fedora 18 rewrite of installer GUI; hardware, firmware and software RAID were combined
  • Software RAID was rolled into partitioning criteria and firmware/hardware RAID left as a standalone criterion as part of major Fedora 19 criteria revision
  • Firmware RAID requirement move from Beta to Final proposed 2018-09-14, implemented 2018-11-16
  • Test case: QA:Testcase_Install_to_Hardware_RAID

Scripted installation

The installer must be able to complete a scripted installation which duplicates the default interactive installation as closely as possible.

Unattended installation

Any installation method or process designed to run unattended must do so. There should be no prompts requiring user intervention.

Rescue mode

The rescue mode of the installer must start successfully and be able to detect and mount any installation performed according to the applicable criteria, and provide a shell with access to utilities capable of performing typical recovery operations.

Start successfully?

'Start successfully' means it should be able to get you to a console that can interact with the mounted installation.

References

Upgrade requirements

For each one of the release-blocking package sets, it must be possible to successfully complete a direct upgrade from a fully updated, clean default installation of each of the last two stable Fedora releases with that package set installed.

Release-blocking package sets

The release-blocking package sets are the minimal set, and the sets for each one of the release-blocking desktops, on all primary Architectures.

Recommended upgrade mechanisms

This criterion applies to the recommended upgrade mechanisms only. For rpm-ostree-based deployments, the recommended mechanism is an rpm-ostree rebase.

Upgraded system requirements
  • The upgraded system must meet all release criteria.
  • The upgraded system must include all packages that would be present on the system after a default installation from install media, plus any packages the user previously had (minus any obsolete content).
References

Virtualization requirements

Self hosting virtualization

The release must be able host virtual guest instances of the same release.

What does that mean?

This rather concise criterion means effectively means that both virtual host and virtual guest functionality must work - it's implied, if you think about it. It also means that there must be no showstopper bugs in the installer when installing to a virtual machine...

Recommended virtualization technology

...when using Fedora's recommended virtualization technology, that is. This criterion applies only to the recommended Fedora virtualization tools - the qemu/kvm - libvirt - virt-manager stack.

References


Post-install requirements

Except where otherwise specified, each of these requirements applies to all supported configurations described above.

Expected installed system boot behavior

A system installed without a graphical package set must boot to a working login prompt without any unintended user intervention, and all virtual consoles intended to provide a working login prompt must do so.

Difference from Basic

This criterion differs from the similar Basic criterion by requiring that a login prompt be present without user intervention, and that all virtual consoles provide login prompts: the Basic criterion is satisfied even if only a single console provides a login prompt, and it is not the one presented to the user after boot.

References
  • Requirement for graphical installs to boot to desktop was in original Fedora 13 criteria revision
  • Changes to cover non-graphical installs were proposed 2010-08-12, implemented 2010-08-16: this included the distinct Alpha and Beta requirements
  • Test case: QA:Testcase_base_startup

Working sound

Release-blocking desktops must be able to play back sound with gstreamer-based applications.

System-specific bugs

System-specific bugs don't usually constitute an infringement of this criterion. It is meant to cover bugs which completely prevent sound playback from working in any hardware configuration. See Blocker_Bug_FAQ for more discussion of this.

References

Desktop panel

No part of any release-blocking desktop's panel (or equivalent) configuration may crash on startup or be entirely non-functional.

References

Automatic mounting

Automatic mounting of removable media on insertion must work in release-blocking desktops.

Removable media

This criterion applies to optical discs, USB storage devices and hotpluggable eSATA hard disks, and any other similar devices that are supported.

References
  • Part of original Fedora 13 criteria revision (later broadened from 'default desktop' to 'release-blocking desktops')
  • Test case: QA:Testcase_desktop_automount

Printing

Printing must work in release-blocking desktops on at least one printer available to those performing validation testing.

'Work'?

'Work' is defined as the printed output from a typical application matching the 'print preview' - note that differences in color reproduction are not considered 'non-working'.

References

Installing, removing and updating software

The installed system must be able appropriately to install, remove, and update software with the default tool for the relevant software type in all release-blocking desktops (e.g. default graphical package manager). This includes downloading of packages to be installed/updated.

Refer to Basic footnotes

The footnotes for the similar Basic criterion covering console tools regarding software types, 'appropriate' software, scope and so on are all generally applicable to this criterion also.

References

Shutdown, reboot, login, logout

Shutting down, rebooting, logging in and logging out must work using standard console commands and the mechanisms offered (if any) by all release-blocking desktops.

Work?

Similar to the Basic criterion for shutting down, shutdown and reboot mechanisms must take storage volumes down cleanly and correctly request a shutdown or reboot from the system firmware. Logging in must transfer the user from the login screen/prompt to their working environment, and logging out must return the user to the environment from which they logged in, working as expected.

References

Data corruption

All known bugs that can cause corruption of user data must be fixed or documented at Common Issues.

User data?

"User data" really means data: attempts have been made to apply this criterion to things like trivial items of configuration being reset on upgrades or the setting of the system clock, but that is not going to fly.

Fixed or documented?

If the issue is sufficiently serious, we may consider that documenting it is not sufficient and it must be fixed. This is a subjective determination that will be made at blocker review or Go/No-Go meetings.

References
  • Part of initial Fedora 13 criteria revision
  • Moved from Final to Beta on 2021-01-14
  • Test case: N/A (a test case for this criterion is not practical, it instead covers all "known bugs")


Toolbx functionality

For any release-blocking deliverable whose default deployment includes Toolbx, the toolbox CLI must be able to list existing local containers. For each of the following, it must be able to create and enter a new container:

  • The image from the compose under test
  • The most recent stable image for the current stable Fedora release
  • The most recent stable image for the current stable RHEL release
What does this cover?

Bugs in either the toolbox CLI or the container image from the compose under test may constitute a violation of the criteria for that compose. Any bugs found in the current stable Fedora and RHEL images should be reported appropriately, but don't constitute a violation of the criteria for the compose under test - the requirement is only that the CLI be capable of correctly creating and entering them. If a stable Fedora or RHEL container needs updates in order for the CLI from the compose under test to be able to run it correctly, that may constitute a PreviousRelease blocker.

References

Domain client requirements

These requirements apply to any system properly configured as a client of another system which is an active and correctly configured FreeIPA domain controller.

User authentication

The system must be able to authenticate users against the domain controller's accounts using SSSD.

References

Server Product requirements

These requirements apply only to the Server product.

Remote logging

It must be possible to forward system logs to a remote system using Server packages.

FreeIPA server requirements

The requirements from the Basic criteria must be met without workarounds being necessary. Additionally, a system deployed as a FreeIPA domain controller must:

  • Serve LDAP requests, including TLS-encrypted LDAP requests, on port 389
  • Serve LDAPS (LDAP encrypted with SSL) requests on port 636
  • Return LDAP and LDAPS search results using simple auth or SASL/GSSAPI auth
  • Serve DNS host records on port 53 (assuming it is deployed with DNS capability)
  • Serve DNS SRV records for ldap and kerberos on port 53 (assuming it is deployed with DNS capability)

Before Final, it is acceptable if moderate workarounds are necessary to achieve the additional requirements above.

Workarounds

This means the server must meet the Basic requirements, i.e. be broadly usable for its intended purpose, after correct deployment and configuration, but moderate workarounds as described in the Basic criterion are acceptable if necessary to fulfill the full set of requirements.

References

PostgreSQL server requirements

The requirements from the Basic criteria must be met without workarounds being necessary. Additionally, a system deployed as a postgresql database server must:

  • Serve requests from remote systems on port 5432 by default, but it must also be possible to disallow remote access via configuration
  • Be capable of hosting multiple separate databases
  • Allow external software to edit the database

Before Final, it is acceptable if moderate workarounds are necessary to achieve the additional requirements above.

Workarounds

This means the server must meet the Basic requirements, i.e. be broadly usable for its intended purpose, after correct deployment and configuration, but moderate workarounds as described in the Basic criterion are acceptable if necessary to fulfill the full set of requirements.

References
  • Converted 2018-07 from the Server Role criteria proposed 2015-01-24, implemented 2015-02-06.
  • Test cases: see Basic

Cockpit management interface

It must be possible to log in to the default Cockpit instance and use it to:

  • View the system's logs
  • View the system's running services
  • Enrol the system to a FreeIPA or Active Directory domain

Server upgrade requirements

It must be possible to successfully complete a direct upgrade from a fully updated installation of each of the last two stable Fedora Server releases with the system configured as a FreeIPA domain controller or postgresql server as specified in the relevant criteria. The upgraded system must meet all relevant release criteria, including criteria relating to functionality of the server software.

References

Cloud Product requirements

These requirements apply only to the Cloud product.

Growroot

Release blocking cloud images must be able to automatically utilize all available space on a supported volume.

Supported Volumes?
  • PVM, HVM volumes, basically, growroot should work without breaking on both types of volumes.

Cloud-init

The cloud-init package must be functional for release blocking cloud images.

Functional?
  • The provided cloud-init package needs to work, but we won't block on issues that EC2 or Openstack have with their service providing said meta-data.

IoT Edition requirements

These requirements apply only to the IoT edition.

Podman container runtime

The Podman container runtime must be present on all images and installed by default when using the ISO installer. It must be possible to deploy a container image.

References

Beta Blocker Bugs

A bug is considered a Beta blocker bug if any of the following criteria are met:

  • A bug in a Critical Path package that:
    • Cannot be fixed with a future stable update
    • Has a severity rating of high or greater and no reasonable workaround (see definition of severity and priority)
  • Bug hinders execution of required Beta test plans or dramatically reduces test coverage
  • Bug relates to an unmet Beta Release Requirement

A Fedora Change being incomplete, in and of itself, does not constitute a blocker bug. The Change process is separate from this process. Changes are required to meet certain standards at certain points of the release cycle, but this is part of the Change process and managed, tracked and enforced separately from this process. However, if a proposed feature being incomplete causes any of the above criteria to be met, then the bug is a release blocker.


Contingency Plan

  • If all of the Beta Release Requirements are not met by 20:00 UTC on Wednesday the week prior to release day, the release will be delayed by one week so that the Beta Release Requirements can be met.
  • One week will be added to all remaining tasks in the release schedule, including the final release date.
  • This decision will be made at the Go/No-Go Meeting.

Confirming Beta Requirements

QA has the responsibility of determining whether the criteria for the release has been met (as outlined above) through discussion with Development and Release Engineering. QA's findings will be reviewed and discussed at the Go/No-Go Meeting.

Related Pages