diff options
author | Andy Doan <andy.doan@linaro.org> | 2015-04-14 09:59:55 -0500 |
---|---|---|
committer | Linaro Code Review <review@review.linaro.org> | 2015-04-14 19:35:58 +0000 |
commit | 8d14ad89c6c31ef0f0d59ad4a75f845e18cc7651 (patch) | |
tree | 6e729791b7478aa78e25be730d080cf1266ce5c2 | |
parent | 5924c38ee07660955897fd0f2bd22685c6786548 (diff) |
git/cron: break out bundle creation logic
Our android grokmirror slaves (as well as git-main slaves) need to be
able to create bundles. However, they don't really need the other logic
in the gitserver cron job. This splits things up so we can have better
granularity.
Change-Id: I3acd3e9db73562632ea4d39b5677033126c0b495
7 files changed, 28 insertions, 14 deletions
diff --git a/per-service/git-servers/gitolite.yml b/per-service/git-servers/gitolite.yml index d26646f4..31db7816 100644 --- a/per-service/git-servers/gitolite.yml +++ b/per-service/git-servers/gitolite.yml @@ -23,7 +23,7 @@ - apache-website - {role: apache-site, src: "{{git_host}}.conf", config: "{{git_host}}", tags: [apache, website-conf] } - {role: url-rewrite, when: hosttype != 'git-slave'} - - {role: cronjobs, when: hosttype != 'git-slave'} + - {role: cronjobs} - gitweb - upstart-git-daemon - {role: grokmirror, when: grokmirror_support} diff --git a/per-service/git-servers/host_vars/android-ap.git.linaro.org b/per-service/git-servers/host_vars/android-ap.git.linaro.org index e931efba..c2ac05a9 100644 --- a/per-service/git-servers/host_vars/android-ap.git.linaro.org +++ b/per-service/git-servers/host_vars/android-ap.git.linaro.org @@ -5,4 +5,5 @@ git_host: android.git.linaro.org nickname: android-ap-git host_site_name: Linaro Android Git Hosting +git_bundle_blacklist: git-android-bundle-exclude.txt grokmirror_support: true diff --git a/per-service/git-servers/host_vars/git-ap.linaro.org b/per-service/git-servers/host_vars/git-ap.linaro.org index f6b0902a..434bfb7f 100644 --- a/per-service/git-servers/host_vars/git-ap.linaro.org +++ b/per-service/git-servers/host_vars/git-ap.linaro.org @@ -6,3 +6,4 @@ host_site_name: Linaro Git Hosting server_access: public hosttype: git-slave grokmirror_support: true +git_bundle_whitelist: git-main-bundle-include.txt diff --git a/per-service/git-servers/host_vars/git-ie.linaro.org b/per-service/git-servers/host_vars/git-ie.linaro.org index d675bc3f..9094577d 100644 --- a/per-service/git-servers/host_vars/git-ie.linaro.org +++ b/per-service/git-servers/host_vars/git-ie.linaro.org @@ -6,3 +6,4 @@ host_site_name: Linaro Git Hosting server_access: public hosttype: git-slave grokmirror_support: true +git_bundle_whitelist: git-main-bundle-include.txt diff --git a/per-service/git-servers/roles/cronjobs/tasks/main.yml b/per-service/git-servers/roles/cronjobs/tasks/main.yml index 5532e668..cc845705 100644 --- a/per-service/git-servers/roles/cronjobs/tasks/main.yml +++ b/per-service/git-servers/roles/cronjobs/tasks/main.yml @@ -1,11 +1,12 @@ --- # All the necessary cron jobs. -- name: Install crontab +- name: Install gitserver crontab template: src=gitserver dest=/etc/cron.d/gitserver owner=root group=root mode=0644 + when: hosttype != "git-slave" tags: - cron - install @@ -40,3 +41,15 @@ tags: - cron - git + +- name: Install git-bundles crontab + template: src=git-bundles dest=/etc/cron.d/git-bundles + owner=root group=root mode=0644 + when: git_bundle_whitelist is defined or git_bundle_blacklist is defined + tags: + - cron + - install + - update + - android + - git + diff --git a/per-service/git-servers/roles/cronjobs/templates/git-bundles b/per-service/git-servers/roles/cronjobs/templates/git-bundles new file mode 100644 index 00000000..635f7f75 --- /dev/null +++ b/per-service/git-servers/roles/cronjobs/templates/git-bundles @@ -0,0 +1,10 @@ +MAILTO=linaro-infrastructure-errors@lists.linaro.org +{% if git_bundle_blacklist is defined %} +#Ansible: Create clone bundles (using blacklist) +3 3 * * 0 {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/bundles/create-bundle.py --exclude-list {{tools_checkout_dir}}/{{git_bundle_blacklist}} +{% endif %} + +{% if git_bundle_whitelist is defined %} +#Ansible: Create clone bundles (using whitelist) +3 3 * * 0 {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/bundles/create-bundle.py --repo-list {{tools_checkout_dir}}/{{git_bundle_whitelist}} +{% endif %} diff --git a/per-service/git-servers/roles/cronjobs/templates/gitserver b/per-service/git-servers/roles/cronjobs/templates/gitserver index 9d16312f..e6a9c765 100644 --- a/per-service/git-servers/roles/cronjobs/templates/gitserver +++ b/per-service/git-servers/roles/cronjobs/templates/gitserver @@ -12,15 +12,3 @@ MAILTO=linaro-infrastructure-errors@lists.linaro.org #Ansible: Clean trashed repositories 2 5 * * * {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/clean-trash-repo.py {% endif %} - -{# TODO: refactor below #} - -{% if git_bundle_blacklist is defined %} -#Ansible: Create clone bundles (using blacklist) -3 3 * * 0 {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/bundles/create-bundle.py --exclude-list {{tools_checkout_dir}}/{{git_bundle_blacklist}} -{% endif %} - -{% if git_bundle_whitelist is defined %} -#Ansible: Create clone bundles (using whitelist) -3 3 * * 0 {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/bundles/create-bundle.py --repo-list {{tools_checkout_dir}}/{{git_bundle_whitelist}} -{% endif %} |