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