diff --git a/roles/synapse/files/timeout-start.conf b/roles/synapse/files/timeout-start.conf new file mode 100644 index 0000000..993b127 --- /dev/null +++ b/roles/synapse/files/timeout-start.conf @@ -0,0 +1,4 @@ +# Synapse can sometimes take a very long time to start, especially if +# the machine is under load. +[Service] +TimeoutStartSec=5min diff --git a/roles/synapse/handlers/main.yml b/roles/synapse/handlers/main.yml index 2bb3edc..0d0aa78 100644 --- a/roles/synapse/handlers/main.yml +++ b/roles/synapse/handlers/main.yml @@ -1,3 +1,7 @@ +- name: reload systemd + systemd: + daemon_reload: true + - name: restart synapse listen: certificate changed service: diff --git a/roles/synapse/tasks/main.yml b/roles/synapse/tasks/main.yml index 2989693..dc38b26 100644 --- a/roles/synapse/tasks/main.yml +++ b/roles/synapse/tasks/main.yml @@ -43,6 +43,27 @@ - selinux - seboolean +- name: ensure synapse.service drop-in configuration directory exists + file: + path: /etc/systemd/system/synapse.service.d + owner: root + group: root + mode: u=rwx,go=rx + state: directory + tags: + - systemd +- name: ensure synapse service timeout is set + copy: + src: timeout-start.conf + dest: /etc/systemd/system/synapse.service.d/timeout-start.conf + owner: root + group: root + mode: u=rw,go=r + tags: + - systemd + notify: + - reload systemd + - name: ensure synapse starts at boot service: name: synapse