cloud-init/cloud-init-0.7.6-bzr1060-groupadd-list.patch
2015-02-23 14:18:04 -08:00

32 lines
1.4 KiB
Diff

Index: cloud-init-0.7.6-bzr1060/cloudinit/distros/__init__.py
===================================================================
--- cloud-init-0.7.6-bzr1060.orig/cloudinit/distros/__init__.py
+++ cloud-init-0.7.6-bzr1060/cloudinit/distros/__init__.py
@@ -333,11 +333,16 @@ class Distro(object):
}
redact_opts = ['passwd']
+ # Options that are comma separated lists which we need to parse
+ list_stripped_opts = ['groups']
# Check the values and create the command
for key, val in kwargs.items():
if key in adduser_opts and val and isinstance(val, str):
+ if key in list_stripped_opts:
+ values = [x.strip() for x in val.split(',')]
+ val = ','.join(values)
adduser_cmd.extend([adduser_opts[key], val])
# Redact certain fields from the logs
@@ -629,6 +634,9 @@ def _normalize_groups(grp_cfg):
raise TypeError("Bad group member type %s" %
type_utils.obj_name(v))
elif isinstance(i, six.string_types):
+ # Common to have leading whitespace in string lists,
+ # but not all useradd tools will support it.-
+ i = i.strip()
if i not in c_grp_cfg:
c_grp_cfg[i] = []
else: