Resolve some of the TODOs

Signed-off-by: Diego Herrera <dherrera@redhat.com>
This commit is contained in:
Diego Herrera 2025-03-10 14:21:08 -03:00
parent 3e55f5c776
commit e5c887ed11

View file

@ -4,19 +4,15 @@ include::_partials/attributes.adoc[]
== Description
WARNING: TODO: Talk about the minor branching process
Originally, the EPEL repository had packages that built against the latest RHEL minor, but since EPEL10, the EPEL repository now builds against the latest Centos Stream release. To keep consistency for RHEL releases, EPEL repository goes through a mass branching process to generate a new minor release branch. This process let's the developers continue to maintain their packages against Centos Stream without risking to break packages that already work on the current active RHEL minor target.
== Send announcement
One day before the mass branching, we send out announcemt because during mass branching,
new koji builds for rawhide are disabled.
new koji builds for EPEL are disabled. This will imply a koji outage in Fedora too.
== Disable EPEL10 builds in koji
<Same as in Fedora, rules are firewall rules are applied to stop submissions to koji>.
WARNING: TODO: Check if they are the same servers and if it will imply an outage for Fedora too.
The recommended method to achieve this is by adding firewall rules to both koji01 and koji02 servers, effectively blocking connections from proxy01 and proxy10. This can be achieved with the following iptables commands:
[source,bash,subs="attributes"]
@ -42,8 +38,6 @@ This change should be implemented on both koji01 and koji02 machine.
List all running tasks and select only those relevant for current branching.
WARNING: TODO: Check if grep requires to filter minor commits.
[source,bash,subs="attributes"]
----
$ koji list-builds --state=0 --type=rpm | grep epel10 | awk '{print $1}'
@ -64,18 +58,20 @@ Now we need to update dist-git in two steps:
For both of these actions you will need the file generated by pdc above.
=== Get current EPEL active packages
To get the list of all the current active packages, you must run the `scripts/branching-epe/get_all_active_packages_branching.sh` script.
```
sh scripts/branching-epel/get_all_active_packages_branching.sh 10.{next_minor}
```
The results will be saved to the components_epel10.{next_minor}.txt
=== Create the git branches
On `pkgs01.stg` (for testing) or `pkgs02` (for production), run:
[WARNING]
====
TODO:
* Check if this works for EPEL.
* Check how to generate input file, since we are not using pdc
====
```
$ sudo -u pagure python /usr/local/bin/mass-branching-git.py <new branch name> <input file>
```
@ -89,7 +85,7 @@ Apps in https://pagure.io/fedora-infra/ansible[ansible] need to be updated to be
=== Bodhi
WARNING: TODO: Associate epel10 to the new minor
WARNING: TODO: This is a step from Fedora, check which scripts are impacted by EPEL branching
Bodhi needs to be updated to add new release. This needs to be done in
https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2[bodhi2 role] in
@ -105,14 +101,14 @@ Please check these files from the https://pagure.io/fedora-infra/ansible/c/549e5
== Toddlers
WARNING: TODO: Check if any of these apply for EPEL10
=== Add new SLA to the toddlers App
Use https://pagure.io/fedora-infra/ansible/pull-request/1527[this PR] for reference and add new version to the config.
Make sure that the SLAs are added, check https://pagure.io/fedora-infra/ansible/pull-request/2190#request_diff[this PR] for reference.
=== Fedora Branched
WARNING: TODO: Confirm if we should skip this part for EPEL
. Set https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranched.yaml[FedoraBranched] to True.
. Set https://pagure.io/fedora-infra/ansible/blob/main/f/vars/all/FedoraBranchedBodhi.yaml[FedoraBranchedBodhi] to preenable.
@ -122,10 +118,12 @@ Please check the file `FedoraBranched.yaml` and `FedoraBranchedBodhi.yaml` from
Update the koji hub config to allow side tags for new koji rawhide (currently f{rawhide}) tag.
Please check the file `roles/koji_hub/templates/hub.conf.j2` from the https://pagure.io/fedora-infra/ansible/c/549e5d3ace41c04fdbef9d81f359f16c2fe0c2fa?branch=main[commit] for your reference.
Please check the file `roles/koji_hub/templates/hub.conf.j2` from https://pagure.io/fedora-infra/ansible/c/9860fa89b5a9e223fc7a42299fa30a8ffdbfbd77[this PR] for your reference.
=== Push the changes
WARNING: TODO: Check this PR to see if there are changes required to be done in this regard.
When done editing the files, commit, push and apply them via the corresponding
ansible playbook:
@ -138,50 +136,43 @@ $ sudo -i ansible-playbook /srv/web/infra/ansible/playbooks/$ groups/proxies.yml
$ sudo rbac-playbook groups/mbs.yml -t mbs
```
Ask someone in fedora infra to run the robosignatory playbook.
== Koji
WARNING: TODO: Check if any of these applies for EPEL10
The koji build system needs to have some tag/target work done to handle
builds from the new branch and to update where builds from rawhide go.
Run
https://pagure.io/releng/blob/main/f/scripts/branching/make-koji-release-tags[make-koji-release-tags]
https://pagure.io/releng/blob/main/f/scripts/branching-epel/make-koji-release-tags[make-koji-release-tags]
script in https://pagure.io/releng[pagure releng] repo
== Bodhi
=== Linking Empty Repos
WARNING: TODO: Check if any of this applies for EPEL10
We need to link empty repos so that new-updates-sync wont complain about
missing repos. The following commands should be run on
*bodhi-backend01.phx2.fedoraproject.org*
[source,bash,subs="attributes"]
----
$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/f{branched}-updates
$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/f{branched}-updates-testing
$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/epel10.1-updates
$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/epel10.1-updates-testing
----
=== Creating Empty Repos
WARNING: TODO: Check if any of this applies for EPEL10
To create empty repos on the master mirror, run
https://pagure.io/releng/blob/main/f/scripts/branching/create_empty_repos.sh[create_emtpy_repos.sh]
https://pagure.io/releng/blob/main/f/scripts/branching-epel/create_empty_repos.sh[create_emtpy_repos.sh]
from https://pagure.io/releng[pagure releng] repo. This should be run on
*bodhi-backend01.phx2.fedoraproject.org*
[source,bash,subs="attributes"]
----
$ sudo -u ftpsync sh scripts/branching/create_empty_repos.sh {branched}
$ sudo -u ftpsync sh scripts/branching-epel/create_empty_repos.sh 10.1
----
WARNING: TODO: Check if these notes apply for EPEL10
[NOTE]
====
Update the link in /mnt/koji/repos/rawhide/latest as per https://pagure.io/releng/issue/12255.
@ -196,28 +187,30 @@ be owned by _ftpsync:ftpsync_
Check directory permissions (should be "0755") to ensure new composes synchronize correctly.
====
=== Creating EPEL10.<new minor> release
=== Creating EPEL10.1 release
To create a new minor release in bodhi, you need to run:
WARNING: TODO: Update scripts for EPEL10 (check hackmd)
[source,bash,subs="attributes"]
----
$ bodhi releases create \
--name "F{rawhide}" --long-name "Fedora {rawhide}" \
--id-prefix FEDORA --version {rawhide} --branch f{rawhide} \
--dist-tag f{rawhide} \
--stable-tag f{rawhide} \
--testing-tag f{rawhide}-updates-testing \
--candidate-tag f{rawhide}-updates-candidate \
--pending-stable-tag f{rawhide}-updates-pending \
--pending-testing-tag f{rawhide}-updates-testing-pending \
--pending-signing-tag f{rawhide}-signing-pending \
--state pending \
--override-tag f{rawhide}-override \
-create-automatic-updates \
--not-composed-by-bodhi
--name "EPEL-10.1" \
--long-name "Fedora EPEL 10.1" \
--version 10 \
--branch epel10 \
--id-prefix FEDORA-EPEL \
--dist-tag epel10.1 \
--stable-tag epel10.1 \
--testing-tag epel10.1-testing \
--candidate-tag epel10.1-testing-candidate \
--pending-signing-tag epel10.1-signing-pending \
--pending-testing-tag epel10.1-testing-pending \
--pending-stable-tag epel10.1-pending \
--override-tag epel10.1-override \
--mail-template fedora_epel_legacy_errata_template \
--state current \
--composed-by-bodhi \
--no-create-automatic-updates
----
WARNING: TODO: Check if any of this applies for EPEL10
@ -234,14 +227,14 @@ $ sudo systemctl restart fm-consumer@config.service bodhi-celery.service
=== Update rawhide koji repo
WARNING: TODO: Check if any of this applies for EPEL10
We need to point the _rawhide_ buildroot repo to the newly created
rawhide buildroot. This way kojira doesn't make a newrepo for _rawhide_
target as often as fxx-build (new rawhide buildroot).
We need to point the _epel10_ buildroot repo to the newly created
epel buildroot. This way kojira doesn't make a newrepo for _epel10_
target as often as epel10.xx-build (new epel10 buildroot).
Run the following commands from any of the compose boxes:
WARNING: TODO: Check if any of this applies for EPEL10
[source,bash,subs="attributes"]
----
$ cd /mnt/koji/repos/rawhide
@ -251,8 +244,6 @@ $ ln -s ../f{rawhide}-build/latest ./latest
=== Update block_retired.py script
WARNING: TODO: Check if any of this apply for EPEL10
https://pagure.io/releng/blob/main/f/scripts/block_retired.py[block_retired.py]
script in releng repo should be updated with rawhide release and also
branched release should be added to the script.
@ -263,8 +254,6 @@ commit] as an example.
=== Updating MirrorManager
WARNING: TODO: Check if any of this applies for EPEL10
We need to update the mirrormanager so that it will point EPEL10 to the
new EPEL10 minor.