Blob Blame History Raw
Index: cloud-init-0.7.6-bzr1245/cloudinit/distros/__init__.py
===================================================================
--- cloud-init-0.7.6-bzr1245.orig/cloudinit/distros/__init__.py
+++ cloud-init-0.7.6-bzr1245/cloudinit/distros/__init__.py
@@ -376,7 +376,7 @@ class Distro(object):
                 # that can go right through to the command.
                 kwargs['groups'] = ",".join(groups)
             else:
-                groups = groups.split(",")
+                groups = [group.strip() for group in groups.split(",")]
 
             primary_group = kwargs.get('primary_group')
             if primary_group:
@@ -673,7 +673,7 @@ def _get_arch_package_mirror_info(packag
 # of cloud-init
 def _normalize_groups(grp_cfg):
     if isinstance(grp_cfg, six.string_types):
-        grp_cfg = grp_cfg.strip().split(",")
+        grp_cfg = [grp.strip() for grp in grp_cfg.strip().split(",")]
     if isinstance(grp_cfg, list):
         c_grp_cfg = {}
         for i in grp_cfg:
@@ -691,11 +691,14 @@ def _normalize_groups(grp_cfg):
                         if isinstance(v, list):
                             c_grp_cfg[k].extend(v)
                         elif isinstance(v, six.string_types):
-                            c_grp_cfg[k].append(v)
+                            c_grp_cfg[k].append(v.strip())
                         else:
                             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: