openafs-client: add service timeout override

Starting the openafs-client service is an intensive operation as it
walks the cache registering various things.  We've seen on our
production ARM64 mirror this can take longer than the 1:30 default
timeout.  This is a fatal issue, as the module will try to unload
while afsd is still spinning and working resulting in completely
corrupt kernel state.

This is about double the longest time we've seen, so should give
plenty of overhead.

Change-Id: I37186494b9afd72eab3a092279579f1a5fa5d22c
Ian Wienand 2 years ago
parent f2859c55de
commit 65991cf92e

@ -43,3 +43,10 @@ role has limited platform support. Currently supported are
:default: no
Enable or disable gpg checking for ``openafs_yum_repo_url``
.. zuul:rolevar:: openafs_client_service_timeout_sec
:default: 480
The TimeoutSec for service start. Accounting for the cache
during startup can cause a high load which may necessitate
a longer startup timeout on some platforms.

@ -1,3 +1,4 @@
openafs_client_cell: ''
openafs_client_cache_directory: '/var/cache/openafs'
openafs_client_cache_size: 500000
openafs_client_cache_size: 500000
openafs_client_service_timeout_sec: 480

@ -62,6 +62,23 @@
mode: 0700
become: yes
- name: Set timeout override
become: yes
- name: Create service override directory
path: '/etc/systemd/system/openafs-client.service.d'
state: directory
owner: root
group: root
mode: 0755
- name: Save override
dest: '/etc/systemd/system/openafs-client.service.d/timeout.conf'
src: 'timeout.conf.j2'
group: root
mode: 0644
- name: Setup OS specific openafs-client environment
include_tasks: "{{ lookup('first_found', params) }}"

@ -0,0 +1,2 @@
TimeoutSec={{ openafs_client_service_timeout_sec }}