summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenno Joy <bennojoy@gmail.com>2015-08-27 12:13:06 +0530
committerBenno Joy <bennojoy@gmail.com>2015-08-27 12:13:06 +0530
commit8bf800d5c54a9c2ae5203cc6d3853292544fb6dc (patch)
treeb3c45245ffd2d10a9c5c6acffb51b361871af3da
parent8cc9fdde4aebde430afca4f3defd5fa67340d28d (diff)
parent4ae4331a6bfe716e65aec656bff0c51a78b02a40 (diff)
downloadansible-modules-core-8bf800d5c54a9c2ae5203cc6d3853292544fb6dc.tar.gz
Merge pull request #1973 from mgedmin/user-no-ssh-keygen-in-check-mode
user: don't generate SSH keys in check mode
-rwxr-xr-x[-rw-r--r--]system/user.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/system/user.py b/system/user.py
index 7e3e4c01..45ce7738 100644..100755
--- a/system/user.py
+++ b/system/user.py
@@ -577,11 +577,13 @@ class User(object):
def ssh_key_gen(self):
info = self.user_info()
- if not os.path.exists(info[5]):
+ if not os.path.exists(info[5]) and not self.module.check_mode:
return (1, '', 'User %s home directory does not exist' % self.name)
ssh_key_file = self.get_ssh_key_path()
ssh_dir = os.path.dirname(ssh_key_file)
if not os.path.exists(ssh_dir):
+ if self.module.check_mode:
+ return (0, '', '')
try:
os.mkdir(ssh_dir, 0700)
os.chown(ssh_dir, info[2], info[3])
@@ -589,6 +591,8 @@ class User(object):
return (1, '', 'Failed to create %s: %s' % (ssh_dir, str(e)))
if os.path.exists(ssh_key_file):
return (None, 'Key already exists', '')
+ if self.module.check_mode:
+ return (0, '', '')
cmd = [self.module.get_bin_path('ssh-keygen', True)]
cmd.append('-t')
cmd.append(self.ssh_type)
@@ -2148,6 +2152,7 @@ def main():
# deal with ssh key
if user.sshkeygen:
+ # generate ssh key (note: this function is check mode aware)
(rc, out, err) = user.ssh_key_gen()
if rc is not None and rc != 0:
module.fail_json(name=user.name, msg=err, rc=rc)