summaryrefslogtreecommitdiff
path: root/cloudinit/distros/__init__.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2012-12-04 10:01:46 -0500
committerScott Moser <smoser@ubuntu.com>2012-12-04 10:01:46 -0500
commit81ea305461777d5e5bec9f92a0b14c544aa6fd1e (patch)
treedde2cd2ef65f03cf48cdd51638d0332b0a32d4cc /cloudinit/distros/__init__.py
parent52a1884822ecb9474e12e6c16b62dbd0728a4a0e (diff)
parent1e7b96743314f566814848ad05c5bc7271a5de91 (diff)
downloadvyos-cloud-init-81ea305461777d5e5bec9f92a0b14c544aa6fd1e.tar.gz
vyos-cloud-init-81ea305461777d5e5bec9f92a0b14c544aa6fd1e.zip
merge from trunk
Diffstat (limited to 'cloudinit/distros/__init__.py')
-rw-r--r--cloudinit/distros/__init__.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index ea0bac23..6a684b89 100644
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -24,7 +24,6 @@
from StringIO import StringIO
import abc
-import collections
import itertools
import os
import re
@@ -421,12 +420,16 @@ 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)
+ content += "\n" # trailing newline
self.ensure_sudo_dir(os.path.dirname(sudo_file))
if not os.path.exists(sudo_file):