Blob Blame History Raw
Index: cloud-init-0.7.1/cloudinit/distros/__init__.py
===================================================================
--- cloud-init-0.7.1.orig/cloudinit/distros/__init__.py
+++ cloud-init-0.7.1/cloudinit/distros/__init__.py
@@ -24,7 +24,6 @@
 from StringIO import StringIO
 
 import abc
-import collections
 import itertools
 import os
 import re
@@ -421,11 +420,14 @@ class Distro(object):
             '',
             "# User rules for %s" % user,
         ]
-        if isinstance(rules, collections.Iterable):
+        if isinstance(rules, (list, tuple)):
             for rule in rules:
                 lines.append("%s %s" % (user, rule))
-        else:
+        elif isinstance(rules, (basestring, str)):
             lines.append("%s %s" % (user, rules))
+        else:
+            msg = "Can not create sudoers rule addition with type %r"
+            raise TypeError(msg % (util.obj_name(rules)))
         content = "\n".join(lines)
 
         self.ensure_sudo_dir(os.path.dirname(sudo_file))