toolkit/sync
Louis Abel 8017026bc8
Add a final grep to log for "FAILED" (RLBT#0000138)
Add a final grep if exit code of reposync is 0. There are cases where
dnf reposync will say the sync succeeded despite not downloading a
package due to a failed mirror. It is a failure when a GPG key can't be
verified or some other unforeseen cirumstance... but not when a package
can't be downloaded because of "all mirrors tried"

Also added "time" to the fpsync commands for RL9 syncing.
2022-07-12 00:59:19 -07:00
..
common add additional context for variable in comments 2021-07-09 21:17:40 -07:00
common_8 Final Commit for 5/21 2022-05-21 00:10:37 -07:00
common_9 fix readme and bump to RC2 2022-07-04 13:10:48 -07:00
gen-torrents.sh Update release notes url 2022-05-12 18:39:05 -04:00
minor-release-sync-to-staging.sh Final Commit for 5/21 2022-05-21 00:10:37 -07:00
prep-staging-8.sh finish wrapper, start repoclosure 2022-05-25 21:39:32 -07:00
propagate-image.sh Add chat scripts and update propagation for amis 2022-05-26 00:24:52 -04:00
README.md update readme 2021-07-21 11:55:21 -07:00
sign-repos-only.sh kickstart 2021-09-14 08:52:12 -07:00
stage-live-images.sh remove unused var 2021-11-10 12:37:28 -07:00
symlink-images-and-checksum.sh begin ISO magic 2022-05-19 00:48:07 -07:00
sync-to-prod-9.sh Add a final grep to log for "FAILED" (RLBT#0000138) 2022-07-12 00:59:19 -07:00
sync-to-prod.sh Remove hardcodes, add in metadata 2022-07-01 13:09:52 -07:00
sync-to-staging-9.sh Add a final grep to log for "FAILED" (RLBT#0000138) 2022-07-12 00:59:19 -07:00
sync-to-staging-sig.sh expand use 2021-07-07 19:54:12 -07:00
sync-to-staging.sh Remove hardcodes, add in metadata 2022-07-01 13:09:52 -07:00
test.sh fixes 2021-07-07 19:58:50 -07:00

sync

These scripts assist in syncing to staging and to prod for releases, whether they are full point releases, simple update releases, or a brand new repository being added. Each script here has a specific purpose.

What to do?

When the scripts are being ran, they are usually ran with a specific purpose or a reason. They are also ran in a certain order.

The below are common vars files. common_X will override what's in common.

.
├── common
├── common_8

These are for the releases in general. What they do is noted below.

├── gen-torrents.sh                  -> Generates torrents for images
├── minor-release-sync-to-staging.sh -> Syncs a minor release to staging
├── prep-staging-8.sh                -> Preps staging updates and signs repos
├── sign-repos-only.sh               -> Signs the repomd (only)
├── sync-to-prod.sh                  -> Syncs staging to production
├── sync-to-staging.sh               -> Syncs a provided compose to staging
├── sync-to-staging-sig.sh           -> Syncs a sig provided compose to staging

Generally, you will only run minor-release-sync-to-staging.sh when a full minor release is being produced. So for example, if 8.5 has been built out, you would run that after a compose. gen-torrents.sh would be ran shortly after.

When doing updates, the order of operations (preferably) would be:

  • sync-to-staging.sh
  • sync-to-staging-sig.sh Only if sigs are updated
  • prep-staging-X.sh -> This is required to ensure the groups, compos, and module data stay sane. This helps us provide older packages in the repos.
  • sync-to-prod.sh -> After the initial testing, it is sent to prod.