diff options
| author | Vlastimil Holer <vlastimil.holer@gmail.com> | 2012-12-19 18:03:03 +0100 | 
|---|---|---|
| committer | Vlastimil Holer <vlastimil.holer@gmail.com> | 2012-12-19 18:03:03 +0100 | 
| commit | 8dd9678d97a822e477915c150d528096a83c9777 (patch) | |
| tree | a9b5708edd9d448508abf00abdd9b7bdeba16541 /cloudinit/config/cc_set_passwords.py | |
| parent | a9939fe768e04d52fe530c7467357d79b78a21f4 (diff) | |
| parent | 3569e71a1579b97f4e33fb46ab3fcef08a4ddad4 (diff) | |
| download | vyos-cloud-init-8dd9678d97a822e477915c150d528096a83c9777.tar.gz vyos-cloud-init-8dd9678d97a822e477915c150d528096a83c9777.zip  | |
Merged trunk lp:cloud-init
Diffstat (limited to 'cloudinit/config/cc_set_passwords.py')
| -rw-r--r-- | cloudinit/config/cc_set_passwords.py | 23 | 
1 files changed, 9 insertions, 14 deletions
diff --git a/cloudinit/config/cc_set_passwords.py b/cloudinit/config/cc_set_passwords.py index a017e6b6..c6bf62fd 100644 --- a/cloudinit/config/cc_set_passwords.py +++ b/cloudinit/config/cc_set_passwords.py @@ -20,6 +20,11 @@  import sys +# Ensure this is aliased to a name not 'distros' +# since the module attribute 'distros' +# is a list of distros that are supported, not a sub-module +from cloudinit import distros as ds +  from cloudinit import ssh_util  from cloudinit import util @@ -50,18 +55,10 @@ def handle(_name, cfg, cloud, log, args):          expire = util.get_cfg_option_bool(chfg, 'expire', expire)      if not plist and password: -        user = cloud.distro.get_default_user() - -        if 'users' in cfg: - -            user_zero = cfg['users'][0] - -            if isinstance(user_zero, dict) and 'name' in user_zero: -                user = user_zero['name'] - +        (users, _groups) = ds.normalize_users_groups(cfg, cloud.distro) +        (user, _user_config) = ds.extract_default(users)          if user:              plist = "%s:%s" % (user, password) -          else:              log.warn("No default or defined user to change password for.") @@ -117,8 +114,7 @@ def handle(_name, cfg, cloud, log, args):          replaced_auth = False          # See: man sshd_config -        conf_fn = cloud.paths.join(True, ssh_util.DEF_SSHD_CFG) -        old_lines = ssh_util.parse_ssh_config(conf_fn) +        old_lines = ssh_util.parse_ssh_config(ssh_util.DEF_SSHD_CFG)          new_lines = []          i = 0          for (i, line) in enumerate(old_lines): @@ -137,8 +133,7 @@ def handle(_name, cfg, cloud, log, args):                                                       pw_auth))          lines = [str(e) for e in new_lines] -        ssh_rw_fn = cloud.paths.join(False, ssh_util.DEF_SSHD_CFG) -        util.write_file(ssh_rw_fn, "\n".join(lines)) +        util.write_file(ssh_util.DEF_SSHD_CFG, "\n".join(lines))          try:              cmd = ['service']  | 
