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>
This commit is contained in:
parent
b2f3b6589a
commit
9c3c11965a
8 changed files with 196 additions and 249 deletions
|
@ -35,7 +35,7 @@ Don't leak.
|
|||
. Communication with Red Hat IS (Give at least 2 months notice, then
|
||||
reminders as the time comes near) (final release only)
|
||||
|
||||
. Infrastructure change freeze
|
||||
. Announce the start of the infrastructure change freeze, update ansible variable
|
||||
|
||||
. Modify _Template:FedoraVersion_ to reference new version. (Final release
|
||||
only)
|
||||
|
@ -45,8 +45,101 @@ only)
|
|||
. Switch release from development/N to normal releases/N/ tree in mirror
|
||||
manager (post final release only)
|
||||
|
||||
. Announce the end of the infrastructure change freeze, update ansible variable
|
||||
|
||||
== Change Freeze
|
||||
|
||||
=== Starting the infrastructure freeze
|
||||
|
||||
The schedule will list the date the infrastructure freezes should be
|
||||
imposed (three weeks before the early target release date, for Beta;
|
||||
two weeks before, for Final). On this date, some hours after the
|
||||
release freeze goes into effect, set the InfraFrozen variable in
|
||||
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml[Frozen.yaml]
|
||||
to True. Then send out an email to the infrastructure list. The subject
|
||||
should be "Fedora <NN> <Beta/Final> Freeze now in effect!"
|
||||
(insert release number and delete milestone as appropriate). The body
|
||||
should read:
|
||||
|
||||
[source,subs="attributes+"]
|
||||
....
|
||||
Greetings.
|
||||
|
||||
we are now in the infrastructure freeze leading up to the Fedora <NN>
|
||||
Final release. This is a <final/pre> release freeze.
|
||||
|
||||
We do this to ensure that our infrastructure is stable and ready to
|
||||
release Fedora <NN> <Beta> when it's available.
|
||||
|
||||
You can always check if an infrastructure freeze is in place by
|
||||
checking the value of the InfraFrozen variable at:
|
||||
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml
|
||||
|
||||
You can see a list of hosts that do not freeze by checking out the
|
||||
ansible repo and running the freezelist script:
|
||||
|
||||
git clone
|
||||
https://infrastructure.fedoraproject.org/infra/ansible.git
|
||||
ansible/scripts/freezelist -i inventory
|
||||
|
||||
Any host listed as "freezes" is frozen until <YYYY-MM-DD> (or later if
|
||||
release slips). Frozen hosts should have no changes made to them without
|
||||
a sign-off on the change from at least 2 sysadmin-main or rel-eng
|
||||
members, along with (in most cases) a patch of the exact change to be
|
||||
made to this list and/or a pull-request to the infra/ansible repo.
|
||||
|
||||
Thanks,
|
||||
Fedora infrastructure team
|
||||
....
|
||||
|
||||
You must make manual edits everywhere you see angle brackets `<>`,
|
||||
depending on whether this is the Beta or Final infra freeze, and to
|
||||
insert the appropriate date for the freeze to be lifted. This date
|
||||
should be one day after the earliest target release date on the
|
||||
schedule. Replace `<NN>` with the appropriate release number.
|
||||
|
||||
The exact timing of the freeze is a little flexible to allow for last-
|
||||
minute changes. Co-ordinate with the rest of the team on this. If
|
||||
nothing in particular is pending, aim to send the mail four to six
|
||||
hours after the release freeze is announced.
|
||||
|
||||
=== Ending the infrastructure freeze
|
||||
|
||||
A day after the release happens, the infrastructure freeze should be
|
||||
lifted. Do this only after making sure there are no important
|
||||
outstanding tasks related to the release that should be addressed
|
||||
before the freeze ends.
|
||||
|
||||
Set the InfraFrozen variable in
|
||||
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml[Frozen.yaml]
|
||||
to False. Then send out an email to the infrastructure list. The
|
||||
subject should be "Fedora <NN> <Beta/Final> Freeze now over!"
|
||||
(insert release number and delete milestone as appropriate). The body
|
||||
should read:
|
||||
|
||||
[source,subs="attributes+"]
|
||||
....
|
||||
With the release of Fedora <NN> <Beta> yesterday, infrastructure freeze is now
|
||||
over.
|
||||
|
||||
You can always check if an infrastructure freeze is in place by
|
||||
checking the value of the InfraFrozen variable at:
|
||||
https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/Frozen.yaml
|
||||
|
||||
Our next freeze is for Fedora <release> <Beta>, currently scheduled for
|
||||
<YYYY-MM-DD>.
|
||||
|
||||
Thanks,
|
||||
Fedora infrastructure team
|
||||
....
|
||||
|
||||
You must make manual edits everywhere you see angle brackets `<>`,
|
||||
depending on whether this is the Beta or Final infra freeze, and to
|
||||
insert the appropriate date for the next freeze. Replace `<NN>` with
|
||||
the appropriate release number.
|
||||
|
||||
=== Infrastructure freeze rules
|
||||
|
||||
The rules are simple:
|
||||
|
||||
* Hosts with the ansible variable "freezes" "True" are frozen.
|
||||
|
@ -63,11 +156,6 @@ sysadmin-main or sysadmin-releng group members before being applied.
|
|||
* Changes to recover from outages are acceptable to frozen hosts if
|
||||
needed.
|
||||
|
||||
Change freezes will be sent to the fedora-infrastructure-list and begin
|
||||
3 weeks before each release and the final release. The freeze will end
|
||||
one day after the release. Note, if the release slips during a change
|
||||
freeze, the freeze just extends until the day after a release ships.
|
||||
|
||||
You can get a list of frozen/non-frozen hosts by:
|
||||
|
||||
....
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue