summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2016-05-06 09:00:58 -0500
committerAndy Doan <andy.doan@linaro.org>2016-05-11 15:16:22 +0000
commit4aef9697dd8ccb6290dbb179a5b3cf11df672bbd (patch)
treef4068b39802e23e0851e75e24ac64fbb70642911
parentf976d605b9cd4800afabb63b9da1130098e58554 (diff)
gerrit 2.12: add project-created hook
With Gerrit 2.12 we can finally support the project-created hook. This allows repos created via gerrit to automatically be included by grokmirror and replicated across all regional servers. Change-Id: I2049523c05e53eeb1ccab6f34c846e561bc9fba1 Reviewed-on: https://review.linaro.org/11810 Reviewed-by: Paul Sokolovsky <paul.sokolovsky@linaro.org> Reviewed-by: Ben Copeland <ben.copeland@linaro.org>
-rw-r--r--per-service/git-servers/roles/grokmirror/tasks/master.yml6
-rw-r--r--per-service/git-servers/roles/grokmirror/templates/gerrit-ref-updated3
2 files changed, 9 insertions, 0 deletions
diff --git a/per-service/git-servers/roles/grokmirror/tasks/master.yml b/per-service/git-servers/roles/grokmirror/tasks/master.yml
index 7ee7f129..fffcc27b 100644
--- a/per-service/git-servers/roles/grokmirror/tasks/master.yml
+++ b/per-service/git-servers/roles/grokmirror/tasks/master.yml
@@ -25,6 +25,12 @@
dest={{gerrit_root}}/hooks/patchset-created
state=link
+- name: Install gerrit hook for projects being created
+ when: gerrit_st.stat is defined and gerrit_st.stat.isdir
+ file: src={{gerrit_root}}/hooks/ref-updated
+ dest={{gerrit_root}}/hooks/project-created
+ state=link
+
- name: Setup authorized_key entries for grokmirror slaves
when: gitolite_st.stat is defined and gitolite_st.stat.isdir
lineinfile: dest=/home/{{git_user}}/.ssh/authorized_keys
diff --git a/per-service/git-servers/roles/grokmirror/templates/gerrit-ref-updated b/per-service/git-servers/roles/grokmirror/templates/gerrit-ref-updated
index cc3b4d02..cf28173b 100644
--- a/per-service/git-servers/roles/grokmirror/templates/gerrit-ref-updated
+++ b/per-service/git-servers/roles/grokmirror/templates/gerrit-ref-updated
@@ -23,6 +23,9 @@ echo "$(date): $0 called with $*"
echo "$(date): repo changed: $repo"
cd ${GERRIT_GIT}
+{% if grokmirror_master_check_export %}
+[ -f ${repo}/git-daemon-export-ok ] || touch ${repo}/git-daemon-export-ok
+{% endif %}
${GROK_MANIFEST_BIN}{% if grokmirror_master_check_export %} -c{% endif %} -v \
-m ${GROK_MANIFEST} -t ${GERRIT_GIT} -n ${repo}
git --git-dir=$GIT_DIR update-server-info