[releng] - more EOL & compose docs

Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
This commit is contained in:
Tomáš Hrčka 2023-03-03 09:08:14 +01:00
parent 0aab9c4758
commit dde340b904
4 changed files with 176 additions and 2 deletions

View file

@ -1,4 +1,4 @@
== Release candidate
== Beta Release candidate
When Quality Engineering (QE) requests a Release Candidate (RC) they do
so by opening an issue in the releng repository on pagure. Release

View file

@ -1,2 +1,3 @@
include::_partials/attributes.adoc[]
== Final Release candidate

View file

@ -1 +1,2 @@
include::_partials/attributes.adoc[]
== Fedora Final Freeze

View file

@ -1,3 +1,4 @@
include::_partials/attributes.adoc[]
== End Of Life
=== Description
@ -14,4 +15,175 @@ necessary to move a release to that status.
==== Reminder announcement
Send an email to devel@, devel-announce@, test-announce@, announce@
lists as remainder about the release EOL. Use https://pagure.io/releng/blob/main/f/mail-templates/07-end-of-life.txt[template] from release engineering repo
lists as remainder about the release EOL. Use https://pagure.io/releng/blob/main/f/mail-templates/07-end-of-life.txt[template] from release engineering repo
==== Koji tasks
* Disable builds by removing targets
....
$ koji remove-target {old_release}
$ koji remove-target {old_release}-candidate
$ koji remove-target {old_release}-container-candidate
$ koji remove-target {old_release}-flatpak-candidate
$ koji remove-target {old_release}-infra
$ koji remove-target {old_release}-coreos-continuous
$ koji remove-target {old_release}-rebuild
$ koji remote-target <side-targets> #any side targets that are still around
....
* Purge from disk the signed copies of rpms that are signed with the
EOL'd release key. To acheive this, add the release key to
*koji_cleanup_signed.py* script in https://pagure.io/releng[releng] repo
and the script on compose-branched01.iad2.fedoraproject.org
....
./scripts/koji_cleanup_signed.py
....
==== PDC tasks
* Set PDC *active* value for the release to *False*
....
curl -u: -H 'Authorization: Token <token>' -H 'Accept: application/json' -H 'Content-Type:application/json' -X PATCH -d '{"active":"false"}' https://pdc.fedoraproject.org/rest_api/v1/releases/fedora-31/
....
* Set the EOL dates in PDC for all the components to the release EOL
date if they are not already set. Run the following script from
https://pagure.io/releng[releng] repo
....
python scripts/pdc/adjust-eol-all.py <token> f31 2020-11-24
....
==== Bodhi tasks
* Run the following bodhi commands to set the releases state to
*archived*
....
$ bodhi releases edit --name "F31" --state archived
$ bodhi releases edit --name "F31M" --state archived
$ bodhi releases edit --name "F31C" --state archived
$ bodhi releases edit --name "F31F" --state archived
....
==== Fedora Infra Ansible Changes
* We need to make changes to bodhi, koji, mbs, releng, autosign roles in
ansible repo.
* Run the associated playbooks on _batcave_
....
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/groups/bodhi-backend.yml
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/groups/koji-hub.yml
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/groups/mbs.yml
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/groups/releng-compose.yml
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/groups/proxies -t pkgdb2
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/manual/autosign.yml
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/openshift-apps/bodhi.yml
....
==== MBS Platform Retirement
* To retire the platform in mbs, run the following command on
mbs-backend01.iad2.fedoraproject.org
....
$ sudo mbs-manager retire platform:f31
....
==== Final announcement
* Send the final announcement to devel@, devel-announce@,
test-announce@, announce@ lists
Use https://pagure.io/releng/blob/main/f/mail-templates/07-end-of-life.txt[template] from release engineering repo
===== Update FedoraPreviousPrevious.yaml in ansible repository
set the variable to False
===== Move the EOL release to archive
. log into to bodhi-backend01 and become root
+
____
....
$ ssh bodhi-backend01.iad2.fedoraproject.org
$ sudo su
$ su - ftpsync
....
____
. then change into the releases directory.
+
____
....
$ cd /pub/fedora/linux/releases
....
____
. check to see that the target directory doesnt already exist.
+
____
....
$ ls /pub/archive/fedora/linux/releases/
....
____
. do a recursive rsync to update any changes in the trees since the
previous copy.
+
____
....
$ rsync -avAXSHP ./35/ /pub/archive/fedora/linux/releases/35/
....
____
. we now do the updates and updates/testing in similar ways.
+
____
....
$ cd ../updates/
$ rsync -avAXSHP 35/ /pub/archive/fedora/linux/updates/35/
$ cd testing
$ rsync -avAXSHP 35/ /pub/archive/fedora/linux/updates/testing/35/
....
____
. do the same with fedora-secondary.
. announce to the mirror list this has been done and that in 2 weeks you
will move the old trees to archives.
. in two weeks, log into mm-backend01 and run the archive script
+
____
....
$ sudo -u mirrormanager mm2_move-to-archive --originalCategory="Fedora Linux" --archiveCategory="Fedora Archive" --directoryRe='/35/Everything'
....
____
. if there are problems, the postgres DB may have issues and so you need
to get a DBA to update the backend to fix items.
. wait an hour or so then you can remove the files from the main tree.
+
____
....
$ ssh bodhi-backend01
$ cd /pub/fedora/linux
$ cd releases/35
$ ls # make sure you have stuff here
$ rm -rf *
$ ln ../20/README .
$ cd ../../updates/35
$ ls #make sure you have stuff here
$ rm -rf *
$ ln ../20/README .
$ cd ../testing/35
$ ls # make sure you have stuff here
$ rm -rf *
$ ln ../20/README .
....
____
== Consider Before Running
* Resource contention in infrastructure, such as outages
* Extenuating circumstances for specific planned updates, if any
* Send the reminder announcement, if it isn't sent already