Add Fedora mirror to AFS
This has been on my list for some time, since we run fedora jobs in the gate, we should also mirror this infra too. Change-Id: I523bf263b5f9455ee51a712fc97cde3f8daeba80 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
061c04397b
commit
a953d095ca
@ -612,6 +612,7 @@ node 'mirror-update.openstack.org' {
|
|||||||
class { 'openstack_project::mirror_update':
|
class { 'openstack_project::mirror_update':
|
||||||
bandersnatch_keytab => hiera('bandersnatch_keytab'),
|
bandersnatch_keytab => hiera('bandersnatch_keytab'),
|
||||||
admin_keytab => hiera('afsadmin_keytab'),
|
admin_keytab => hiera('afsadmin_keytab'),
|
||||||
|
fedora_keytab => hiera('fedora_keytab'),
|
||||||
reprepro_keytab => hiera('reprepro_keytab'),
|
reprepro_keytab => hiera('reprepro_keytab'),
|
||||||
gem_keytab => hiera('gem_keytab'),
|
gem_keytab => hiera('gem_keytab'),
|
||||||
npm_keytab => hiera('npm_keytab'),
|
npm_keytab => hiera('npm_keytab'),
|
||||||
|
@ -0,0 +1,50 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
MIRROR_VOLUME=$1
|
||||||
|
|
||||||
|
BASE="/afs/.openstack.org/mirror/fedora"
|
||||||
|
MIRROR="rsync://mirrors.kernel.org"
|
||||||
|
K5START="k5start -t -f /etc/fedora.keytab service/fedora-mirror -- timeout -k 2m 30m"
|
||||||
|
|
||||||
|
REPO=releases/25
|
||||||
|
if ! [ -f $BASE/$REPO ]; then
|
||||||
|
$K5START mkdir -p $BASE/$REPO
|
||||||
|
fi
|
||||||
|
|
||||||
|
date --iso-8601=ns
|
||||||
|
echo "Running rsync..."
|
||||||
|
$K5START rsync -rlptDvz \
|
||||||
|
--delete \
|
||||||
|
--delete-excluded \
|
||||||
|
--exclude="CloudImages/x86_64/images/*.box" \
|
||||||
|
--exclude="Docker" \
|
||||||
|
--exclude="Everything/armhfp/" \
|
||||||
|
--exclude="Everything/i386/" \
|
||||||
|
--exclude="Everything/source/" \
|
||||||
|
--exclude="Everything/x86_64/debug/" \
|
||||||
|
--exclude="Server" \
|
||||||
|
--exclude="Spins" \
|
||||||
|
--exclude="Workstation" \
|
||||||
|
$MIRROR/fedora/$REPO/ $BASE/$REPO/
|
||||||
|
|
||||||
|
# TODO(pabelanger): Validate rsync process
|
||||||
|
|
||||||
|
date --iso-8601=ns | $K5START tee $BASE/timestamp.txt
|
||||||
|
echo "rsync completed successfully, running vos release."
|
||||||
|
k5start -t -f /etc/afsadmin.keytab service/afsadmin -- vos release -v $MIRROR_VOLUME
|
||||||
|
|
||||||
|
date --iso-8601=ns
|
||||||
|
echo "Done."
|
@ -98,6 +98,17 @@ class openstack_project::mirror (
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Create the symlink to fedora
|
||||||
|
file { "${www_root}/fedora":
|
||||||
|
ensure => link,
|
||||||
|
target => "${mirror_root}/fedora",
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
require => [
|
||||||
|
File["${www_root}"],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
# Create the symlink to apt.
|
# Create the symlink to apt.
|
||||||
file { "${www_root}/ubuntu":
|
file { "${www_root}/ubuntu":
|
||||||
ensure => link,
|
ensure => link,
|
||||||
|
@ -9,6 +9,7 @@ class openstack_project::mirror_update (
|
|||||||
$npm_keytab = '',
|
$npm_keytab = '',
|
||||||
$centos_keytab = '',
|
$centos_keytab = '',
|
||||||
$epel_keytab = '',
|
$epel_keytab = '',
|
||||||
|
$fedora_keytab = '',
|
||||||
) {
|
) {
|
||||||
include ::gnupg
|
include ::gnupg
|
||||||
include ::openstack_project::reprepro_mirror
|
include ::openstack_project::reprepro_mirror
|
||||||
@ -306,6 +307,35 @@ class openstack_project::mirror_update (
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### Fedora mirror ###
|
||||||
|
file { '/etc/fedora.keytab':
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0400',
|
||||||
|
content => $fedora_keytab,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/usr/local/bin/fedora-mirror-update':
|
||||||
|
ensure => present,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0755',
|
||||||
|
source => 'puppet:///modules/openstack_project/mirror/fedora-mirror-update.sh',
|
||||||
|
}
|
||||||
|
|
||||||
|
cron { 'fedora mirror':
|
||||||
|
user => $user,
|
||||||
|
minute => '0',
|
||||||
|
hour => '*/2',
|
||||||
|
command => 'flock -n /var/run/fedora-mirror.lock fedora-mirror-update mirror.fedora >>/var/log/fedora-mirror.log 2>&1',
|
||||||
|
environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
|
||||||
|
require => [
|
||||||
|
File['/usr/local/bin/fedora-mirror-update'],
|
||||||
|
File['/etc/afsadmin.keytab'],
|
||||||
|
File['/etc/fedora.keytab'],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
### Ubuntu Cloud Archive Mirror ###
|
### Ubuntu Cloud Archive Mirror ###
|
||||||
::openstack_project::reprepro { 'ubuntu-cloud-archive-reprepro-mirror':
|
::openstack_project::reprepro { 'ubuntu-cloud-archive-reprepro-mirror':
|
||||||
confdir => '/etc/reprepro/ubuntu-cloud-archive',
|
confdir => '/etc/reprepro/ubuntu-cloud-archive',
|
||||||
|
Loading…
Reference in New Issue
Block a user