diff --git a/playbooks/roles/mirror-update/files/centos-stream-mirror-update b/playbooks/roles/mirror-update/files/centos-stream-mirror-update new file mode 100755 index 0000000000..161d1ac00e --- /dev/null +++ b/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." diff --git a/playbooks/roles/mirror-update/tasks/rsync.yaml b/playbooks/roles/mirror-update/tasks/rsync.yaml index 9949105070..229df4bd97 100644 --- a/playbooks/roles/mirror-update/tasks/rsync.yaml +++ b/playbooks/roles/mirror-update/tasks/rsync.yaml @@ -8,10 +8,14 @@ group: root mode: '0755' +# Note that this assuems the volume name "mirror." 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 diff --git a/playbooks/zuul/templates/host_vars/mirror-update01.opendev.org.yaml.j2 b/playbooks/zuul/templates/host_vars/mirror-update01.opendev.org.yaml.j2 index 30bc82b1eb..cb60d6371e 100644 --- a/playbooks/zuul/templates/host_vars/mirror-update01.opendev.org.yaml.j2 +++ b/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== diff --git a/testinfra/test_mirror-update.py b/testinfra/test_mirror-update.py index 91d070014c..93c144ebf9 100644 --- a/testinfra/test_mirror-update.py +++ b/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',