Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 19 additions & 16 deletions scripts/sync-pull
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,17 @@ fi
# Check the the DEB and RPM chacra endpoints to see if the repos are or need updating.
# This helps prevent packages from getting missed when signing and pushing.
need_rerun=false
for endpoint in https://chacra.ceph.com/repos/$project/$release/$sha1/centos/9 https://chacra.ceph.com/repos/$project/$release/$sha1/$highest_combo; do
for endpoint in https://chacra.ceph.com/repos/$project/$release/$sha1/{centos/9,rocky/10} \
https://chacra.ceph.com/repos/$project/$release/$sha1/$highest_combo
do
chacra_repo_status=$(curl -s -L $endpoint)
chacra_needs_update=$(echo $chacra_repo_status | jq .needs_update)
chacra_is_updating=$(echo $chacra_repo_status | jq .is_updating)
if echo "$chacra_repo_status" | jq empty 2>/dev/null; then
chacra_needs_update=$(echo $chacra_repo_status | jq .needs_update)
chacra_is_updating=$(echo $chacra_repo_status | jq .is_updating)
else
echo "Non-JSON response from $endpoint, skipping"
continue
fi

if [ "$chacra_needs_update" == "true" ] || [ "$chacra_is_updating" == "true" ]; then
need_rerun=true
Expand All @@ -47,17 +54,13 @@ done
relver=$release

if [[ "$project" == "ceph" ]] ; then
# We started using the new /opt/repos/ceph/$release-X.X.X format with Octopus.
# Older releases have all packages in one big $release dir without a trailing "-X.X.X" so we need to adjust paths accordingly.
if [[ "$release" =~ ^[a-n].* ]]; then
newgen=false
else
newgen=true
# Get numerical version number (we only need this with Octopus or later because of the new directory/path scheme).
version=$(echo $chacra_repo_status | jq -r .extra.version)
relver=$release-$version
fi
[[ -d /opt/repos/$project/$relver ]] || mkdir -p /opt/repos/$project/$relver/{debian/jessie,centos/9}
# Get numerical version
version=$(echo $chacra_repo_status | jq -r .extra.version)
relver=$release-$version
for subdir in debian/jessie centos/9 rocky/10; do
dir="/opt/repos/$project/$relver/$subdir"
[[ -d "$dir" ]] || mkdir -p "$dir"
done
else
# not ceph (i.e. ceph-iscsi)
[[ -d /opt/repos/$project/$relver ]] || mkdir -p /opt/repos/$project/$relver/centos/9
Expand All @@ -73,8 +76,8 @@ if [[ "$project" == "ceph" ]] ; then
fi
fi

for el_version in 9; do
el_cmd="[email protected]:/opt/repos/$project/$release/$sha1/centos/$el_version/flavors/default/* /opt/repos/$project/$relver/centos/$el_version/"
for el_version in centos/9 rocky/10; do
el_cmd="[email protected]:/opt/repos/$project/$release/$sha1/$el_version/flavors/default/* /opt/repos/$project/$relver/$el_version/"
echo $el_cmd
echo "--------------------------------------------"
rsync -Lavh --progress $el_cmd
Expand Down