Javier Pena 70aff57869 Switch CentOS 7 mirror source to kernel.org mirror
The current source for our sync is outdated [1], and does not include
the latest CentOS 7.9 content. This is breaking some jobs relying on
CentOS, since they may have more recent packages in the image than
in the repositories [2].

[1] - https://mirror-status.centos.org/
[2] - https://bugs.launchpad.net/tripleo/+bug/1904214

Change-Id: Ie404396b0f108121241bdc26dd8d22c85106b0c4
2020-11-16 11:34:07 +01:00

100 lines
2.6 KiB
Bash
Executable File

#!/bin/bash -xe
# Copyright 2016 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
source /usr/share/mirror-update/functions.sh
MIRROR_VOLUME=$1
if [[ ${NO_TIMEOUT:-0} -eq 1 ]]; then
echo "Running interactively"
TIMEOUT=""
else
TIMEOUT="timeout -k 2m 30m"
fi
BASE="/afs/.openstack.org/mirror/centos"
K5START="k5start -t -f /etc/centos.keytab service/centos-mirror -- $TIMEOUT"
#
# -- Centos 8 --
#
MIRROR=rsync://mirror.dal10.us.leaseweb.net/centos/8/ # somewhere in TX
if ! [ -f $BASE/8 ]; then
$K5START mkdir -p $BASE/8
fi
date --iso-8601=ns
echo "Running Centos 8 rsync..."
$K5START rsync -rltvz \
--delete \
--delete-excluded \
--exclude="isos" \
$MIRROR $BASE/8
#
# -- Centos 7 --
#
MIRROR="rsync://mirrors.kernel.org/centos"
MIRROR_ALTARCH="rsync://mirror.dal.nexril.net/centos-altarch/"
REPOS="7 altarch/7"
ALTARCHS="aarch64 ppc64le"
ALTARCHS_IGNORED="armhfp i386 power9 ppc64 x86_64" # altarch/kernel/ has x86_64 dir we do not want
for REPO in $REPOS; do
if ! [ -f $BASE/$REPO ]; then
$K5START mkdir -p $BASE/$REPO
fi
MIRROR_PATH=$MIRROR/$REPO/
EXTRA_OPTS="--links" # -l
if [[ $REPO == "altarch"* ]]; then
MIRROR_PATH=$MIRROR_ALTARCH/7/
EXTRA_OPTS="--copy-links" # copy because altarch has symlinks to ../7.6.1810/
for arch in $ALTARCHS_IGNORED; do
EXTRA_OPTS="$EXTRA_OPTS --exclude=$arch"
done
for arch in $ALTARCHS; do
EXTRA_OPTS="$EXTRA_OPTS --include *.${arch}.rpm"
done
fi
date --iso-8601=ns
echo "Running rsync..."
$K5START rsync -rltvz \
--delete \
--delete-excluded \
--exclude="atomic" \
--exclude="centosplus" \
--exclude="experimental" \
--exclude="fasttrack" \
--exclude="isos" \
--exclude="paas" \
--exclude="*/drpms" \
$EXTRA_OPTS \
$MIRROR_PATH $BASE/$REPO/
# TODO(pabelanger): Validate rsync process
done
date --iso-8601=ns | $K5START tee $BASE/timestamp.txt
echo "rsync completed successfully, running vos release."
vos_release $MIRROR_VOLUME
date --iso-8601=ns
echo "Done."