From Fedora Project Wiki

< User:Roshi‎ | QA/Cloud Docs

Revision as of 21:09, 22 April 2014 by Roshi (talk | contribs) (→‎Startup requirements)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Alpha Objectives

The objectives of the Alpha release are to:

  1. Publicly release installable media versions of a feature complete test release
  2. Test accepted Changes of Fedora 20
  3. Identify as many F20 Beta blocker bugs as possible
  4. 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 40 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.

Milestone release?

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.

References

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.

What errors?

Critical errors include, but are not limited to, undeclared conflicts (explicit Conflicts: tags are acceptable) and unresolved dependencies.

References

Initialization requirements

Release-blocking images must boot

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

Supported architectures

Supported architectures are the Fedora primary architectures.

Supported firmware types

Release-blocking images must boot from all system firmware types that are commonly found on the primary architectures.

Supported ARM platforms

Supported ARM platforms are those listed by the ARM team at Architectures/ARM/Supported_Platforms.

Supported cloud environments

Release-blocking cloud images must boot in the Fedora OpenStack Cloud and in Amazon EC2.

Supported media types

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

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.
Boot menu contents

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

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.

References


Post-Boot requirements

Updates

The installed system must be able to download and install updates with the default console package manager.

Bugs in particular updates

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.

References

Self-identification

Any component which prominently identifies a Fedora release version number, code name or milestone (Alpha, Beta, Final) must do so correctly.

References

System logging

A system logging infrastructure must be available, enabled by default, and working.

What do you mean, '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.

References

Shutdown

It must be possible to trigger a clean system shutdown using standard console commands.

What do you mean, 'clean'?

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.

References


Alpha Blocker Bugs

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

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.

Related Pages