Hashar has uploaded a new change for review.
https://gerrit.wikimedia.org/r/234975
Change subject: (WIP) dib: wikimedia-puppet element (WIP)
......................................................................
(WIP) dib: wikimedia-puppet element (WIP)
Change-Id: I7211d093458bc9f30a958ab269b8d9bf83f82987
---
M dib/build_image.sh
A dib/elements/wikimedia-puppet/README.rst
A dib/elements/wikimedia-puppet/elements-deps
A dib/elements/wikimedia-puppet/extra-data.d/50-cache-puppet-repo
A dib/elements/wikimedia-puppet/install.d/05-puppet
A dib/elements/wikimedia-puppet/install.d/package-git
A dib/elements/wikimedia-puppet/install.d/package-puppet
7 files changed, 52 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/integration/config
refs/changes/75/234975/1
diff --git a/dib/build_image.sh b/dib/build_image.sh
index 2d08b85..c1c1922 100755
--- a/dib/build_image.sh
+++ b/dib/build_image.sh
@@ -21,6 +21,7 @@
'devuser'
# Custom
'wikimedia-networking'
+ 'wikimedia-puppet'
'nodepool-base'
)
export DIB_COMMAND=${DIB_COMMAND:-'disk-image-create'}
diff --git a/dib/elements/wikimedia-puppet/README.rst
b/dib/elements/wikimedia-puppet/README.rst
new file mode 100644
index 0000000..a62d1de
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/README.rst
@@ -0,0 +1,3 @@
+Bootstrap and run operations/puppet.git in an image
+
+Based on OpenStack 'puppet' element.
diff --git a/dib/elements/wikimedia-puppet/elements-deps
b/dib/elements/wikimedia-puppet/elements-deps
new file mode 100644
index 0000000..7076aba
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/elements-deps
@@ -0,0 +1 @@
+package-installs
diff --git a/dib/elements/wikimedia-puppet/extra-data.d/50-cache-puppet-repo
b/dib/elements/wikimedia-puppet/extra-data.d/50-cache-puppet-repo
new file mode 100755
index 0000000..22205a5
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/extra-data.d/50-cache-puppet-repo
@@ -0,0 +1,27 @@
+#!/bin/bash
+#
+# Populate git repositories on the building host
+#
+
+if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
+ set -x
+fi
+set -eu
+set -o pipefail
+
+GIT_CACHE_DIR=$DIB_IMAGE_CACHE/git-repos/operations/puppet.git
+
+
+if [ ! -e $GIT_CACHE_DIR ]; then
+ echo "Creating operations/puppet.git in host cache"
+ mkdir -p $(dirname $GIT_CACHE_DIR)
+ git clone --bare https://gerrit.wikimedia.org/r/p/operations/puppet.git
$GIT_CACHE_DIR
+else
+ echo "Refreshing operations/puppet.git in host cache"
+ git --git-dir=$GIT_CACHE_DIR remote set-url origin
https://gerrit.wikimedia.org/r/p/operations/puppet.git
+ git --git-dir=$GIT_CACHE_DIR fetch --force --prune --tags
--update-head-ok origin
+fi
+echo "Copying cached repo into image"
+DEST=$TMP_MOUNT_PATH/srv/git/operations/puppet.git
+sudo mkdir -p $DEST
+sudo cp -a $GIT_CACHE_DIR $DEST
diff --git a/dib/elements/wikimedia-puppet/install.d/05-puppet
b/dib/elements/wikimedia-puppet/install.d/05-puppet
new file mode 100755
index 0000000..78c71e7
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/install.d/05-puppet
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
+ set -x
+fi
+set -eu
+set -o pipefail
+
+# Puppet exit codes are handled manually
+set +e
+puppet apply --test --verbose --modulepath=/srv/git/operations/puppet/modules
/srv/git/operations/puppet/modules/contint/manifests/packages/python.pp
+
+EXIT_CODE=$?
+if [[ "$EXIT_CODE" == "4" || "$EXIT_CODE" == "6" ]]; then
+ >&2 echo "Puppet run failed with exit code $EXIT_CODE"
+ exit $EXIT_CODE
+fi;
+set -e
diff --git a/dib/elements/wikimedia-puppet/install.d/package-git
b/dib/elements/wikimedia-puppet/install.d/package-git
new file mode 100644
index 0000000..5664e30
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/install.d/package-git
@@ -0,0 +1 @@
+git
diff --git a/dib/elements/wikimedia-puppet/install.d/package-puppet
b/dib/elements/wikimedia-puppet/install.d/package-puppet
new file mode 100644
index 0000000..17cb753
--- /dev/null
+++ b/dib/elements/wikimedia-puppet/install.d/package-puppet
@@ -0,0 +1 @@
+puppet
--
To view, visit https://gerrit.wikimedia.org/r/234975
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7211d093458bc9f30a958ab269b8d9bf83f82987
Gerrit-PatchSet: 1
Gerrit-Project: integration/config
Gerrit-Branch: master
Gerrit-Owner: Hashar <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits