X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=blobdiff_plain;f=account.py;h=d45f5335f1c6f4a796aab9de5c175b04b554a9df;hp=9f180249668a2489e0b4bcd0c49bc5f216b6dd27;hb=HEAD;hpb=83a563b8ca292a68f490c91224605e758649d3a6 diff --git a/account.py b/account.py index 9f18024..d45f533 100644 --- a/account.py +++ b/account.py @@ -71,7 +71,8 @@ def get(name): """ name_worker_lock.acquire() try: - if name not in name_worker: name_worker[name] = Worker(name) + if name not in name_worker: + name_worker[name] = Worker(name) return name_worker[name] finally: name_worker_lock.release() @@ -100,7 +101,8 @@ class Account: Write to my authorized_keys file. """ new_keys = rec['keys'] - logger.verbose('account: configuring {} with {} keys'.format(self.name, len(new_keys))) + nb_keys = len(new_keys) if isinstance(new_keys, list) else 1 + logger.verbose('account: configuring {} with {} keys'.format(self.name, nb_keys)) if new_keys != self.keys: # get the unix account info gid = grp.getgrnam("slices")[2] @@ -123,9 +125,9 @@ class Account: tools.write_file(auth_keys, lambda f: f.write(new_keys)) # set access permissions and ownership properly - os.chmod(dot_ssh, 0700) + os.chmod(dot_ssh, 0o700) os.chown(dot_ssh, uid, gid) - os.chmod(auth_keys, 0600) + os.chmod(auth_keys, 0o600) os.chown(auth_keys, uid, gid) # set self.keys to new_keys only when all of the above ops succeed @@ -163,7 +165,9 @@ class Account: # bind mount / umount root side dir to sliver side @staticmethod def _manage_ssh_dir (slicename, do_mount): - logger.log("_manage_ssh_dir, requested to "+("mount" if do_mount else "umount")+" ssh dir for "+ slicename) + logger.log("_manage_ssh_dir, requested to " + + ( "mount" if do_mount else "umount" ) + + " ssh dir for "+ slicename) try: root_ssh = "/home/{}/.ssh".format(slicename) sliver_ssh = "/vservers/{}/home/{}/.ssh".format(slicename, slicename) @@ -193,8 +197,8 @@ class Account: msg = "OK" if umounted else "WARNING: FAILED" logger.log("_manage_ssh_dir: umounted {} - {}" .format(sliver_ssh, msg)) - except: - logger.log_exc("_manage_ssh_dir failed", name=slicename) + except Exception as e: + logger.log_exc("_manage_ssh_dir failed : {}".format(e), name=slicename) class Worker: