Adding "force_delete" key to remove user data completely.
In rare cases (for example if environment has been configured
with ldap support user.absent cannot be executed properly and
will fail.
We can add force: True to a state so it wil succeed regardless
of ldap connectivity and remove local user data (home, mail)
Prod-Related: PROD-33024
Change-Id: I535be927bf77ce8ded28eb0a2fe57a0ef31dd161
diff --git a/README.rst b/README.rst
index 8452218..611a1ee 100644
--- a/README.rst
+++ b/README.rst
@@ -76,6 +76,20 @@
home: '/home/elizabeth'
password: "$6$nUI7QEz3$dFYjzQqK5cJ6HQ38KqG4gTWA9eJu3aKx6TRVDFh6BVJxJgFWg2akfAA7f1fCxcSUeOJ2arCO6EEI6XXnHXxG10"
+Remove users data completely:
+
+.. code-block:: yaml
+
+ linux:
+ system:
+ user:
+ example:
+ email: disabled
+ enabled: false
+ full_name: disabled
+ name: example
+ force_delete: True
+
Setting user defaults
---------------------
Default parameters that will be used by `useradd` command could be configured
diff --git a/linux/system/user.sls b/linux/system/user.sls
index ca95c34..a166a45 100644
--- a/linux/system/user.sls
+++ b/linux/system/user.sls
@@ -121,6 +121,7 @@
system_user_{{ name }}:
user.absent:
- name: {{ name }}
+ - force: {{ user.get('force_delete', 'False') }}
system_user_home_{{ user.home }}:
file.absent:
diff --git a/tests/pillar/system.sls b/tests/pillar/system.sls
index 1ca26c4..2792df3 100644
--- a/tests/pillar/system.sls
+++ b/tests/pillar/system.sls
@@ -232,6 +232,14 @@
home: /home/saltuser2
groups:
- sudogroup1
+ example:
+ enabled: false
+ name: example
+ sudo: false
+ full_name: disabled
+ home: /home/example
+ email: disabled
+ force_delete: True
group:
testgroup:
enabled: true