EPEL Minor Version End of Life
Description
Each minor release of EPEL is maintained as laid out in EPEL policy.
At the conclusion of the maintenance period, an EPEL release enters "End of Life" status, also known as retirement. This procedure describes the tasks necessary to move a release to that status.
Actions
Reminder announcement
Before the actual retirement takes place,
send a reminder that it will be happening soon.
Post this to Fedora Discussion in the
Project Discussion category
with the #epel-sig tag
(example).
Also send an email to the epel-devel@ and devel@ lists
(example).
|
We’re not able to declare a specific date for the retirement because it is dependent on the RHEL schedule. As a rough guideline, try to send the reminder announcement at the beginning of the month in which the next RHEL minor version is expected to occur. |
Koji tasks
Disable builds by removing targets.
$ koji remove-target epel10.0
$ koji remove-target epel10.0-candidate
Remove any existing sidetags from the EOL release.
$ koji remove-sidetag $(koji list-sidetags --basetag epel10.0-build)
This must be done with koji remove-sidetag and not koji remove-target
because just removing the target of a sidetag will leave it in a weird state where it cannot be removed.
Final stable push
Do a final stable push for the EPEL-10.0 release in Bodhi, following the Pushing Updates SOP.
Bodhi tasks
Run the following bodhi commands to set the EPEL-10.0 release to the archived state.
$ bodhi releases edit --name EPEL-10.0 --state archived
Fedora Infra Ansible Changes
We need to make some changes and then run several roles in the ansible repo.
Update EPEL.yaml in ansible repository
Edit /vars/all/EPEL.yaml and change:
-
epel_branched_minorfrom1tofalse -
epel_z_minorfrom0to1
Remove EOL release from new-updates-sync
Edit roles/bodhi2/backend/files/new-updates-sync
and remove the epel10.0 section of the RELEASES dictionary.
Switch rhel10-sync to new minor version
Switch RELEASEVERS in roles/batcave/files/rhel10-sync from 10.0 to 10.1.
Run the playbooks
First, push the above edits. Then run the associated playbooks on batcave01:
$ 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/openshift-apps/bodhi.yml
You will need to have someone enable sshd on autosign02 and then run:
$ sudo ansible-playbook /srv/web/infra/ansible/playbooks/manual/autosign.yml
And then someone with the robosignatory passphrase will need to restart it.
|
Another way to run the playbook is using rbac-playbook, in case you don’t have sysadmin-main rights or can’t become root. Syntax: sudo rbac-playbook groups/bodhi-backend.yml |
Manually sync RHEL repos
Normally RHEL repos are synced via a cron job, but run them manually the first time to ensure completion. Run the sync script on batcave01:
$ sudo /mnt/fedora/app/fi-repo/rhel/rhel10/rhel10-sync
Koji tasks again
Remove the CentOS snapshot external repos.
$ koji remove-external-repo c10-snapshot-baseos epel10.1-base
$ koji remove-external-repo c10-snapshot-appstream epel10.1-base
$ koji remove-external-repo c10-snapshot-crb epel10.1-base
Add the RHEL 10.1 external repos.
$ koji add-external-repo --mode bare --priority 10 --tag epel10.1-base rhel10.1-baseos 'https://infrastructure.fedoraproject.org/repo/rhel/rhel10/10.1/repos/$arch/baseos/'
$ koji add-external-repo --mode bare --priority 20 --tag epel10.1-base rhel10.1-appstream 'https://infrastructure.fedoraproject.org/repo/rhel/rhel10/10.1/repos/$arch/appstream/'
$ koji add-external-repo --mode bare --priority 30 --tag epel10.1-base rhel10.1-crb 'https://infrastructure.fedoraproject.org/repo/rhel/rhel10/10.1/repos/$arch/crb/'
Move epel10z floating tag to next minor version.
$ koji remove-tag-inheritance epel10z epel10.0
$ koji add-tag-inheritance epel10z epel10.1
Move epel10-infra floating tag to next minor version.
$ koji remove-tag-inheritance epel10-infra epel10.0-build
$ koji add-tag-inheritance epel10-infra epel10.1-build
Mirror tasks
Log into the MirrorManager Admin Panel and reconfigure the repository redirects as follows.
-
epel-z-10 → epel-z-10.1
-
epel-z-debug-10 → epel-z-debug-10.1
-
epel-z-source-10 → epel-z-source-10.1
-
epel-z-testing-10 → epel-z-testing-10.1
-
epel-z-testing-debug-10 → epel-z-testing-debug-10.1
-
epel-z-testing-source-10 → epel-z-testing-source-10.1
Run the following commands on batcave01 to switch symlinks on the mirrors.
$ sudo ln -sfn 10.1 /pub/epel/10z
$ sudo ln -sfn 10.1 /pub/epel/testing/10z
Final announcement
Announce the completion of the retirement.
Post this to Fedora Discussion in the
Project Discussion category
with the #epel-sig tag.
Also send an email to the epel-devel@ and devel@ lists.
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 ›