infra-docs-fpo/modules/release_guide/pages/beta_freeze.adoc
Tomas Hrcka 9af9868aa1 Update info about mass rebuild and beta freeze
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2023-04-24 14:20:40 +02:00

155 lines
5 KiB
Text

include::_partials/attributes.adoc[]
== Beta freeze and Bodhi Activation Point
=== Description
Bodhi must be activated after two weeks of
https://docs.pagure.org/releng/sop_mass_branching.html[Mass Branching]
at 14:00 UTC.
=== Action
==== Making koji changes
Make the following koji tag changes
[source,subs="attributes+"]
....
$ koji remove-tag-inheritance f{branched}-updates-candidate f{branched}
$ koji remove-tag-inheritance f{branched}-updates-testing f{branched}
$ koji remove-tag-inheritance f{branched}-updates-pending f{branched}
$ koji remove-tag-inheritance f{branched}-override f{branched}
$ koji add-tag-inheritance f{branched}-updates-candidate f{branched}-updates
$ koji add-tag-inheritance f{branched}-updates-testing f{branched}-updates
$ koji add-tag-inheritance f{branched}-updates-pending f{branched}-updates
$ koji add-tag-inheritance f{branched}-override f{branched}-updates
$ koji edit-tag --perm=admin f{branched}
....
==== Update bodhi rpm release
Set the bodhi rpm to release to not to automatically create the update
and also bodhi knows to compose the updates
[source,subs="attributes+"]
....
$ bodhi releases edit --name "F{branched}" --stable-tag f{branched}-updates --testing-repository updates-testing --package-manager dnf --no-create-automatic-updates --composed-by-bodhi --state frozen
....
==== Add the modular release
Run the following command on your own workstation to add the modular
release
[source,subs="attributes+"]
....
$ bodhi releases create --name F{branched}M --long-name "Fedora {branched} Modular" --id-prefix FEDORA-MODULAR --version {branched} --branch f{branched}m --dist-tag f{branched}-modular --stable-tag f{branched}-modular-updates --testing-tag f{branched}-modular-updates-testing --candidate-tag f{branched}-modular-updates-candidate --pending-stable-tag f{branched}-modular-updates-pending --pending-testing-tag f{branched}-modular-updates-testing-pending --pending-signing-tag f{branched}-modular-signing-pending --override-tag f{branched}-modular-override --state pending --user <fas username>
....
Please update fas account username in above command.
[WARNING]
.Warning
====
Due to a https://github.com/fedora-infra/bodhi/issues/2177[bug] in
Bodhi, it is critical that Bodhi processes be restarted any time
`bodhi releases create` or `bodhi releases edit` are used.
====
[NOTE]
.Note
====
Add the container and flatpak releases if they weren't already added to
bodhi
====
=== Update vars
Update the _FedoraBranchedBodhi_ and _RelEngFrozen_ vars in infra
ansible
=== Update all relevant projects in ansible
As in https://pagure.io/fedora-infra/ansible/pull-request/1327[this Ansible Pull request] create changes for the {branched} release
==== Run the playbooks
....
$ rbac-playbook openshift-apps/greenwave.yml
$ rbac-playbook openshift-apps/bodhi.yml
$ rbac-playbook groups/bodhi-backend.yml
$ rbac-playbook groups/releng-compose.yml
$ rbac-playbook manual/autosign.yml
....
Greenwave runs in OpenShift (as implied by the playbook paths), and so
the change will not be live right away when the playbook finishes. You
can monitor
https://greenwave-web-greenwave.app.os.fedoraproject.org/api/v1.0/policies
to wait for the new policy to appear (it should take a few minutes).
==== Restart bodhi services
Restart bodhi services to understand the bodhi new release on
bodhi-backend01 (Look at warning in
https://docs.pagure.org/releng/sop_bodhi_activation.html#action and the
bug is https://github.com/fedora-infra/bodhi/issues/2177)
....
$ sudo systemctl restart bodhi-celery
$ sudo systemctl restart fm-consumer@config
$ sudo systemctl restart koji-sync-listener
....
==== Send Announcement
Email *devel-announce* and *test-announce* lists about Bodhi Activation.
Please find the body of the email in templates dir in https://pagure.io/releng/blob/main/f/mail-templates/04-beta-freeze.txt[releng repository]
=== Verification
Compare koji tagging structure with older release
[source,subs="attributes+"]
....
$ koji list-tag-inheritance {branched} --reverse
$ koji list-tag-inheritance {current} --reverse
....
Compare the bodhi release with older release
[source,subs="attributes+"]
....
$ bodhi releases info {branched}
$ bodhi releases info {current}
....
Check for other variants like modular, container and flatpaks
=== Process stable push requests
During feezes we need to push to stable builds included in the compose.
QA will file a ticket with the nvrs to push.
[NOTE]
.Note
====
If you are pushing a bodhi update that contains multiple builds, you
need only pass bodhi-push a single build nvr and all the others in that
update will be detected and pushed along with it. However, if you are
pushing multiple disjoint bodhi updates then each build will need to be
listed individually.
====
....
$ sudo -u apache bodhi-push --builds '<nvr1>,<nvr2>,...' --username <username>
....
=== Consider Before Running
No considerations at this time. The docs git repository is simply a
static html hosting space and we can just re-render the docs and push to
it again if necessary.