summaryrefslogtreecommitdiffstats
path: root/roles/git/make_checkout_seed
diff options
context:
space:
mode:
authorRalph Bean <rbean@redhat.com>2016-02-22 16:35:58 +0000
committerRalph Bean <rbean@redhat.com>2016-02-22 16:35:58 +0000
commit4971401cec6fa0e2d9f1483b7bf045fc2966b91f (patch)
tree948aa468a963e609daca96d74a87be92a7049caa /roles/git/make_checkout_seed
parent5566d6a73ee6b06cea79a28b0b5e5c14e5149964 (diff)
downloadansible-4971401cec6fa0e2d9f1483b7bf045fc2966b91f.tar.gz
ansible-4971401cec6fa0e2d9f1483b7bf045fc2966b91f.tar.xz
ansible-4971401cec6fa0e2d9f1483b7bf045fc2966b91f.zip
Promote the new make-git-checkout-seed to prod.
Diffstat (limited to 'roles/git/make_checkout_seed')
-rw-r--r--roles/git/make_checkout_seed/files/make-git-checkout-seed.sh34
-rw-r--r--roles/git/make_checkout_seed/files/make-git-checkout-seed.sh.staging73
-rw-r--r--roles/git/make_checkout_seed/tasks/main.yml5
3 files changed, 22 insertions, 90 deletions
diff --git a/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh b/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh
index 26fd055f6..6ed32da9a 100644
--- a/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh
+++ b/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh
@@ -3,14 +3,13 @@
# mkdir /srv/git_seed
# cron job to invoke file daily
# Need to setup OUTPUT_DIR to be served by apache
-# modified by doteast
-# modified by alda
# Where the git repos live. These are bare repos
ORIGIN_DIR=/srv/git/repositories
# Where we'll create the repos to tar up
WORK_DIR=/srv/git_seed
+
# Subdirectory makes cleanup easier
SEED_DIR=$WORK_DIR/git-checkout
@@ -31,26 +30,37 @@ DATE=`date +'%Y%m%d'`
echo "$TIMESTAMP" > $SEED_DIR/TIMESTAMP
-for repo in $ORIGIN_DIR/*.git ; do
- working_tree=$SEED_DIR/$(basename $repo .git)
+for repo in $ORIGIN_DIR/*.git ; do
+ bname=$(basename $repo .git)
+ working_tree=$SEED_DIR/$bname
+# uncomment to skip processing dead.package repos
+# if [ -e $working_tree/dead.package ]; then
+# continue
+# fi
if [ -d $working_tree ] ; then
pushd $working_tree &> /dev/null
- sed -i "s@url = .*@url = $repo@" $working_tree/.git/config
+ sed -i "s@url = .*@url = $repo@" $working_tree/.git/config
git pull --all &> /dev/null
- sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$(basename $repo .git)@" $working_tree/.git/config
+ sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$bname@" $working_tree/.git/config
popd &>/dev/null
- if [ -e $working_tree/$(basename $repo .git).spec ]; then
- cp $working_tree/$(basename $repo .git).spec $SPEC_DIR/
+ if [ -e $working_tree/dead.package ]; then
+ rm -f $working_tree/$bname.spec
+ rm -f $SPEC_DIR/$bname.spec
+ elif [ -e $working_tree/$bname.spec ]; then
+ cp $working_tree/$bname.spec $SPEC_DIR/
fi
else
pushd $SEED_DIR &>/dev/null
git clone $repo &> /dev/null
popd &>/dev/null
- sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$(basename $repo .git)@" $working_tree/.git/config
- if [ -e $working_tree/$(basename $repo .git).spec ]; then
- cp $working_tree/$(basename $repo .git).spec $SPEC_DIR/
- fi
+ sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$bname@" $working_tree/.git/config
+ if [ -e $working_tree/dead.package ]; then
+ rm -f $working_tree/$bname.spec
+ rm -f $SPEC_DIR/$bname.spec
+ elif [ -e $working_tree/$bname.spec ]; then
+ cp $working_tree/$bname.spec $SPEC_DIR/
fi
+ fi
done
tar -cf - -C$WORK_DIR $(basename $SEED_DIR)|xz -2 > $OUTPUT_DIR/.git-seed-$DATE.tar.xz
diff --git a/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh.staging b/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh.staging
deleted file mode 100644
index 6ed32da9a..000000000
--- a/roles/git/make_checkout_seed/files/make-git-checkout-seed.sh.staging
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# Puppet notes -- script is file
-# mkdir /srv/git_seed
-# cron job to invoke file daily
-# Need to setup OUTPUT_DIR to be served by apache
-
-# Where the git repos live. These are bare repos
-ORIGIN_DIR=/srv/git/repositories
-
-# Where we'll create the repos to tar up
-WORK_DIR=/srv/git_seed
-
-# Subdirectory makes cleanup easier
-SEED_DIR=$WORK_DIR/git-checkout
-
-# subdirectory to collect rpm speciles
-SPEC_DIR=$WORK_DIR/rpm-specs
-
-# Where to store the seed tarball for download
-OUTPUT_DIR=/srv/cache/lookaside/
-
-# Instead of starting fresh each time, we'll try to use git pull to keep things synced
-#rm -rf $WORK_DIR/*
-mkdir -p $SEED_DIR
-mkdir -p $SPEC_DIR
-
-# Give people an indication of when this checkout was last synced
-TIMESTAMP=`date --rfc-3339=seconds`
-DATE=`date +'%Y%m%d'`
-echo "$TIMESTAMP" > $SEED_DIR/TIMESTAMP
-
-
-for repo in $ORIGIN_DIR/*.git ; do
- bname=$(basename $repo .git)
- working_tree=$SEED_DIR/$bname
-# uncomment to skip processing dead.package repos
-# if [ -e $working_tree/dead.package ]; then
-# continue
-# fi
- if [ -d $working_tree ] ; then
- pushd $working_tree &> /dev/null
- sed -i "s@url = .*@url = $repo@" $working_tree/.git/config
- git pull --all &> /dev/null
- sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$bname@" $working_tree/.git/config
- popd &>/dev/null
- if [ -e $working_tree/dead.package ]; then
- rm -f $working_tree/$bname.spec
- rm -f $SPEC_DIR/$bname.spec
- elif [ -e $working_tree/$bname.spec ]; then
- cp $working_tree/$bname.spec $SPEC_DIR/
- fi
- else
- pushd $SEED_DIR &>/dev/null
- git clone $repo &> /dev/null
- popd &>/dev/null
- sed -i "s@url = .*@url = git://pkgs.fedoraproject.org/$bname@" $working_tree/.git/config
- if [ -e $working_tree/dead.package ]; then
- rm -f $working_tree/$bname.spec
- rm -f $SPEC_DIR/$bname.spec
- elif [ -e $working_tree/$bname.spec ]; then
- cp $working_tree/$bname.spec $SPEC_DIR/
- fi
- fi
-done
-
-tar -cf - -C$WORK_DIR $(basename $SEED_DIR)|xz -2 > $OUTPUT_DIR/.git-seed-$DATE.tar.xz
-tar -cf - -C$WORK_DIR $(basename $SPEC_DIR)|xz -2 > $OUTPUT_DIR/.rpm-specs-$DATE.tar.xz
-rm $OUTPUT_DIR/git-seed*tar.xz
-rm $OUTPUT_DIR/rpm-specs*tar.xz
-mv $OUTPUT_DIR/.git-seed-$DATE.tar.xz $OUTPUT_DIR/git-seed-$DATE.tar.xz
-mv $OUTPUT_DIR/.rpm-specs-$DATE.tar.xz $OUTPUT_DIR/rpm-specs-$DATE.tar.xz
-ln -s git-seed-$DATE.tar.xz $OUTPUT_DIR/git-seed-latest.tar.xz
-ln -s rpm-specs-$DATE.tar.xz $OUTPUT_DIR/rpm-specs-latest.tar.xz
diff --git a/roles/git/make_checkout_seed/tasks/main.yml b/roles/git/make_checkout_seed/tasks/main.yml
index 461bb56f5..daf2f7f95 100644
--- a/roles/git/make_checkout_seed/tasks/main.yml
+++ b/roles/git/make_checkout_seed/tasks/main.yml
@@ -4,13 +4,8 @@
- name: create the destination directory
file: dest=/srv/git_seed owner=root group=root mode=0755 state=directory
-- name: install the staging version of the script and schedule its execution
- copy: src=make-git-checkout-seed.sh.staging dest=/usr/local/bin/make-git-checkout-seed.sh mode=0755
- when: env == 'staging'
-
- name: install the production version of the script and schedule its execution
copy: src=make-git-checkout-seed.sh dest=/usr/local/bin/make-git-checkout-seed.sh mode=0755
- when: env != 'staging'
- name: install cron job.
cron: >