From 8b0b58f0537543d03211641c9a9cac320b5d6382 Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 15:34:10 +0000 Subject: [PATCH 1/7] EPEL minor branching SOP: Update to take into account new playbooks --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index 0041f37..6c448b1 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -39,38 +39,7 @@ Cancel each of those tasks $ koji cancel ``` -== dist-git - -Now we need to update dist-git in two steps: - -* Create the new branch in git - -For both of these actions you will need the list of active repos in EPEL{epel_major}. - -=== 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. - -[source,bash,subs="attributes"] ----- -sh scripts/branching-epel/get_all_active_packages_branching.sh {epel_major} ----- - -The results will be saved to the components_epel{epel_new}.txt - -=== Create the git branches - -On `pkgs01.stg` (for testing) or `pkgs02` (for production), run: - -[source,bash,subs="attributes"] ----- -$ sudo -u pagure python /usr/local/bin/mass-branching-git.py --branch-from epel{epel_major} epel{epel_current} components_epel{epel_major}.txt ----- - -The first argument is the new epel version and the -second one is the path to the file generated in the previous step. - -== Ansible +== Prepare Apps in https://pagure.io/fedora-infra/ansible[ansible] need to be updated to be aware of the new branch. @@ -98,8 +67,6 @@ change between minor versions === Toddlers -==== Add new SLA to the toddlers App - Make sure that the SLAs are added. Check https://pagure.io/fedora-infra/ansible/pull-request/2190#request_diff[this PR] for reference on what needs to be available. @@ -117,8 +84,35 @@ All minor branches use the same key, so it's not required to generate a new one, === Push the changes -When done editing the files, commit, push and apply them via the corresponding -ansible playbooks: +When done editing the files, make sure that the changes are commited and pushed, or that the PRs are correctly merged. + +== Excecuting the branching process. + +Most of the work has been ported to run ansible playbooks, here is the description of the process. + +=== dist-git + +The only thing that we need to do on dist-git is to create branches for each +repository. + +To excecute this, run the following playbook on `pkgs01.stg` (for testing) or `pkgs02` (for production): + +[source,bash,subs="attributes"] +---- +$ sudo rbac-playbook manual/epel-minor-release/branch-distgit-packages.yml \ + -e release=epel{epel_current} \ + -e branch_from=epel{epel_major} +---- + +The first argument is the new epel version and the +second one is the path to the file generated in the previous step. + +This playbook will list get all the repositories that currently have an +epel{epel_current} branch that is not retired and will create a new +epel{epel_new} branch. + +=== Run the rest of the playbooks +After all the changes where applied, run their corresponding ansible playbooks: [source,bash,subs="attributes"] ---- @@ -128,14 +122,17 @@ $ sudo rbac-playbook groups/bodhi-backend.yml $ sudo rbac-playbook manual/autosign.yml ---- -== Koji +=== Koji 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 epel{epel_major} go. Run -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 +[source,bash,subs="attributes"] +---- +$ ansible-playbook -e "release={ epel_new }" \ + playbooks/manual/epel-minor-release/koji-release-tags.yml +---- [NOTE] ==== @@ -143,30 +140,22 @@ Make sure that things tagged on epel{epel_current}-testing are tagged correctly. https://bodhi.fedoraproject.org/updates/?search=&status=pending&status=testing&releases=EPEL-{epel_current} ==== -== Bodhi - -=== Linking Empty Repos - -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* +=== Bodhi -[source,bash,subs="attributes"] ----- -$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/epel{epel_new} -$ sudo ln -s /mnt/koji/compose/updates/empty-repo/ /mnt/koji/compose/updates/epel{epel_new}-testing ----- +First you need to prepare the repositories so that everything is in shape to create the new +bohdi release, which implies doing the following tasks on +*bodhi-backend01.phx2.fedoraproject.org* -=== Creating Empty Repos +* Linking empty repos into the new branches so that new-updates-sync wont complain about +missing repos. +* Create empty repos on the master mirror. -To create empty repos on the master mirror, run -https://pagure.io/releng/blob/main/f/scripts/branching-epel/create_empty_repos.sh[create_empty_repos.sh] -from https://pagure.io/releng[pagure releng] repo. This should be run on -*bodhi-backend01.phx2.fedoraproject.org* +To excecute this you should run the following playbook on that machine. [source,bash,subs="attributes"] ---- -$ sudo -u ftpsync sh scripts/branching-epel/create_empty_repos.sh {epel_current} +$ sudo rbac-playbook manual/epel-minor-release/prepare-bodhi-repos.yml \ + -e "release={epel_current}" ---- === Creating EPEL{epel_new} release From 91863f00396fcb41a219a053f42b688ca8f0b6cd Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 15:34:10 +0000 Subject: [PATCH 2/7] Update EPEL variables --- diff --git a/modules/release_guide/pages/_partials/attributes.adoc b/modules/release_guide/pages/_partials/attributes.adoc index 639bbae..6714260 100644 --- a/modules/release_guide/pages/_partials/attributes.adoc +++ b/modules/release_guide/pages/_partials/attributes.adoc @@ -7,7 +7,7 @@ :current: 42 :old_release: 41 :epel_major: 10 -:epel_minor: 0 -:epel_minor_new: 1 +:epel_minor: 1 +:epel_minor_new: 2 :epel_current: {epel_major}.{epel_minor} :epel_new: {epel_major}.{epel_minor_new} From 7b7b73008d31453583f38a0b314f915a19ea13e6 Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 15:34:10 +0000 Subject: [PATCH 3/7] EPEL minor branching: Fix playbook variable --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index 6c448b1..3e4fe58 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -100,7 +100,7 @@ To excecute this, run the following playbook on `pkgs01.stg` (for testing) or `p [source,bash,subs="attributes"] ---- $ sudo rbac-playbook manual/epel-minor-release/branch-distgit-packages.yml \ - -e release=epel{epel_current} \ + -e release={epel_current} \ -e branch_from=epel{epel_major} ---- From 5c61cfd1af83dc190e140e5294c41dfbbecacc5a Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 15:34:10 +0000 Subject: [PATCH 4/7] EPEL minor branching: Fix Bodhi process, now it doesn't create empty repos. --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index 3e4fe58..bc792e1 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -143,12 +143,10 @@ https://bodhi.fedoraproject.org/updates/?search=&status=pending&status=testing&r === Bodhi First you need to prepare the repositories so that everything is in shape to create the new -bohdi release, which implies doing the following tasks on -*bodhi-backend01.phx2.fedoraproject.org* +bohdi release, which implies linking empty repos into the new branches so that new-updates-sync wont complain about +missing repos on the following machine -* Linking empty repos into the new branches so that new-updates-sync wont complain about -missing repos. -* Create empty repos on the master mirror. +*bodhi-backend01.phx2.fedoraproject.org* To excecute this you should run the following playbook on that machine. From 10bec4aa0525e553996f24d8b5069af8958353c1 Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 15:52:03 +0000 Subject: [PATCH 5/7] EPEL minor branching: RBAC can't use external variables, so revert to ansible-playbook for now --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index bc792e1..ebe02a8 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -99,7 +99,7 @@ To excecute this, run the following playbook on `pkgs01.stg` (for testing) or `p [source,bash,subs="attributes"] ---- -$ sudo rbac-playbook manual/epel-minor-release/branch-distgit-packages.yml \ +$ sudo -i ansible-playbook /srv/infra/ansible/playbooks/manual/epel-minor-release/branch-distgit-packages.yml \ -e release={epel_current} \ -e branch_from=epel{epel_major} ---- @@ -152,7 +152,7 @@ To excecute this you should run the following playbook on that machine. [source,bash,subs="attributes"] ---- -$ sudo rbac-playbook manual/epel-minor-release/prepare-bodhi-repos.yml \ +$ sudo -i ansible-playbook /srv/infra/ansible/playbooks/manual/epel-minor-release/prepare-bodhi-repos.yml \ -e "release={epel_current}" ---- From ad96edc8fc275152efaeaf1fa30da2f7d80431fa Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 25 2025 16:03:28 +0000 Subject: [PATCH 6/7] EPEL minor branching: Fix disgit command, it should run on batcave --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index ebe02a8..a1abeec 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -95,21 +95,21 @@ Most of the work has been ported to run ansible playbooks, here is the descripti The only thing that we need to do on dist-git is to create branches for each repository. -To excecute this, run the following playbook on `pkgs01.stg` (for testing) or `pkgs02` (for production): +To excecute this, run the following playbook on batcave: [source,bash,subs="attributes"] ---- $ sudo -i ansible-playbook /srv/infra/ansible/playbooks/manual/epel-minor-release/branch-distgit-packages.yml \ -e release={epel_current} \ - -e branch_from=epel{epel_major} + -e branch_from=epel{epel_major} \ + -e target=pkgs ---- -The first argument is the new epel version and the -second one is the path to the file generated in the previous step. - This playbook will list get all the repositories that currently have an -epel{epel_current} branch that is not retired and will create a new -epel{epel_new} branch. +epel{epel_major} branch that is not retired and will create a new +epel{epel_current} branch. + +To run this playbook on staging, you can remove the target variable. === Run the rest of the playbooks After all the changes where applied, run their corresponding ansible playbooks: From f664b544f618d248799f522383f759bade81582a Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 26 2025 16:47:02 +0000 Subject: [PATCH 7/7] EPEL minor branching: Add note regarding the autosign playbook --- diff --git a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc index a1abeec..1cc268e 100644 --- a/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc +++ b/modules/release_guide/pages/sop_epel_minor_mass_branching.adoc @@ -122,6 +122,11 @@ $ sudo rbac-playbook groups/bodhi-backend.yml $ sudo rbac-playbook manual/autosign.yml ---- +[NOTE] +==== +Make sure to make releng aware that we need to run the autosign playbook, since it requires for the server to be accesible from ssh. +==== + === Koji The koji build system needs to have some tag/target work done to handle @@ -130,7 +135,7 @@ builds from the new branch and to update where builds from epel{epel_major} go. Run [source,bash,subs="attributes"] ---- -$ ansible-playbook -e "release={ epel_new }" \ +$ ansible-playbook -e "release={epel_new}" \ playbooks/manual/epel-minor-release/koji-release-tags.yml ----