diff --git a/roles/rebuilderd_worker/files/clean-repro b/roles/rebuilderd_worker/files/clean-repro new file mode 100644 index 0000000000000000000000000000000000000000..f07b3376942e8fbcdb1aa20fc437fdfc6e3ffa3f --- /dev/null +++ b/roles/rebuilderd_worker/files/clean-repro @@ -0,0 +1,3 @@ +#!/bin/bash -e + +find /var/lib/repro -maxdepth 1 -name '*?_?*' -mtime +6 -exec rm -rf {} + diff --git a/roles/rebuilderd_worker/files/clean-repro.service b/roles/rebuilderd_worker/files/clean-repro.service new file mode 100644 index 0000000000000000000000000000000000000000..dc89c54f693f69902b7e0629cd6696882e9351ac --- /dev/null +++ b/roles/rebuilderd_worker/files/clean-repro.service @@ -0,0 +1,10 @@ +[Unit] +Description=Clean up stale repro chroots +ConditionPathExists=/var/lib/repro + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/clean-repro +Nice=19 +IOSchedulingClass=best-effort +IOSchedulingPriority=7 diff --git a/roles/rebuilderd_worker/files/clean-repro.timer b/roles/rebuilderd_worker/files/clean-repro.timer new file mode 100644 index 0000000000000000000000000000000000000000..cfa6d2438ea80ad735acb51fb1b205ee1bae097a --- /dev/null +++ b/roles/rebuilderd_worker/files/clean-repro.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Daily repro cleanup + +[Timer] +OnCalendar=daily +RandomizedDelaySec=12h +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/roles/rebuilderd_worker/handlers/main.yml b/roles/rebuilderd_worker/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..039b2657143ca4384474de52d23dd8fc750d142a --- /dev/null +++ b/roles/rebuilderd_worker/handlers/main.yml @@ -0,0 +1,5 @@ +--- + +- name: daemon reload + systemd: + daemon-reload: true diff --git a/roles/rebuilderd_worker/tasks/main.yml b/roles/rebuilderd_worker/tasks/main.yml index 37962959706efd06e14684b3b656d621256a11f8..c838137a4c96f1012e4153de0670f056312934d3 100644 --- a/roles/rebuilderd_worker/tasks/main.yml +++ b/roles/rebuilderd_worker/tasks/main.yml @@ -13,3 +13,17 @@ - name: enable and start rebuilderd-worker@{{ item }} systemd: name=rebuilderd-worker@{{ item }} enabled=yes state=started with_items: '{{ rebuilderd_workers }}' + +- name: install cleanup script + copy: src=clean-repro dest=/usr/local/bin/clean-repro owner=root group=root mode=0755 + +- name: install cleanup units + copy: src={{ item }} dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 + loop: + - clean-repro.timer + - clean-repro.service + notify: + - daemon reload + +- name: start and enable cleanup timer + service: name=clean-repro.timer enabled=yes state=started