diff --git a/modules/openstack_project/files/gem-mirror-update.sh b/modules/openstack_project/files/gem-mirror-update.sh new file mode 100644 index 0000000000..fbda497927 --- /dev/null +++ b/modules/openstack_project/files/gem-mirror-update.sh @@ -0,0 +1,28 @@ +#!/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. + +set -e + +date --iso-8601=ns +echo "Obtaining gem tokens and running gem mirror." +k5start -t -f /etc/gem.keytab service/gem-mirror -- timeout -k 2m 30m sudo -H -u rubygems bash -c 'gem mirror' + +date --iso-8601=ns +echo "Gem mirror completed successfully, running vos release." +k5start -t -f /etc/afsadmin.keytab service/afsadmin -- vos release -v mirror.gem + +date --iso-8601=ns +echo "Done." diff --git a/modules/openstack_project/manifests/mirror_update.pp b/modules/openstack_project/manifests/mirror_update.pp index e06ff058b6..4946905569 100644 --- a/modules/openstack_project/manifests/mirror_update.pp +++ b/modules/openstack_project/manifests/mirror_update.pp @@ -73,6 +73,14 @@ class openstack_project::mirror_update ( source => 'puppet:///modules/openstack_project/bandersnatch-mirror-update.sh', } + file { '/usr/local/bin/gem-mirror-update': + ensure => present, + owner => 'root', + group => 'root', + mode => '0755', + source => 'puppet:///modules/openstack_project/gem-mirror-update.sh', + } + file { '/usr/local/bin/npm-mirror-update': ensure => present, owner => 'root', @@ -95,9 +103,8 @@ class openstack_project::mirror_update ( } cron { 'rubygems-mirror': - user => 'rubygems', minute => '*/5', - command => 'flock -n /var/run/rubygems/mirror.lock timeout -k 2m 30m gem mirror >>/var/log/rubygems/mirror.log 2>&1', + command => 'flock -n /var/run/rubygems/mirror.lock gem-mirror-update >>/var/log/rubygems/mirror.log 2>&1', environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', require => [ File['/etc/afsadmin.keytab'], diff --git a/modules/openstack_project/templates/rubygems_mirrorrc.erb b/modules/openstack_project/templates/rubygems_mirrorrc.erb index cb6c64f82f..f12f9a342e 100644 --- a/modules/openstack_project/templates/rubygems_mirrorrc.erb +++ b/modules/openstack_project/templates/rubygems_mirrorrc.erb @@ -1,4 +1,4 @@ --- - from: http://rubygems.org - to: <%= @destination_path %> + to: <%= @data_directory %> parallelism: <%= @parallelism %>