summaryrefslogtreecommitdiff
path: root/cloudinit/distros
diff options
context:
space:
mode:
authorDaniel Watkins <oddbloke@ubuntu.com>2020-01-21 18:02:42 -0500
committerChad Smith <chad.smith@canonical.com>2020-01-21 16:02:42 -0700
commitbb71a9d08d25193836eda91c328760305285574e (patch)
tree50a1f2f4a61e04255c5a8129e7a2a26d9d4cecd4 /cloudinit/distros
parent8c4fd886931abcf2cc8627a47463907d655b35c3 (diff)
downloadvyos-cloud-init-bb71a9d08d25193836eda91c328760305285574e.tar.gz
vyos-cloud-init-bb71a9d08d25193836eda91c328760305285574e.zip
Drop most of the remaining use of six (#179)
Diffstat (limited to 'cloudinit/distros')
-rwxr-xr-xcloudinit/distros/__init__.py13
-rw-r--r--cloudinit/distros/freebsd.py7
-rw-r--r--cloudinit/distros/parsers/sys_conf.py6
-rwxr-xr-xcloudinit/distros/ug_util.py22
4 files changed, 19 insertions, 29 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py
index cdce26f2..92598a2d 100755
--- a/cloudinit/distros/__init__.py
+++ b/cloudinit/distros/__init__.py
@@ -9,13 +9,11 @@
#
# This file is part of cloud-init. See LICENSE file for license information.
-import six
-from six import StringIO
-
import abc
import os
import re
import stat
+from io import StringIO
from cloudinit import importer
from cloudinit import log as logging
@@ -53,8 +51,7 @@ _EC2_AZ_RE = re.compile('^[a-z][a-z]-(?:[a-z]+-)+[0-9][a-z]$')
PREFERRED_NTP_CLIENTS = ['chrony', 'systemd-timesyncd', 'ntp', 'ntpdate']
-@six.add_metaclass(abc.ABCMeta)
-class Distro(object):
+class Distro(metaclass=abc.ABCMeta):
usr_lib_exec = "/usr/lib"
hosts_fn = "/etc/hosts"
@@ -429,7 +426,7 @@ class Distro(object):
# support kwargs having groups=[list] or groups="g1,g2"
groups = kwargs.get('groups')
if groups:
- if isinstance(groups, six.string_types):
+ if isinstance(groups, str):
groups = groups.split(",")
# remove any white spaces in group names, most likely
@@ -544,7 +541,7 @@ class Distro(object):
if 'ssh_authorized_keys' in kwargs:
# Try to handle this in a smart manner.
keys = kwargs['ssh_authorized_keys']
- if isinstance(keys, six.string_types):
+ if isinstance(keys, str):
keys = [keys]
elif isinstance(keys, dict):
keys = list(keys.values())
@@ -668,7 +665,7 @@ class Distro(object):
if isinstance(rules, (list, tuple)):
for rule in rules:
lines.append("%s %s" % (user, rule))
- elif isinstance(rules, six.string_types):
+ elif isinstance(rules, str):
lines.append("%s %s" % (user, rules))
else:
msg = "Can not create sudoers rule addition with type %r"
diff --git a/cloudinit/distros/freebsd.py b/cloudinit/distros/freebsd.py
index 40e435e7..026d1142 100644
--- a/cloudinit/distros/freebsd.py
+++ b/cloudinit/distros/freebsd.py
@@ -5,10 +5,8 @@
# This file is part of cloud-init. See LICENSE file for license information.
import os
-import six
-from six import StringIO
-
import re
+from io import StringIO
from cloudinit import distros
from cloudinit import helpers
@@ -108,8 +106,7 @@ class Distro(distros.Distro):
}
for key, val in kwargs.items():
- if (key in pw_useradd_opts and val and
- isinstance(val, six.string_types)):
+ if key in pw_useradd_opts and val and isinstance(val, str):
pw_useradd_cmd.extend([pw_useradd_opts[key], val])
elif key in pw_useradd_flags and val:
diff --git a/cloudinit/distros/parsers/sys_conf.py b/cloudinit/distros/parsers/sys_conf.py
index 44df17de..dee4c551 100644
--- a/cloudinit/distros/parsers/sys_conf.py
+++ b/cloudinit/distros/parsers/sys_conf.py
@@ -4,11 +4,9 @@
#
# This file is part of cloud-init. See LICENSE file for license information.
-import six
-from six import StringIO
-
import pipes
import re
+from io import StringIO
# This library is used to parse/write
# out the various sysconfig files edited (best attempt effort)
@@ -65,7 +63,7 @@ class SysConf(configobj.ConfigObj):
return out_contents.getvalue()
def _quote(self, value, multiline=False):
- if not isinstance(value, six.string_types):
+ if not isinstance(value, str):
raise ValueError('Value "%s" is not a string' % (value))
if len(value) == 0:
return ''
diff --git a/cloudinit/distros/ug_util.py b/cloudinit/distros/ug_util.py
index 9378dd78..08446a95 100755
--- a/cloudinit/distros/ug_util.py
+++ b/cloudinit/distros/ug_util.py
@@ -9,8 +9,6 @@
#
# This file is part of cloud-init. See LICENSE file for license information.
-import six
-
from cloudinit import log as logging
from cloudinit import type_utils
from cloudinit import util
@@ -29,7 +27,7 @@ LOG = logging.getLogger(__name__)
# is the standard form used in the rest
# of cloud-init
def _normalize_groups(grp_cfg):
- if isinstance(grp_cfg, six.string_types):
+ if isinstance(grp_cfg, str):
grp_cfg = grp_cfg.strip().split(",")
if isinstance(grp_cfg, list):
c_grp_cfg = {}
@@ -39,7 +37,7 @@ def _normalize_groups(grp_cfg):
if k not in c_grp_cfg:
if isinstance(v, list):
c_grp_cfg[k] = list(v)
- elif isinstance(v, six.string_types):
+ elif isinstance(v, str):
c_grp_cfg[k] = [v]
else:
raise TypeError("Bad group member type %s" %
@@ -47,12 +45,12 @@ def _normalize_groups(grp_cfg):
else:
if isinstance(v, list):
c_grp_cfg[k].extend(v)
- elif isinstance(v, six.string_types):
+ elif isinstance(v, str):
c_grp_cfg[k].append(v)
else:
raise TypeError("Bad group member type %s" %
type_utils.obj_name(v))
- elif isinstance(i, six.string_types):
+ elif isinstance(i, str):
if i not in c_grp_cfg:
c_grp_cfg[i] = []
else:
@@ -89,7 +87,7 @@ def _normalize_users(u_cfg, def_user_cfg=None):
if isinstance(u_cfg, dict):
ad_ucfg = []
for (k, v) in u_cfg.items():
- if isinstance(v, (bool, int, float) + six.string_types):
+ if isinstance(v, (bool, int, float, str)):
if util.is_true(v):
ad_ucfg.append(str(k))
elif isinstance(v, dict):
@@ -99,12 +97,12 @@ def _normalize_users(u_cfg, def_user_cfg=None):
raise TypeError(("Unmappable user value type %s"
" for key %s") % (type_utils.obj_name(v), k))
u_cfg = ad_ucfg
- elif isinstance(u_cfg, six.string_types):
+ elif isinstance(u_cfg, str):
u_cfg = util.uniq_merge_sorted(u_cfg)
users = {}
for user_config in u_cfg:
- if isinstance(user_config, (list,) + six.string_types):
+ if isinstance(user_config, (list, str)):
for u in util.uniq_merge(user_config):
if u and u not in users:
users[u] = {}
@@ -209,7 +207,7 @@ def normalize_users_groups(cfg, distro):
old_user = cfg['user']
# Translate it into the format that is more useful
# going forward
- if isinstance(old_user, six.string_types):
+ if isinstance(old_user, str):
old_user = {
'name': old_user,
}
@@ -238,7 +236,7 @@ def normalize_users_groups(cfg, distro):
default_user_config = util.mergemanydict([old_user, distro_user_config])
base_users = cfg.get('users', [])
- if not isinstance(base_users, (list, dict) + six.string_types):
+ if not isinstance(base_users, (list, dict, str)):
LOG.warning(("Format for 'users' key must be a comma separated string"
" or a dictionary or a list and not %s"),
type_utils.obj_name(base_users))
@@ -252,7 +250,7 @@ def normalize_users_groups(cfg, distro):
base_users.append({'name': 'default'})
elif isinstance(base_users, dict):
base_users['default'] = dict(base_users).get('default', True)
- elif isinstance(base_users, six.string_types):
+ elif isinstance(base_users, str):
# Just append it on to be re-parsed later
base_users += ",default"