From 2f3132fde0d00266763b3ba2155039ff6f748406 Mon Sep 17 00:00:00 2001 From: Tobias Martin Date: Fri, 18 Nov 2016 12:44:38 +0100 Subject: [PATCH 1/2] removed old users and group before creating new ones --- users/init.sls | 73 +++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/users/init.sls b/users/init.sls index b8dbf9a..3dcad0f 100644 --- a/users/init.sls +++ b/users/init.sls @@ -47,6 +47,42 @@ include: {%- set user_group = name -%} {%- endif %} +{% for name, user in pillar.get('users', {}).items() + if user.absent is defined and user.absent %} +users_absent_user_{{ name }}: +{% if 'purge' in user or 'force' in user %} + user.absent: + - name: {{ name }} + {% if 'purge' in user %} + - purge: {{ user['purge'] }} + {% endif %} + {% if 'force' in user %} + - force: {{ user['force'] }} + {% endif %} +{% else %} + user.absent: + - name: {{ name }} +{% endif -%} +users_{{ users.sudoers_dir }}/{{ name }}: + file.absent: + - name: {{ users.sudoers_dir }}/{{ name }} +{% endfor %} + +{% for user in pillar.get('absent_users', []) %} +users_absent_user_2_{{ user }}: + user.absent: + - name: {{ name }} +users_2_{{ users.sudoers_dir }}/{{ user }}: + file.absent: + - name: {{ users.sudoers_dir }}/{{ user }} +{% endfor %} + +{% for group in pillar.get('absent_groups', []) %} +users_absent_group_{{ group }}: + group.absent: + - name: {{ group }} +{% endfor %} + {% for group in user.get('groups', []) %} users_{{ name }}_{{ group }}_group: group.present: @@ -453,40 +489,3 @@ users_{{ name }}_user_gitconfig_{{ loop.index0 }}: {% endif %} {% endfor %} - - -{% for name, user in pillar.get('users', {}).items() - if user.absent is defined and user.absent %} -users_absent_user_{{ name }}: -{% if 'purge' in user or 'force' in user %} - user.absent: - - name: {{ name }} - {% if 'purge' in user %} - - purge: {{ user['purge'] }} - {% endif %} - {% if 'force' in user %} - - force: {{ user['force'] }} - {% endif %} -{% else %} - user.absent: - - name: {{ name }} -{% endif -%} -users_{{ users.sudoers_dir }}/{{ name }}: - file.absent: - - name: {{ users.sudoers_dir }}/{{ name }} -{% endfor %} - -{% for user in pillar.get('absent_users', []) %} -users_absent_user_2_{{ user }}: - user.absent: - - name: {{ name }} -users_2_{{ users.sudoers_dir }}/{{ user }}: - file.absent: - - name: {{ users.sudoers_dir }}/{{ user }} -{% endfor %} - -{% for group in pillar.get('absent_groups', []) %} -users_absent_group_{{ group }}: - group.absent: - - name: {{ group }} -{% endfor %} From 7a19ff5c206ae5675e9e42dc1379bf9be5ed7cbf Mon Sep 17 00:00:00 2001 From: Tobias Martin Date: Fri, 18 Nov 2016 16:20:44 +0100 Subject: [PATCH 2/2] moved the user and group removal out of the for block to avoid duplicate ids --- users/init.sls | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/users/init.sls b/users/init.sls index 3dcad0f..119ab75 100644 --- a/users/init.sls +++ b/users/init.sls @@ -33,20 +33,6 @@ include: {%- endif %} {%- endif %} -{% for name, user in pillar.get('users', {}).items() - if user.absent is not defined or not user.absent %} -{%- if user == None -%} -{%- set user = {} -%} -{%- endif -%} -{%- set current = salt.user.info(name) -%} -{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} - -{%- if 'prime_group' in user and 'name' in user['prime_group'] %} -{%- set user_group = user.prime_group.name -%} -{%- else -%} -{%- set user_group = name -%} -{%- endif %} - {% for name, user in pillar.get('users', {}).items() if user.absent is defined and user.absent %} users_absent_user_{{ name }}: @@ -83,6 +69,20 @@ users_absent_group_{{ group }}: - name: {{ group }} {% endfor %} +{% for name, user in pillar.get('users', {}).items() + if user.absent is not defined or not user.absent %} +{%- if user == None -%} +{%- set user = {} -%} +{%- endif -%} +{%- set current = salt.user.info(name) -%} +{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} + +{%- if 'prime_group' in user and 'name' in user['prime_group'] %} +{%- set user_group = user.prime_group.name -%} +{%- else -%} +{%- set user_group = name -%} +{%- endif %} + {% for group in user.get('groups', []) %} users_{{ name }}_{{ group }}_group: group.present: