Merge "Mirror openSUSE Leap 42.2 repositories"

This commit is contained in:
Jenkins 2017-04-03 01:09:57 +00:00 committed by Gerrit Code Review
commit 21ce191d23
4 changed files with 96 additions and 0 deletions

View File

@ -631,6 +631,7 @@ node 'mirror-update.openstack.org' {
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'), fedora_keytab => hiera('fedora_keytab'),
opensuse_keytab => hiera('opensuse_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'),

View File

@ -0,0 +1,54 @@
#!/bin/bash -xe
# Copyright 2017 SUSE Linux GmbH
#
# 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/opensuse"
MIRROR="rsync://mirrors.kernel.org"
K5START="k5start -t -f /etc/opensuse.keytab service/opensuse-mirror -- timeout -k 2m 30m"
REPO=leap/42.2
if ! [ -f $BASE/$REPO ]; then
$K5START mkdir -p $BASE/$REPO
fi
date --iso-8601=ns
echo "Running rsync releases..."
$K5START rsync -rlptDvz \
--delete \
--delete-excluded \
--exclude="iso" \
$MIRROR/opensuse/distribution/$REPO/ $BASE/$REPO/
REPO=update/leap/42.2
if ! [ -f $BASE/$REPO ]; then
$K5START mkdir -p $BASE/$REPO
fi
date --iso-8601=ns
echo "Running rsync updates..."
$K5START rsync -rlptDvz \
--delete \
--delete-excluded \
--exclude="src/" \
--exclude="nosrc/" \
$MIRROR/opensuse/update/$REPO/ $BASE/$REPO/
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."

View File

@ -109,6 +109,17 @@ class openstack_project::mirror (
] ]
} }
# Create the symlink to openSUSE
file { "${www_root}/opensuse":
ensure => link,
target => "${mirror_root}/opensuse",
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,

View File

@ -10,6 +10,7 @@ class openstack_project::mirror_update (
$centos_keytab = '', $centos_keytab = '',
$epel_keytab = '', $epel_keytab = '',
$fedora_keytab = '', $fedora_keytab = '',
$opensuse_keytab = '',
) { ) {
include ::gnupg include ::gnupg
include ::openstack_project::reprepro_mirror include ::openstack_project::reprepro_mirror
@ -343,6 +344,35 @@ class openstack_project::mirror_update (
] ]
} }
### openSUSE mirror ###
file { '/etc/opensuse.keytab':
owner => 'root',
group => 'root',
mode => '0400',
content => $opensuse_keytab,
}
file { '/usr/local/bin/opensuse-mirror-update':
ensure => present,
owner => 'root',
group => 'root',
mode => '0755',
source => 'puppet:///modules/openstack_project/mirror/opensuse-mirror-update.sh',
}
cron { 'opensuse mirror':
user => $user,
minute => '0',
hour => '*/6',
command => 'flock -n /var/run/opensuse-mirror.lock opensuse-mirror-update mirror.opensuse >>/var/log/opensuse-mirror.log 2>&1',
environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
require => [
File['/usr/local/bin/opensuse-mirror-update'],
File['/etc/afsadmin.keytab'],
File['/etc/opensuse.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',