From cadbae81e1bcd9b61507bb6424eb92af6f89132c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= Date: Wed, 9 Jun 2021 15:45:35 +0200 Subject: [PATCH] abrt: Improve retrace user modification flow We need to stop and restart the httpd service when modifying the retrace user, otherwise we get errors like "user retrace is currently used by process ". Also, factor out some magic values into role variables. --- roles/abrt/retrace-pre/defaults/main.yml | 3 ++ roles/abrt/retrace-pre/tasks/main.yml | 40 +++++++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 roles/abrt/retrace-pre/defaults/main.yml diff --git a/roles/abrt/retrace-pre/defaults/main.yml b/roles/abrt/retrace-pre/defaults/main.yml new file mode 100644 index 0000000000..490f879e53 --- /dev/null +++ b/roles/abrt/retrace-pre/defaults/main.yml @@ -0,0 +1,3 @@ +--- +retrace_user_home: /srv/retrace/home +retrace_user_uid_gid: 174 diff --git a/roles/abrt/retrace-pre/tasks/main.yml b/roles/abrt/retrace-pre/tasks/main.yml index dc80dd4acd..db33c5cd9c 100644 --- a/roles/abrt/retrace-pre/tasks/main.yml +++ b/roles/abrt/retrace-pre/tasks/main.yml @@ -1,12 +1,42 @@ --- -# create uid - this is normaly done by retrace package -# but the package is not installed yet at this momement -- name: Create retrace user +- name: Make sure retrace user exists user: name: retrace group: retrace - uid: 174 - home: /srv/retrace/home + system: yes + create_home: no + register: retrace_user_info + +- name: Ensure retrace user has correct UID and home directory + when: > + retrace_user_info.changed or + retrace_user_info.uid != retrace_user_uid_gid or + retrace_user_info.home != retrace_user_home + block: + - name: Stop httpd service before modifying user + service: + name: httpd + state: stopped + + # create uid - this is normaly done by retrace package + # but the package is not installed yet at this momement + - name: Ensure correct UID and home directory + user: + name: retrace + uid: "{{ retrace_user_uid_gid }}" + gid: "{{ retrace_user_uid_gid }}" + home: "{{ retrace_user_home }}" + create_home: yes + + - name: Ensure correct GID + group: + name: retrace + gid: "{{ retrace_user_uid_gid }}" + + - name: Restart httpd service after modifications are done + service: + name: httpd + state: started - name: Create directory for repositories file: