End Of Life
Description
Each release of Fedora is maintained as laid out in the
maintenance
schedule. At the conclusion of the maintenance period, a Fedora release
enters end of life
status. This procedure describes the tasks
necessary to move a release to that status.
Actions
Reminder announcement
Send an email to devel@, devel-announce@, test-announce@, announce@ lists as remainder about the release EOL. Use template from release engineering repo
Koji tasks
-
Disable builds by removing targets
$ koji remove-target 36
$ koji remove-target 36-candidate
$ koji remove-target 36-container-candidate
$ koji remove-target 36-flatpak-candidate
$ koji remove-target 36-infra
$ koji remove-target 36-coreos-continuous
$ koji remove-target 36-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 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 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 "F36" --state archived
$ bodhi releases edit --name "F36M" --state archived
$ bodhi releases edit --name "F36C" --state archived
$ bodhi releases edit --name "F36F" --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:f36
Final announcement
-
Send the final announcement to devel@, devel-announce@, test-announce@, announce@ lists
Use template from release engineering repo
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 ./36/ /pub/archive/fedora/linux/releases/36/
-
we now do the updates and updates/testing in similar ways.
$ cd ../updates/ $ rsync -avAXSHP 36/ /pub/archive/fedora/linux/updates/36/ $ cd testing $ rsync -avAXSHP 36/ /pub/archive/fedora/linux/updates/testing/36/
-
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='/36/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/36 $ ls # make sure you have stuff here $ rm -rf * $ ln ../20/README . $ cd ../../updates/36 $ ls #make sure you have stuff here $ rm -rf * $ ln ../20/README . $ cd ../testing/36 $ 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
Want to help? Learn how to contribute to Fedora Docs ›