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

Reply via email to