Browse Source

Enable mirroring of 9-stream

This is a re-implementation of
I195ebee548071b0b89bd5bf64b251595271178ca that puts 9-stream in a
separate AFS volume

(Note the automated volume name "mirror.centos-stream" comes just
short of the limit)

Change-Id: I483c2982a6931e7d6fc97ab82f7750b72d2ef265
changes/00/817900/2
Ian Wienand 2 months ago
parent
commit
855efc9010
  1. 66
      playbooks/roles/mirror-update/files/centos-stream-mirror-update
  2. 4
      playbooks/roles/mirror-update/tasks/rsync.yaml
  3. 3
      playbooks/zuul/templates/host_vars/mirror-update01.opendev.org.yaml.j2
  4. 2
      testinfra/test_mirror-update.py

66
playbooks/roles/mirror-update/files/centos-stream-mirror-update

@ -0,0 +1,66 @@
#!/bin/bash -xe
# Copyright 2021 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
_DRY_RUN=''
if [[ ${DRY_RUN:-0} -eq 1 ]]; then
echo "Dry run only"
_DRY_RUN='--dry-run'
fi
RSYNC="rsync ${_DRY_RUN} -rltvz"
BASE="/afs/.openstack.org/mirror/centos-stream"
K5START="k5start -t -f /etc/centos-stream.keytab service/centos-stream-mirror -- $TIMEOUT"
#
# -- Centos 9-stream --
#
MIRROR=rsync://dfw.mirror.rackspace.com/centos-stream/9-stream/ # somewhere in US
if ! [ -f ${BASE_STREAM}/9-stream ]; then
$K5START mkdir -p ${BASE}/9-stream
fi
date --iso-8601=ns
echo "Running Centos 9-stream rsync..."
$K5START ${RSYNC} \
--delete \
--delete-excluded \
--exclude="iso" \
--exclude="debug" \
--exclude="s390x" \
--exclude="source" \
--exclude="ppc64le" \
$MIRROR ${BASE}/9-stream
if [[ ${DRY_RUN:-0} -ne 1 ]]; then
date --iso-8601=ns | $K5START tee $BASE/timestamp.txt
echo "rsync completed successfully, running vos release."
vos_release $MIRROR_VOLUME
fi
date --iso-8601=ns
echo "Done."

4
playbooks/roles/mirror-update/tasks/rsync.yaml

@ -8,10 +8,14 @@
group: root
mode: '0755'
# Note that this assuems the volume name "mirror.<name>" below; since
# OpenAFS volumes have a 22 character limit, make sure below isn't
# greater than 22-7 = 15 chars long.
- name: Set update script names
set_fact:
rsync_update_scripts:
- centos
- centos-stream
- epel
- fedora
- openeuler

3
playbooks/zuul/templates/host_vars/mirror-update01.opendev.org.yaml.j2

@ -7,6 +7,9 @@ mirror_update_keytab_logs: |-
mirror_update_keytab_centos: |-
aEkRPhZllm2F2y71Zgf3X9NjyHT7/sS8bd/vXt9oG1PKkUmpeBXprFnrxzMuKiupHwwTa09w5LuB
blLvBOC8W5Miz1u6TkRe+/jLQurLpzYHwk3bJCJ6s3WwPKDej54TDVgrVQ==
mirror_update_keytab_centos-stream: |-
aEkRPhZllm2F2y71Zgf3X9NjyHT7/sS8bd/vXt9oG1PKkUmpeBXprFnrxzMuKiupHwwTa09w5LuB
blLvBOC8W5Miz1u6TkRe+/jLQurLpzYHwk3bJCJ6s3WwPKDej54TDVgrVQ==
mirror_update_keytab_epel: |-
aEkRPhZllm2F2y71Zgf3X9NjyHT7/sS8bd/vXt9oG1PKkUmpeBXprFnrxzMuKiupHwwTa09w5LuB
blLvBOC8W5Miz1u6TkRe+/jLQurLpzYHwk3bJCJ6s3WwPKDej54TDVgrVQ==

2
testinfra/test_mirror-update.py

@ -28,6 +28,7 @@ def test_tools(host):
def test_rsync_scripts(host):
for script in ['centos',
'centos-stream',
'epel',
'fedora',
'openeuler',
@ -44,6 +45,7 @@ def test_keytabs(host):
for keytab in ['/etc/afsadmin.keytab',
'/etc/logs.keytab',
'/etc/centos.keytab',
'/etc/centos-stream.keytab',
'/etc/epel.keytab',
'/etc/fedora.keytab',
'/etc/openeuler.keytab',

Loading…
Cancel
Save