User:Adamwill/Draft alpha criteria sandbox

From FedoraProject

< User:Adamwill(Difference between revisions)
Jump to: navigation, search
(very rough draft of a category / hidden text based layout)
Line 13: Line 13:
 
{{anchor|alpha-blockers-closed}}
 
{{anchor|alpha-blockers-closed}}
 
==== Alpha blockers CLOSED ====
 
==== Alpha blockers CLOSED ====
All bugs blocking the [https://bugzilla.redhat.com/showdependencytree.cgi?id=f19alpha&hide_resolved=1 Alpha tracker] must be [[BugZappers/BugStatusWorkFlow#CLOSED|CLOSED]]
+
All bugs blocking the [https://bugzilla.redhat.com/showdependencytree.cgi?id=f19alpha&hide_resolved=1 Alpha tracker] must be [[BugZappers/BugStatusWorkFlow#CLOSED|CLOSED]].
  
 
{{anchor|correct-checksums}}
 
{{anchor|correct-checksums}}
Line 21: Line 21:
 
{{anchor|no-broken-packages}}
 
{{anchor|no-broken-packages}}
 
==== No broken packages ====
 
==== No broken packages ====
There must be no errors in any package on the supported media (REF) which cause the package to fail to install.
+
There must be no errors in any package on the supported images which cause the package to fail to install.
 
{{hidden|header=What errors?|content=Critical errors include, but are not limited to, undeclared conflicts (explicit Conflicts: tags are acceptable) and unresolved dependencies.|headerstyle=background:#ccccff}}
 
{{hidden|header=What errors?|content=Critical errors include, but are not limited to, undeclared conflicts (explicit Conflicts: tags are acceptable) and unresolved dependencies.|headerstyle=background:#ccccff}}
  
 +
{{anchor|initialization-requirements}}
 
=== Initialization requirements ===
 
=== Initialization requirements ===
 
{{anchor|supported-images-must-boot}}
 
{{anchor|supported-images-must-boot}}
Line 31: Line 32:
 
{{hidden|header=Supported firmware types|content=Supported images must boot from all system firmware types that are commonly found on the primary architectures.|headerstyle=background:#ccccff}}
 
{{hidden|header=Supported firmware types|content=Supported images must boot from all system firmware types that are commonly found on the primary architectures.|headerstyle=background:#ccccff}}
 
{{hidden|header=Supported media types|content=Supported 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 [[How_to_create_and_use_Live_USB|officially supported methods]].|headerstyle=background:#ccccff}}
 
{{hidden|header=Supported media types|content=Supported 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 [[How_to_create_and_use_Live_USB|officially supported methods]].|headerstyle=background:#ccccff}}
 +
{{hidden|header=System-specific bugs|content=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.|headerstyle=background:#ccccff}}
  
{{anchor|expected-boot-behavior}}
+
{{anchor|expected-image-boot-behavior}}
==== Expected boot behavior ====
+
==== Expected image boot behavior ====
Supported dedicated installer images must boot to the expected boot menu, and then after a reasonable timeout to the installer. Supported 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.
+
* Supported dedicated installer images must boot to the expected boot menu, and then after a reasonable timeout to the installer.
 +
* Supported 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.
 
{{hidden|header=Boot menu contents|content=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.|headerstyle=background:#ccccff}}
 
{{hidden|header=Boot menu contents|content=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.|headerstyle=background:#ccccff}}
 +
{{hidden|header=System-specific bugs|content=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.|headerstyle=background:#ccccff}}
  
 +
{{anchor|installer-requirements}}
 
=== Installer requirements ===
 
=== Installer requirements ===
Except where otherwise specified, each of these requirements applies to all supported configurations described above.
+
Except where otherwise specified, each of these requirements applies to all supported configurations described [[#initialization-requirements|above]].
  
 
{{anchor|installer-must-run}}
 
{{anchor|installer-must-run}}
Line 56: Line 61:
 
==== Installation interfaces ====
 
==== 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.
 
When using the dedicated installer images, the installer must be able to complete an installation using the text, graphical and VNC installation interfaces.
 +
{{hidden|header=Showstoppers|content=This criterion can be used to cover showstopper bugs in the installer for which there isn't a specific criterion: obviously, it can't 'complete an installation' if there's a showstopper.|headerstyle=background:#ccccff}}
  
 
{{anchor|package-sets}}
 
{{anchor|package-sets}}
Line 64: Line 70:
 
{{anchor|disk-selection}}
 
{{anchor|disk-selection}}
 
==== Disk selection ====
 
==== Disk selection ====
The installer must allow the user to select which of the disks connected to the system will be affected by the installation process.
+
The user must be able to select which of the disks connected to the system will be affected by the installation process.
 
{{hidden|header=Other disks not touched|content=Disks not selected as installation targets must not be affected by the installation process in any way.|headerstyle=background:#ccccff}}
 
{{hidden|header=Other disks not touched|content=Disks not selected as installation targets must not be affected by the installation process in any way.|headerstyle=background:#ccccff}}
  
 
{{anchor|storage-interfaces}}
 
{{anchor|storage-interfaces}}
 
==== Storage interfaces ====
 
==== Storage interfaces ====
The installer must be able to complete an installation using any supported locally connected storage interface
+
The installer must be able to complete an installation using any supported locally connected storage interface.
 
{{hidden|header=What are they?|content='Locally connected storage interfaces' include PATA, SATA and SCSI.|headerstyle=background:#ccccff}}
 
{{hidden|header=What are they?|content='Locally connected storage interfaces' include PATA, SATA and SCSI.|headerstyle=background:#ccccff}}
  
 +
{{anchor|disk-layouts}}
 +
==== Disk layouts ====
 +
The installer must be able to complete an installation to a single disk using automatic partitioning.
 +
{{hidden|header=Details!|content=...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.|headerstyle=background:#ccccff}}
  
# The installer must be able to complete an installation using automatic partitioning to any sufficiently large target disk, whether unformatted, empty, or containing any kind of existing data
+
{{anchor|rescue-mode}}
 +
==== Rescue mode ====
 +
The rescue mode of the installer must start successfully and be able to detect and mount an existing default installation.
 +
{{hidden|header=Start successfully?|content='Start successfully' means it should be able to get you to a console that can interact with the mounted installation.|headerstyle=background:#ccccff}}
  
# The rescue mode of the installer must start successfully and be able to detect and mount an existing default installation
+
{{anchor|update-image}}
# The installer must be able to download and use an [[Anaconda/Updates| installer update image]] from an HTTP server
+
==== Update image ====
# The installer must be able to report failures to Bugzilla and local disk, with appropriate information included
+
The installer must be able to download and use an [[Anaconda/Updates|installer update image]] from an HTTP server.
# In most cases (see [[Blocker_Bug_FAQ]]), a system installed according to any of the above criteria (or the appropriate Beta or Final criteria, when applying this criterion to those releases) must boot to the 'firstboot' utility on the first boot after installation, without unintended user intervention, unless the user explicitly chooses to boot in non-graphical mode. This includes correctly accessing any encrypted partitions when the correct passphrase is supplied. The firstboot utility must be able to create a working user account
+
 
# Following on from the previous criterion, after firstboot is completed and on subsequent boots, a system installed according to any of the above criteria (or the appropriate Beta or Final criteria, when applying this criterion to those releases) must boot to a working graphical environment without unintended user intervention. This includes correctly accessing any encrypted partitions when the correct passphrase is supplied
+
{{anchor|failure-reporting}}
# When booting a system installed without a graphical environment, or when using a correct configuration setting to cause an installed system to boot in non-graphical mode, the system should boot to a state where it is possible to log in through at least one of the default virtual consoles
+
==== Failure reporting ====
# 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, and log into [https://admin.fedoraproject.org/accounts/ FAS]
+
The installer must be able to report failures to Bugzilla, with appropriate information included.
# The installed system must be able to download and install updates with yum and the default graphical package manager in all release-blocking desktops
+
{{hidden|header=You mean, ANY failures?|content=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.|headerstyle=background:#ccccff}}
# The default desktop background must be different from that of the two previous stable releases
+
 
# Any component which prominently identifies a Fedora release version number, code name or phase (Alpha, Beta, Final) must do so correctly
+
{{anchor|post-install-requirements}}
# A system logging infrastructure must be available and enabled by default. 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 Project
+
=== Post-install requirements ===
# It must be possible to trigger a system shutdown using standard console commands, and 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
+
Except where otherwise specified, each of these requirements applies to all supported configurations described [[#initialization-requirements|above]].
 +
 
 +
{{anchor|expected-installed-system-boot-behavior}}
 +
==== Expected installed system boot behavior ====
 +
* A system installed with a graphical package set must boot to the 'firstboot' utility on the first boot after installation. The firstboot utility must be able to create a working user account.
 +
* After firstboot is completed and on subsequent boots, a graphical install must boot to a log in screen where it is possible to log in to a working desktop as the user created during firstboot.
 +
* 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.
 +
{{hidden|header=Encrypted partitions|content=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).|headerstyle=background:#ccccff}}
 +
{{hidden|header=User intervention|content=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.|headerstyle=background:#ccccff}}
 +
 
 +
{{anchor|required-applications}}
 +
==== Required applications ====
 +
It must be possible to run the default web browser and a terminal application from all release-blocking desktop environments.
 +
{{hidden|header=Web browser requirements|content=The web browser must be able to download files, load extensions (if applicable), and log into [https://admin.fedoraproject.org/accounts/ FAS].|headerstyle=background:#ccccff}}
 +
 
 +
{{anchor|updates}}
 +
==== Updates ====
 +
The installed system must be able to download and install updates with yum and with the default graphical package manager in all release-blocking desktops.
 +
{{hidden|header=Bugs in particular updates|content=A bug in some particular update package will not usually constitute a violation of this criterion. It's really about the update mechanisms 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.|headerstyle=background:#ccccff}}
 +
 
 +
{{anchor|desktop-background}}
 +
==== Desktop background ====
 +
The default desktop background must be different from that of the two previous stable releases.
 +
 
 +
{{anchor|self-identification}}
 +
==== Self-identification ====
 +
Any component which prominently identifies a Fedora release version number, code name or milestone (Alpha, Beta, Final) must do so correctly.
 +
 
 +
{{anchor|system-logging}}
 +
==== System logging ====
 +
A system logging infrastructure must be available, enabled by default, and working.
 +
{{hidden|header=What do you mean, 'working'?|content=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.|headerstyle=background:#ccccff}}
 +
 
 +
{{anchor|shutdown}}
 +
==== Shutdown ====
 +
It must be possible to trigger a clean system shutdown using standard console commands.
 +
{{hidden|header=What do you mean, 'clean'?|content=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.|headerstyle=background:#ccccff}}
  
 
<!--  
 
<!--  

Revision as of 03:34, 5 February 2013

Contents

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 features of Fedora 19
  3. Identify as many F19Beta blocker bugs as possible
  4. Identify as many F19Blocker blocker bugs as possible

Alpha Release Requirements

In order to be released to the general public, the Alpha Candidate (RC) 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 the x86 architectures is GNOME and KDE, and for the ARM architectures is KDE. 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 network install image, the DVD image, and the live images for each of the release-blocking desktops.

Process requirements

Alpha blockers CLOSED

All bugs blocking the Alpha tracker must be CLOSED.

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 supported images which cause the package to fail to install.

Initialization requirements

Supported images must boot

All supported images must boot in their supported configurations.

Expected image boot behavior

  • Supported dedicated installer images must boot to the expected boot menu, and then after a reasonable timeout to the installer.
  • Supported 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.

Installer requirements

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

Installer must run

The installer must run when launched normally from the supported images.

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.

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.

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.

Disk selection

The user must be able to select which of the disks connected to the system will be affected by the installation process.

Storage interfaces

The installer must be able to complete an installation using any supported locally connected storage interface.

Disk layouts

The installer must be able to complete an installation to a single disk using automatic partitioning.

Rescue mode

The rescue mode of the installer must start successfully and be able to detect and mount an existing default installation.

Update image

The installer must be able to download and use an installer update image from an HTTP server.

Failure reporting

The installer must be able to report failures to Bugzilla, with appropriate information included.

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 with a graphical package set must boot to the 'firstboot' utility on the first boot after installation. The firstboot utility must be able to create a working user account.
  • After firstboot is completed and on subsequent boots, a graphical install must boot to a log in screen where it is possible to log in to a working desktop as the user created during firstboot.
  • 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.

Required applications

It must be possible to run the default web browser and a terminal application from all release-blocking desktop environments.

Updates

The installed system must be able to download and install updates with yum and with the default graphical package manager in all release-blocking desktops.

Desktop background

The default desktop background must be different from that of the two previous stable releases.

Self-identification

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

System logging

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

Shutdown

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


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 feature being incomplete, in and of itself, does not constitute a blocker bug. The feature process is separate from this process. Features are required to meet certain standards at certain points of the release cycle, but this is part of the feature 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