Alpha Objectives
The objectives of the Alpha release are to:
- Publicly release installable media versions of a feature complete test release
- Test accepted Changes of Fedora 20
- Identify as many F20 Beta blocker bugs as possible
- Identify as many F20 Final blocker bugs as possible
Alpha 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
Alpha blockers CLOSED
All bugs blocking the Alpha tracker must be CLOSED.
FESCo blocker bugs
All bugs deemed by FESCo to block the milestone release must be fixed.
This criterion simply means that issues FESCo deems as blocking Alpha must be fixed for Alpha, issues deemed as blocking Beta must be fixed for Beta, and issues deemed as blocking Final must be fixed for Final.
- Proposed 2013-06-21, implemented 2013-07-02
- In practice FESCo has always been able to simply deem bugs as needing to be fixed, but there was no mechanism in place for enforcing such decisions. This criterion allows them to be enforced through the blocker bug process.
Correct checksums
A correct checksum must be published for each official release image.
No broken packages
There must be no errors in any package on the release-blocking images which cause the package to fail to install.
Critical errors include, but are not limited to, undeclared conflicts (explicit Conflicts: tags are acceptable) and unresolved dependencies.
- Part of initial Fedora 13 criteria revision.
- Modification to cover errors besides conflicts and dependencies proposed 2012-12-03, implemented 2012-12-17.
- Test cases: QA:Testcase_Mediakit_Repoclosure, QA:Testcase_Mediakit_FileConflicts
Initialization requirements
Release-blocking images must boot
All release-blocking images must boot in their supported configurations.
Supported architectures are the Fedora primary architectures.
Release-blocking images must boot from all system firmware types that are commonly found on the primary architectures.
Supported ARM platforms are those listed by the ARM team at Architectures/ARM/Supported_Platforms.
Release-blocking cloud images must boot in the Fedora OpenStack Cloud and in Amazon EC2.
Release-blocking live and dedicated installer images must boot when written to optical media of an appropriate size (if applicable) and when written to a USB stick with at least one of the officially supported methods. Release-blocking ARM disk images must boot when written to a medium bootable by the platform under test, according to the instructions for the platform under test.
System-specific bugs don't necessarily constitute an infringement of this criterion - for instance, if the image fails to boot because of a bug in some specific system's firmware, that is unlikely to constitute a violation unless the system is an extremely popular one. See Blocker_Bug_FAQ for more discussion of this.
Expected image boot behavior
- Release-blocking dedicated installer images must boot to the expected boot menu, and then after a reasonable timeout to the installer.
- Release-blocking live images must boot to the expected boot menu, and then to a desktop or to a login prompt where it is clear how to log in to a desktop.
- Release-blocking ARM disk images must boot to the initial-setup utility.
- Release-blocking cloud images must allow login with the user authentication configuration requested during instance creation.
The boot menu for all supported installer and live images should include an entry which causes both installation and the installed system to use a generic, highly compatible video driver (such as 'vesa'). This mechanism should work correctly, launching the installer or desktop and attempting to use the generic driver.
System-specific bugs don't necessarily constitute an infringement of this criterion - for instance, if the installer or desktop fails to start because of a bug in support for some specific graphics card, that is unlikely to constitute a violation. See Blocker_Bug_FAQ for more discussion of this.
- Bugzilla: #614488 was proposed as Alpha blocker for F14. Bug was fixed before before blocker status was confirmed or rejected.
- Proposed 2010-07-16.
- Implemented 2010-07-23.
- Rewritten as part of major Fedora 19 criteria revision.
- Test cases: see test cases for "Release-blocking images must boot"
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 installer.
Installer must run
The installer must run when launched normally from the release-blocking images.
'Launched normally' means from the boot menu on a dedicated installer image, and from the desktop on a live image.
Test cases: see test cases for "Release-blocking images must boot"
Remote package sources
When using the dedicated installer images, the installer must be able to use either HTTP or FTP repositories (or both) as package sources. The network install image must default to a valid publicly-accessible package source.
DVD package source
When using the DVD image, the installer must be able to use the DVD as a package source.
Test case: QA:Testcase_install_repository_DVD_default
Installation interfaces
When using the dedicated installer images, the installer must be able to complete an installation using the text, graphical and VNC installation interfaces.
This criterion covers showstopper bugs in the installer for which there isn't any other specific criterion: obviously, it can't 'complete an installation' if there's a showstopper. However, it does not mean that any failed installation test at all constitutes a release blocking issue: an installer which works fine in most cases but crashes when you attach it to a Hitachi hard disk on a wet Thursday is still 'able to complete an installation'.
Package sets
When doing a graphical install using the dedicated installer images, the installer must be able to install each of the release blocking desktops, as well as the minimal package set.
This means you must be able to do a GNOME install, then start over and do a KDE install, then start over and do a minimal install. Not necessarily that you should be able to do any combination of them all at once.
This criterion does not cover all the supplementary groups the installer interface may offer for the release-blocking desktops; it only covers the desktop package sets themselves. This clarification was requested in |bug #959696.
- Modification from 'default package set' proposed 2012-09-06.
- Idea to cover the release blocking desktops and minimal package set proposed 2012-09-06, implemented 2012-09-26.
- Note that the 'default package set' was later restored to the installer, but this criterion was still considered to be an improvement, and kept.
- Test cases:
Disk selection
The user must be able to select which of the disks connected to the system will be affected by the installation process.
Disks not selected as installation targets must not be affected by the installation process in any way.
- Proposed 2012-10-01, implemented 2012-10-02.
- Test case: FIXME
Storage interfaces
The installer must be able to complete an installation using any supported locally connected storage interface.
'Locally connected storage interfaces' include PATA, SATA and SCSI.
Disk layouts
The installer must be able to complete an installation to a single disk using automatic partitioning.
...well, so long as the disk is big enough, of course. It must work whether the disk is formatted or not and whether or not it contains any existing data - but since this is an Alpha, it's OK if it can only install to a disk with existing data by overwriting it.
- Proposed 2012-10-01, implemented 2012-10-02.
- Test case: QA:Testcase_Anaconda_autopart_install
Rescue mode
The rescue mode of the installer must start successfully and be able to detect and mount an existing default installation.
'Start successfully' means it should be able to get you to a console that can interact with the mounted installation.
Test case: QA:Testcase_Anaconda_rescue_mode
Update image
The installer must be able to download and use an installer update image from an HTTP server.
- Proposed 2012-01-30, implemented 2012-02-20.
- Test case: QA:Testcase_Anaconda_updates.img_via_URL
Failure reporting
The installer must be able to report failures to Bugzilla, with appropriate information included.
No, silly - we mean crashes, really. This is about the crash reporting capabilities: when the installer crashes, it should pop up some dialogs that let you send a report containing data on the crash.
Post-install requirements
Except where otherwise specified, each of these requirements applies to all supported configurations described above. These requirements are not applicable to cloud images.
Expected installed system boot behavior
- A working mechanism to create a user account must be clearly presented during installation and/or first boot of the installed system.
- A system installed with a release-blocking desktop must boot to a log in screen where it is possible to log in to a working desktop using a user account created during installation or a 'first boot' utility.
- A system installed without a graphical package set must boot to a state where it is possible to log in through at least one of the default virtual consoles.
In all of the above cases, if any system partitions were encrypted as part of the installation, the boot process must prompt for the passphrase(s) and correctly unlock the partition(s) when provided with the correct passphrase(s).
In all of the above cases, the boot should proceed without any unexpected user intervention being required. On a graphical install, if the user explicitly intervenes to prevent graphical boot by passing a bootloader parameter, the non-graphical requirement comes into effect.
System-specific bugs don't necessarily constitute an infringement of this criterion - for instance, if the system fails to boot because of a bug in the support some specific system's hardware, that is unlikely to constitute a violation unless the system is an extremely popular one. See Blocker_Bug_FAQ for more discussion of this.
These criteria can be used to cover known severe issues in applying post-release updates. For instance, if there was a bug that meant the system would install and boot fine but would break as soon as the user ran 'yum update', that may well be covered by these criteria.
On the first boot after installation, a utility for creating user accounts and other configuration may (may, not must) run prior to a log in screen appearing.
- 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.
- Changes to cover firstboot were proposed 2011-03-17, implemented 2011-03-29.
- Change to stop requiring text mode firstboot to work was proposed 2011-08-08, implemented 2011-08-17.
- Wording was simplified and clarified as part of the major Fedora 19 criteria revision.
- Change to reflect F19 firstboot->initial-setup/gnome-initial-setup migration and anaconda user creation proposed 2013-07-18, implemented 2013-07-24.
- Test cases:
Required applications
It must be possible to run the default web browser and a terminal application from all release-blocking desktop environments.
The web browser must be able to download files, load extensions (if applicable), and log into FAS.
- Requirement was in force for 'default desktop' in original Fedora 13 criteria revision.
- Modification to cover 'release-blocking desktops' was proposed 2011-05-17, implemented 2011-05-31.
- Test case: QA:Testcase_desktop_browser
Updates
The installed system must be able to download and install updates with the default console package manager.
A bug in some particular update package will not usually constitute a violation of this criterion. It's really about the update mechanism functioning correctly. So if yum is working fine, but the update transaction fails because there happen to be two conflicting packages in the repositories, that's not a release blocking problem.
- Requirement was in force for 'default desktop' in original Fedora 13 criteria revision.
- Modification to cover 'release-blocking desktops' was proposed 2011-05-17, implemented 2011-05-31.
- Modification to move graphical update requirement to Beta or Final agreed during 2013-09-18 blocker review meeting.
- Test case: QA:Testcase_desktop_updates
Desktop background
The default desktop background must be different from that of the two previous stable releases.
- Initial artwork criteria proposed 2010-10-10, implemented 2010-10-13.
- Revision to be less strict and pervasive proposed 2012-08-28, implemented 2012-09-04.
- Test case: QA:Testcase_base_startup
Self-identification
Any component which prominently identifies a Fedora release version number, code name or milestone (Alpha, Beta, Final) must do so correctly.
- Initial artwork criteria proposed 2010-10-10, implemented 2010-10-13.
- Revision to be less strict and pervasive proposed 2012-08-28, implemented 2012-09-04.
- Test case: QA:Testcase_base_startup
System logging
A system logging infrastructure must be available, enabled by default, and working.
Well, it must provide at least basic local file-based logging of kernel messages, and allow other components to write log messages. This must be done in accordance with relevant standards accepted by the Fedora Project.
- Thread 'Syslog not running' 2011-05-16.
- Proposed 2011-05-16, implemented 2011-05-17 as part of initial Fedora 16 Alpha criteria page creation.
- Test case: QA:Testcase_base_system_logging
Shutdown
It must be possible to trigger a clean system shutdown using standard console commands.
The system must shut down in such a way that storage volumes (e.g. simple partitions, LVs and PVs, RAID arrays) are taken offline safely and the system's BIOS or EFI is correctly requested to power down the system.
- Proposed 2011-07-22, Implemented 2011-07-27.
- Test case: QA:Testcase_desktop_login
Alpha Blocker Bugs
A bug is considered a Alpha 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 Alpha test plans or dramatically reduces test coverage
- Bug relates to an unmet Alpha 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 Alpha Release Requirements are not met by 20:00 ETC on Wednesday (1:00 AM UTC Thursday) the week prior to release day, the release will be delayed by one week so that the Alpha 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 Alpha 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.