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: