From 5c1e62050449914fe209378fdb196e3746e16e36 Mon Sep 17 00:00:00 2001 From: Tom Matthews Date: Wed, 15 Aug 2018 20:04:45 +0100 Subject: [PATCH] Strip trailing comments from /etc/default/passwd (#43931) * strip additional comments from /etc/default/passwd Strip trailling comments from /etc/default/passwd like MINWEEKS=1 #MINWEEKS=2 MAXWEEKS=12 # MAXWEEKS=8 Which otherwise cause failures with "failed to read /etc/default/passwd: too many values to unpack" * fix carriage return typo in commit * yet another typo in commit * Fix indent problem * add changelog fragment for PR 43931 --- changelogs/fragments/43931-strip-trailing-comments.yml | 2 ++ lib/ansible/modules/system/user.py | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 changelogs/fragments/43931-strip-trailing-comments.yml diff --git a/changelogs/fragments/43931-strip-trailing-comments.yml b/changelogs/fragments/43931-strip-trailing-comments.yml new file mode 100644 index 0000000000..3a32468856 --- /dev/null +++ b/changelogs/fragments/43931-strip-trailing-comments.yml @@ -0,0 +1,2 @@ +bugfixes: + - user - Strip trailing comments in /etc/default/passwd (https://github.com/ansible/ansible/pull/43931) diff --git a/lib/ansible/modules/system/user.py b/lib/ansible/modules/system/user.py index 6b030c88c1..c0677a2ae1 100644 --- a/lib/ansible/modules/system/user.py +++ b/lib/ansible/modules/system/user.py @@ -348,6 +348,7 @@ import pwd import shutil import socket import time +import re from ansible.module_utils._text import to_native from ansible.module_utils.basic import load_platform_subclass, AnsibleModule @@ -1525,6 +1526,9 @@ class SunOS(User): line = line.strip() if (line.startswith('#') or line == ''): continue + m = re.match(r'^([^#]*)#(.*)$', line) + if m: # The line contains a hash / comment + line = m.group(1) key, value = line.split('=') if key == "MINWEEKS": minweeks = value.rstrip('\n')