Add mirror_update.openstack.org
This is a machine that will drive centralized mirror updates for mirrors that are in AFS. Change-Id: I33eed90c21a2e57a26349be83ee69e968b18d2f8 Depends-On: I56bb3ce2237be1179724f7a2bdcf9d5b04bdecd2 Depends-On: I704c8bf395d83adea0f9a0db6fd3d3814ad7660a
This commit is contained in:
parent
9487104b92
commit
dc4f086eef
@ -525,6 +525,16 @@ node /^git\d+\.openstack\.org$/ {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# A machine to drive AFS mirror updates.
|
||||||
|
# Node-OS: trusty
|
||||||
|
node 'mirror-update.openstack.org' {
|
||||||
|
class { 'openstack_project::mirror_update':
|
||||||
|
bandersnatch_keytab => hiera('bandersnatch_keytab'),
|
||||||
|
admin_keytab => hiera('afsadmin_keytab'),
|
||||||
|
sysadmins => hiera('sysadmins', []),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Machines in each region to run PyPI mirrors.
|
# Machines in each region to run PyPI mirrors.
|
||||||
# Node-OS: precise
|
# Node-OS: precise
|
||||||
node /^pypi\..*\.openstack\.org$/ {
|
node /^pypi\..*\.openstack\.org$/ {
|
||||||
|
@ -90,6 +90,7 @@ INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-ansible"]="origi
|
|||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-apps_site"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-apps_site"]="origin/master"
|
||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-askbot"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-askbot"]="origin/master"
|
||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-asterisk"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-asterisk"]="origin/master"
|
||||||
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-bandersnatch"]="origin/master"
|
||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-bugdaystats"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-bugdaystats"]="origin/master"
|
||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-bup"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-bup"]="origin/master"
|
||||||
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-cgit"]="origin/master"
|
INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-cgit"]="origin/master"
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright 2016 IBM Corp.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
echo "Obtaining bandersnatch tokens and running bandersnatch."
|
||||||
|
k5start -t -f /etc/bandersnatch.keytab service/bandersnatch -- timeout -k 2m 30m run-bandersnatch
|
||||||
|
|
||||||
|
RET=$?
|
||||||
|
|
||||||
|
if [ $RET ]; then
|
||||||
|
echo "Bandersnatch completed successfully, running vos release."
|
||||||
|
k5start -t -f /etc/afsadmin.keytab service/afsafdmin -- vos release mirror.pypi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done."
|
59
modules/openstack_project/manifests/mirror_update.pp
Normal file
59
modules/openstack_project/manifests/mirror_update.pp
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# == Class: openstack_project::mirror_update
|
||||||
|
#
|
||||||
|
class openstack_project::mirror_update (
|
||||||
|
$sysadmins = [],
|
||||||
|
$bandersnatch_keytab = '',
|
||||||
|
$admin_keytab = '',
|
||||||
|
) {
|
||||||
|
|
||||||
|
class { 'openstack_project::server':
|
||||||
|
sysadmins => $sysadmins,
|
||||||
|
afs => true,
|
||||||
|
}
|
||||||
|
|
||||||
|
class { 'bandersnatch':
|
||||||
|
bandersnatch_source => 'https://bitbucket.org/jeblair/bandersnatch',
|
||||||
|
}
|
||||||
|
|
||||||
|
class { 'bandersnatch::mirror':
|
||||||
|
mirror_root => '/afs/.openstack.org/mirror/pypi',
|
||||||
|
static_root => '/afs/.openstack.org/mirror',
|
||||||
|
hash_index => true,
|
||||||
|
require => Class['bandersnatch'],
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/bandersnatch.keytab':
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0400',
|
||||||
|
content => $bandersnatch_keytab,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/etc/afsadmin.keytab':
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0400',
|
||||||
|
content => $bandersnatch_keytab,
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/usr/local/bin/bandersnatch-mirror-update':
|
||||||
|
ensure => present,
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0755',
|
||||||
|
source => 'puppet:///modules/openstack_project/bandersnatch-mirror-update.sh',
|
||||||
|
}
|
||||||
|
|
||||||
|
cron { 'bandersnatch':
|
||||||
|
user => $user,
|
||||||
|
minute => '*/5',
|
||||||
|
command => 'flock -n /var/run/bandersnatch/mirror.lock bandersnatch-mirror-update >>/var/log/bandersnatch/mirror.log 2>&1',
|
||||||
|
environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin',
|
||||||
|
require => [
|
||||||
|
File['/usr/local/bin/bandersnatch-mirror-update'],
|
||||||
|
File['/etc/afsadmin.keytab'],
|
||||||
|
File['/etc/bandersnatch.keytab'],
|
||||||
|
Class['bandersnatch::mirror']
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user