summaryrefslogtreecommitdiff
path: root/global/post-tasks.d
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2013-09-03 11:31:05 +0200
committerLeif Johansson <leifj@sunet.se>2013-09-03 11:31:05 +0200
commitb71aac9793dfb1f54b4568c3feeafd7a4d0b5919 (patch)
treef1db3ad5da66c023e351d86a31bb78435940d948 /global/post-tasks.d
parent311d525f6f6fa1f4e31b69fa6fa072419e1d102d (diff)
move package install to post-tasks before puppet
Diffstat (limited to 'global/post-tasks.d')
-rw-r--r--global/post-tasks.d/018packages16
1 files changed, 16 insertions, 0 deletions
diff --git a/global/post-tasks.d/018packages b/global/post-tasks.d/018packages
new file mode 100644
index 0000000..9e25e69
--- /dev/null
+++ b/global/post-tasks.d/018packages
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+python -c "import yaml" 2>/dev/null || apt-get -y install python-yaml
+
+if [ -f /etc/puppet/cosmos-modules.conf ]; then
+ grep -E -v "^#" /etc/puppet/cosmos-modules.conf | (
+ cd /etc/puppet/modules && while read module src update; do
+ if [ ! -d /etc/puppet/modules/$module ]; then
+ echo $src | grep -q "://" && git clone $src $module || puppet module install $src
+ else
+ if [ "x$update" = "xyes" ]; then
+ echo $src | grep -q "://" && (cd /etc/puppet/modules/$module && git pull -q) || puppet module upgrade $src
+ fi
+ fi
+ done)
+fi