diff options
author | Paul Sokolovsky <paul.sokolovsky@linaro.org> | 2015-01-10 22:43:01 +0200 |
---|---|---|
committer | Paul Sokolovsky <paul.sokolovsky@linaro.org> | 2015-01-10 22:43:01 +0200 |
commit | bc95d71c2f2a4e2b329e3c1a171b8783212bb37d (patch) | |
tree | 00ead99bd9799c1363c649a8aaf250a51ed25c4b | |
parent | 70cc03bea6668592e97ea6ac826d907cf89090eb (diff) |
git-servers/mirroring: Convert cron actions to idempotent crontab.
Change-Id: I92e2ecbdce31364fffaec22712b0febb52b8741f
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 |