(addition to the previous change - also adjust the criterion header) |
Coremodule (talk | contribs) (merging IoT draft criteria into the mainline QA criteria page, see: https://pagure.io/fedora-qa/issue/622) |
||
Line 110: | Line 110: | ||
{{anchor|default-package-set}} | {{anchor|default-package-set}} | ||
==== Default package set ==== | ==== Default package set ==== | ||
When installing with a dedicated installer image for a specific Fedora | When installing with a dedicated installer image for a specific Fedora edition, the default package set must be the correct set for that edition. | ||
{{hidden|header=Correct?|content= | {{hidden|header=Correct?|content= | ||
The "correct" package set for a | 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. | ||
|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}} | |headerstyle=background:#e5e5e5|fw1=normal|ta1=left}} | ||
{{hidden|header=References|content= | {{hidden|header=References|content= | ||
Line 448: | Line 448: | ||
|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}} | |headerstyle=background:#e5e5e5|fw1=normal|ta1=left}} | ||
{{anchor|IoT-edition-requirements}} | |||
=== <span style="text-decoration:underline">[https://iot.fedoraproject.org/ IoT] Edition requirements</span> === | |||
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. | |||
{{hidden|header=References|content= | |||
* Test cases: [[QA:Testcase_Podman]] | |||
|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}} | |||
{{Template:Release_criteria_definition|prerelease=Beta}} | {{Template:Release_criteria_definition|prerelease=Beta}} |
Latest revision as of 02:27, 7 October 2020
🔗 Beta Objectives
The objectives of the Beta release are to:
- 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
- Finish testing Fedora 33 Changes
- Identify as many F33 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.
🔗 Beta blockers CLOSED
All bugs blocking the Beta tracker must be CLOSED.
🔗 Image size requirements
The release-blocking images must meet current size requirements.
🔗 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.
🔗 Initialization requirements
🔗 Release-blocking images must boot
All release-blocking images must boot in their supported configurations.
🔗 Installer requirements
🔗 Remote package sources
When using the dedicated installer images, the installer must be able to use HTTP, FTP and NFS repositories as package sources.
🔗 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.
🔗 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.
🔗 Package set selection
When installing with the generic network install image, interactively selecting a package set other than the default must work.
🔗 Kickstart delivery
The installer must be able to use all available kickstart delivery methods.
🔗 Guided partitioning
When using the guided partitioning flow, 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
- Remove existing storage volumes to free up space, at the user's direction
- Reject or disallow invalid disk and volume configurations without crashing.
🔗 Custom partitioning
When using both the installer-native and the blivet-gui-based custom partitioning flow, 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.
🔗 Hardware RAID
- The installer must be able to detect and install to hardware RAID storage devices.
🔗 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.
🔗 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.
🔗 Virtualization requirements
🔗 Self hosting virtualization
The release must be able host virtual guest instances of the same release.
🔗 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.
🔗 Working sound
The installed system must be able to play back sound with gstreamer-based applications.
🔗 Desktop panel
No part of any release-blocking desktop's panel (or equivalent) configuration may crash on startup or be entirely non-functional.
🔗 Automatic mounting
Automatic mounting of removable media on insertion must work in release-blocking desktops.
🔗 Printing
Printing must work in release-blocking desktops on at least one printer available to those performing validation testing.
🔗 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.
🔗 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.
🔗 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.
🔗 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.
🔗 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.
🔗 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.
🔗 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.
🔗 Cloud-init
The cloud-init package must be functional for release blocking cloud images.
🔗 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.
🔗 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.