Fedora Final Freeze

Description

TODO

Release Engineering Freeze Guidelines

During the Beta and Final Freeze periods, Release Engineering should avoid making changes that could affect the release in unexpected ways. This includes, but is not limited to, merging changes to the Ansible repository, modifying Koji configuration policies, updating signing infrastructure, or changing compose tooling.

Routine operations that do not affect the frozen release, such as Rawhide builds, side tag work, or ELN tasks may continue as normal.

Freeze exception requests should be processed following the standard approval workflow.

Emergency fixes to frozen systems require a freeze break request with two approvals before proceeding.

If you are unsure whether a change is safe, defer it until after the freeze or ask a more senior team member for guidance.

For more details on the Beta and Final Freeze from the Fedora Infrastructure point of view, please visit this link.

Action

Block Retired Packages In Koji

Before the freeze we have to make sure all retired packages have been blocked in Koji.

To do this, run the script that collects all the retired packages and outputs them into json files in the (lookaside cache.

$ ssh pkgs01.fedoraproject.org
$ cd releng/scripts_new/packages/distgit/get_retired_packages.sh && bash get_retired_packages.sh

This script will run about 20 minutes. Once finished, run toddler 'koji_block_retired' to block all retired packages in koji.

oc login --token=<token> --server=https://api.ocp.fedoraproject.org:6443
oc project poddlers
oc rsh dc/koji_block_retired
python3 /code/toddlers/playtime.py koji_block_retired

Before freezing everything we need to do the last stable push in bodhi.

Stable Push

$ sudo -u apache bodhi-push --releases --stable 'f44'

Update Ansible Vars

Set the NextReleaseFrozen variable to True.

Run The Playbook

$ rbac-playbook groups/koji-hub.yml

Update Bodhi Release

$ bodhi releases edit --name F44 --state frozen

Reminder announcement

Send an email as mentioned below to devel@, devel-announce@, test-announce@, announce@ lists as information that the final freeze is now active.

Hi all,

Today, YYYY-MM-DD, is an important day on the Fedora Linux 44 schedule
[1], with significant cut-offs.

Today we have the Final Freeze [2] which starts at 14:00 UTC. This means
that only packages which fix accepted blocker or freeze exception bugs
[3][4][5] will be marked as 'stable' and included in the Final composes.
Other builds will remain in updates-testing until the Final release is
approved, at which point the Final freeze is lifted and packages can
move to the 'updates' repository. Pending updates will be pushed before
final release as zero day updates.

Regards,
Fedora Release Engineering

[1] https://fedorapeople.org/groups/schedule/f-44/f-44-key-tasks.html
[2] https://fedoraproject.org/wiki/Milestone_freezes
[3] https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process
[4] https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process
[5] https://qa.fedoraproject.org/blockerbugs/milestone/f44/final/buglist

Please ensure that the reminder email is sent once the state becomes frozen.

During Final Freeze

Process Stable Push Requests

During freezes we need to push updates that fix blocker and freeze exception issues to stable when requested. QA will file a ticket with the updates to push, which will include the appropriate command(s). Verify the command(s) and run them.