So the running DNF processes can finish transaction.
---
roles/s3-mirror/files/s3.sh | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/roles/s3-mirror/files/s3.sh b/roles/s3-mirror/files/s3.sh
index 4b300e370..70046d21f 100644
--- a/roles/s3-mirror/files/s3.sh
+++ b/roles/s3-mirror/files/s3.sh
@@ -119,7 +119,6 @@ done
for file in $(echo /srv/pub/epel/8/*/repodata/repomd.xml | sed 's#/srv##g'); do
aws cloudfront create-invalidation --distribution-id "$DIST_ID" --paths
"$file"
done
-"${CMD3[@]}" /srv/pub/epel/ "s3://$S3_MIRROR/pub/epel/"
# Sync Fedora
#echo $CMD /srv/pub/fedora/ s3://$S3_MIRROR/pub/fedora/
@@ -131,4 +130,11 @@ echo "Ending Fedora sync at $(date)" >>
/var/log/s3-mirror/timestamps
for file in $(echo /srv/pub/fedora/linux/updates/*/*/*/repodata/repomd.xml | sed
's#/srv##g'); do
aws cloudfront create-invalidation --distribution-id "$DIST_ID" --paths
"$file"
done
+
+# Consider some DNF processes started downloading metadata before we invalidated
+# caches, and started with outdated repomd.xml file. Give it 10 minutes so they
+# have chance to download the rest of metadata and RPMs.
+sleep 600
+
+"${CMD3[@]}" /srv/pub/epel/ "s3://$S3_MIRROR/pub/epel/"
"${CMD3[@]}" /srv/pub/fedora/ s3://$S3_MIRROR/pub/fedora/
--
2.25.1