summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <paul.sokolovsky@linaro.org>2015-01-10 22:43:01 +0200
committerPaul Sokolovsky <paul.sokolovsky@linaro.org>2015-01-10 22:43:01 +0200
commitbc95d71c2f2a4e2b329e3c1a171b8783212bb37d (patch)
tree00ead99bd9799c1363c649a8aaf250a51ed25c4b
parent70cc03bea6668592e97ea6ac826d907cf89090eb (diff)
git-servers/mirroring: Convert cron actions to idempotent crontab.
Change-Id: I92e2ecbdce31364fffaec22712b0febb52b8741f
-rw-r--r--per-service/git-servers/roles/mirroring/tasks/openjdk-mirroring.yml22
-rw-r--r--per-service/git-servers/roles/mirroring/tasks/toolchain-mirroring.yml84
-rw-r--r--per-service/git-servers/roles/mirroring/templates/openjdk-mirror.cron3
-rw-r--r--per-service/git-servers/roles/mirroring/templates/toolchain-mirror.cron15
4 files changed, 24 insertions, 100 deletions
diff --git a/per-service/git-servers/roles/mirroring/tasks/openjdk-mirroring.yml b/per-service/git-servers/roles/mirroring/tasks/openjdk-mirroring.yml
index 90cea2e5..3cbe6104 100644
--- a/per-service/git-servers/roles/mirroring/tasks/openjdk-mirroring.yml
+++ b/per-service/git-servers/roles/mirroring/tasks/openjdk-mirroring.yml
@@ -17,28 +17,12 @@
tags:
- mirroring
-# This is a hack since ansible cron module does not support defining the MAILTO
-# variable. Basically: create the file that will hold the crontab entries with
-# just the MAILTO line, then define the crontab entries as normal. The cron
-# module is smart enough to not remove what is there already.
-# Drawback: the cron file will always be re-created from scratch.
-- name: Add MAILTO line to cron file
- copy: dest=/etc/cron.d/openjdk-mirror
+- name: Install openjdk-mirror crontab
+ template: src=openjdk-mirror.cron dest=/etc/cron.d/openjdk-mirror
owner=root
group=root
mode=0644
- content="MAILTO={{ mailto_address }}"
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Intall OpenJDK mirror cron
- cron: name="Update the openjdk mirror."
- job="export PATH=$PATH:/home/{{ git_user }}/bin ; {{ tools_checkout_dir }}/linaro-git-tools/openjdk-tools 1>/dev/null"
- user={{ git_user }}
- cron_file=openjdk-mirror
- minute=16
- hour=4
when: hosttype == "git-main"
tags:
- mirroring
+ - cron
diff --git a/per-service/git-servers/roles/mirroring/tasks/toolchain-mirroring.yml b/per-service/git-servers/roles/mirroring/tasks/toolchain-mirroring.yml
index 92b4a3e1..0b85d36e 100644
--- a/per-service/git-servers/roles/mirroring/tasks/toolchain-mirroring.yml
+++ b/per-service/git-servers/roles/mirroring/tasks/toolchain-mirroring.yml
@@ -17,90 +17,12 @@
tags:
- mirroring
-# This is a hack since ansible cron module does not support defining the MAILTO
-# variable. Basically: create the file that will hold the crontab entries with
-# just the MAILTO line, then define the crontab entries as normal. The cron
-# module is smart enough to not remove what is there already.
-# Drawback: the cron file will always be re-created from scratch.
-- name: Add MAILTO line to cron file
- copy: dest=/etc/cron.d/toolchain-mirror
+- name: Install toolchain-mirror crontab
+ template: src=toolchain-mirror.cron dest=/etc/cron.d/toolchain-mirror
owner=root
group=root
mode=0644
- content="MAILTO={{ mailto_address }}"
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Set gcc-bzr mirror cron
- cron: name="Update gcc-bzr mirror."
- job="export PATH=$PATH:/home/{{ git_user }}/bin ; {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_bzr_branch 2>&1 > /dev/null"
- user={{ git_user }}
- cron_file=toolchain-mirror
- minute=22
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Set gcc upstream mirror cron
- cron: name="Update gcc upstream mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools pull_git_changes 2>&1 > /dev/null"
- user={{ git_user }}
- cron_file=toolchain-mirror
- minute=28
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Set binutils-gdb mirror cron
- cron: name="Update binutils gdb mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_binutils_gdb 2>&1 > /dev/null"
- user={{ git_user }}
- cron_file=toolchain-mirror
- minute=34
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Set newlib mirror cron
- cron: name="Update toolchain newlib mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_newlib_mirror 2>&1 > /dev/null"
- user={{ git_user }}
- cron_file=toolchain-mirror
- minute=3
- hour=1
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Set glibc mirror cron
- cron: name="Update toolchain glibc mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_glibc_mirror 2>&1 >/dev/null"
- minute=9
- hour=1
- user={{ git_user }}
- cron_file=toolchain-mirror
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Update dejagnu mirror
- cron: name="Update dejagnu mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_dejagnu_mirror 2>&1 >/dev/null"
- minute=*/10
- user={{ git_user }}
- cron_file=toolchain-mirror
- when: hosttype == "git-main"
- tags:
- - mirroring
-
-- name: Update gcc-new mirror
- cron: name="Update gcc-new mirror."
- job="{{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools new_gcc 1>/dev/null"
- hour=*/8
- minute=15
- user={{ git_user }}
- cron_file=toolchain-mirror
when: hosttype == "git-main"
tags:
- mirroring
+ - cron
diff --git a/per-service/git-servers/roles/mirroring/templates/openjdk-mirror.cron b/per-service/git-servers/roles/mirroring/templates/openjdk-mirror.cron
new file mode 100644
index 00000000..d7596d29
--- /dev/null
+++ b/per-service/git-servers/roles/mirroring/templates/openjdk-mirror.cron
@@ -0,0 +1,3 @@
+MAILTO=linaro-infrastructure-errors@lists.linaro.org
+#Ansible: Update the openjdk mirror.
+16 4 * * * {{git_user}} export PATH=$PATH:/home/{{git_user}}/bin ; {{tools_checkout_dir}}/linaro-git-tools/openjdk-tools 1>/dev/null
diff --git a/per-service/git-servers/roles/mirroring/templates/toolchain-mirror.cron b/per-service/git-servers/roles/mirroring/templates/toolchain-mirror.cron
new file mode 100644
index 00000000..46de8a78
--- /dev/null
+++ b/per-service/git-servers/roles/mirroring/templates/toolchain-mirror.cron
@@ -0,0 +1,15 @@
+MAILTO=linaro-infrastructure-errors@lists.linaro.org
+#Ansible: Update gcc-bzr mirror.
+22 * * * * {{git_user}} export PATH=$PATH:/home/{{ git_user }}/bin ; {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_bzr_branch 2>&1 > /dev/null
+#Ansible: Update gcc upstream mirror.
+28 * * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools pull_git_changes 2>&1 > /dev/null
+#Ansible: Update binutils gdb mirror.
+34 * * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_binutils_gdb 2>&1 > /dev/null
+#Ansible: Update toolchain newlib mirror.
+3 1 * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_newlib_mirror 2>&1 > /dev/null
+#Ansible: Update toolchain glibc mirror.
+9 1 * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_glibc_mirror 2>&1 >/dev/null
+#Ansible: Update dejagnu mirror.
+*/10 * * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools update_dejagnu_mirror 2>&1 >/dev/null
+#Ansible: Update gcc-new mirror.
+15 */8 * * * {{git_user}} {{ tools_checkout_dir }}/linaro-git-tools/toolchain-tools new_gcc 1>/dev/null