From dfad7738252c106ebc1b7bf87a9699d3bbb0725e Mon Sep 17 00:00:00 2001 From: Tomas Hrcka Date: Mar 08 2023 06:30:37 +0000 Subject: [releng] Update Beta compose SOP Signed-off-by: Tomas Hrcka --- diff --git a/modules/release_guide/pages/beta_RC_compose.adoc b/modules/release_guide/pages/beta_RC_compose.adoc index 1c57476..904197a 100644 --- a/modules/release_guide/pages/beta_RC_compose.adoc +++ b/modules/release_guide/pages/beta_RC_compose.adoc @@ -24,7 +24,7 @@ Create fedora-beta.conf on the branched release branch, For inspiration look at . List any pre-existing builds in the current compose tag + .... -$ koji list-tagged f[release_version]-compose +$ koji list-tagged f{branched}-compose .... . Verify pre-existing builds are in compose tags + @@ -41,8 +41,8 @@ builds from the compose tag when moving between the Beta and RC composes. Verify that these builds were removed. .... -$ koji list-tagged f[release_version]-compose -$ koji untag-build --all f[release_version]-compose [build1 build2 ...] +$ koji list-tagged f{branched}-compose +$ koji untag-build --all f{branched}-compose [build1 build2 ...] .... ==== + @@ -50,14 +50,14 @@ $ koji untag-build --all f[release_version]-compose [build1 build2 ...] .Note ==== The order in which packages are added into the -f[release_version]-compose tag matter. If the builds are untagged +f{branched}-compose tag matter. If the builds are untagged erroneously then special attention should be given to adding them back correctly. ==== . Add builds specified by QE to the current compose tag + .... -$ koji tag-build f[release_version]-compose [build1 build2 ...] +$ koji tag-build f{branched}-compose [build1 build2 ...] .... + [NOTE] @@ -73,8 +73,8 @@ appropriate permissions in the koji tool. to construct the compose. Each compose uses its own configuration. The `global_release` variable should start from 1.1 and the second number should increment each time a new compose is created. + * Beta - `fedora-beta.conf` -* RC - `fedora-final.conf` . Log into the compose backend + .... @@ -106,13 +106,13 @@ repository checkout from pagure. + .... $ git fetch origin -$ git checkout f[release_version] -$ git pull origin f[release_version] +$ git checkout f{branched} +$ git pull origin f{branched} .... . Run the compose + .... -$ sudo ./release-candidate.sh [Beta|RC]-#.# +$ sudo ./release-candidate.sh Beta-#.# .... + The numbering scheme begins with 1.1 and the second number is @@ -130,5 +130,89 @@ number is incremented with each compose. .Note ==== If the compose fails with a directory missing error, then create the -compose directory with `mkdir /mnt/koji/compose/[release_version]` +compose directory with `mkdir /mnt/koji/compose/{branched}` ==== + +==== Syncing the Compose + +We sync the compose to `/pub/alt/stage` to enable faster access to new +content for QA and the larger Fedora community. + +. Log into the compose backend ++ +.... +$ ssh compose-x86-01.iad2.fedoraproject.org +.... +. Open a screen session ++ +.... +$ screen +.... +. Check the status of the compose ++ +.... +$ cat /mnt/koji/compose/{branched}/[compose_id]/STATUS +.... ++ +Do not continue with any further steps if the output above is `DOOMED`. +. Create the directory targeted for the copy : ++ +.... +$ sudo -u ftpsync mkdir -m 750 -p /pub/alt/stage/{branched}_[release_label]-[#.#] +.... +. Locate the compose directory that will be the copy source : ++ +.... +$ ls /mnt/koji/compose/{branched}/[compose_id] +.... ++ +[NOTE] +.Note +==== +Take care executing the synchronization if the next compose is already +running. Be sure to grab the correct directory. + +If in doubt, check +/mnt/koji/compose/{branched}/[compose_id]/STATUS to be sure it is +finished. +==== +. Run the synchronization one-liner ++ +The synchronization of the completed compose to the public domain is +currently a one-liner shell script. Pay close attention to what needs +replaced in the example below. ++ +.... +$ sudo -u ftpsync sh -c 'for dir in Everything Cloud Container Kinoite Labs Modular Server Silverblue Spins Workstation metadata; do rsync -avhH /mnt/koji/compose/31/Fedora-31-20190911.0/compose/$dir/ /pub/alt/stage/31_Beta-1.1/$dir/ --link-dest=/pub/fedora/linux/development/31/Everything/ --link-dest=/pub/alt/stage/31_Beta-1.1/Everything/; done' +.... ++ +[NOTE] +.Note +==== +If multiple composes are run like 1.2, 1.3, add multiple --link-dest +arguments above with multiple composes +==== +. Set the permissions of the synced compose : ++ +.... +$ sudo -u ftpsync chmod 755 /pub/alt/stage/{branched}_[release_label]-[#.#] +.... +. Update the issue in the releng pagure repository ++ +Once the compose and sync is complete the issue in pagure should be +updated and closed. ++ +Standard Ticket Verbage + +Compose is done and available from +https://kojipkgs.fedoraproject.org/compose/26/Fedora-26-20170328.0/compose/ +it has been synced to +http://dl.fedoraproject.org/pub/alt/stage/26_Alpha-1.4/ rpms have all be +hardlinked to /pub/fedora/linux/development/26/ + +===== Verification + +The method for verifying a compose has completed is checking +`/mnt/koji/compose/{branched}/[compose_dir]/STATUS`. Any status +other than DOOMED is OK. +