infra-docs-fpo/modules/release_guide/pages/final_freeze.adoc
Adam Williamson 9c3c11965a Updates and cleanups for release process docs
This started out as a small change to drop references to
RelEngFrozen and clean up references to Frozen, but it got...
bigger.

We drop the sop_bodhi_activation page entirely (it is redundant
with the beta_freeze page, but worse).

We change the variable updated at freeze and release points to
always be `NextReleaseFrozen`, which is introduced in
https://pagure.io/fedora-infra/ansible/pull-request/2481 and
meant to have the same meaning as `RelEngFrozen` but be more
accurately named (as it's only one release that freezes, not all
of releng).

We extend the Fedora Release Infrastructure SOP page to document
starting and ending the infra freeze, and updating the
appropriate ansible variable.

beta_freeze page changes:

* General style/grammar cleanups
* s/Bodhi activation point/updates-testing activation point/g
* Clarify that freeze and u-t activation are distinct events
* Drop an obsolete warning and steps related to a now-fixed Bodhi bug
* Clarify and standardize ansible variable changes
* Correct the list of playbooks to be run (koji-hub is needed as
  it depends on `Frozen`, the removed ones are not needed)
* Move the body of the email announcement into the SOP so the
  release number can be templated (this is now consistent with
  final_freeze)
* Simplify stable push instructions
* Drop fedora-beta.conf creation - duplicated with beta_RC_compose
* Drop incorrect text from Consider Before Running section

beta_release page changes:

* General style/grammar	cleanups
* Clarify and standardize ansible variable changes
* Correct playbooks (add koji-hub), move to logical place in order

final_freeze page changes:

* Clarify and standardize ansible variable changes
* Fix empty 'Process stable push requests' section

final_release page changes:

* Clarify and standardize ansible variable changes
* Drop pungi.rpm.conf.j2 changes - depends on:
  https://pagure.io/fedora-infra/ansible/pull-request/2471
* Add multiple missing playbook executions
* Update the reference PR to F41

sop_mass_branching changes:

* Correct the list of playbooks to be run - both Bodhi playbooks
  are needed, MBS is gone, and there's a stray $ sign in one

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-02-18 11:01:53 -08:00

100 lines
3.1 KiB
Text

include::_partials/attributes.adoc[]
= Fedora Final Freeze
== Make sure all retired packages are blocked in koji
Before the freeze we have to make sure all retired packages have been blocked in koji.
To do this, [run the script](https://pagure.io/releng/blob/main/f/scripts/get_retired_packages.sh) that collects all the retired packages
and outputs them into json files in the [lookaside cache](https://src.fedoraproject.org/lookaside).
....
$ ssh pkgs01.fedoraproject.org
$ cd releng/scripts && 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.
Web console: https://console-openshift-console.apps.ocp.fedoraproject.org
....
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
[source,subs="attributes+"]
....
$ sudo -u apache bodhi-push --releases --stable 'f{branched}'
....
== Update Ansible vars
Set the https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml[_NextReleaseFrozen_ variable] to `True`.
=== Run the playbook
....
$ rbac-playbook groups/koji-hub.yml
....
== Update Bodhi release
[source,subs="attributes+"]
....
$ bodhi releases edit --name F{branched} --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.
For the reference, you can refer generic https://pagure.io/releng/blob/main/f/mail-templates/06-final-freeze.txt[template] for final freeze from release engineering repo.
[source,subs="attributes+"]
....
Hi all,
Today, YYYY-MM-DD, is an important day on the Fedora Linux {branched} 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-{branched}/f-{branched}-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/f{branched}/final/buglist
....
[NOTE]
====
Please ensure that the reminder email is sent once the state becomes frozen.
====
== During the 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.