rapi.client, http.client: Format url correctly when using IPv6
[ganeti-local] / lib / ssh.py
index 3477b44..0a65f9f 100644 (file)
@@ -53,15 +53,10 @@ def GetUserFiles(user, mkdir=False):
     raise errors.OpExecError("Cannot resolve home of user %s" % user)
 
   ssh_dir = utils.PathJoin(user_dir, ".ssh")
-  if not os.path.lexists(ssh_dir):
-    if mkdir:
-      try:
-        os.mkdir(ssh_dir, 0700)
-      except EnvironmentError, err:
-        raise errors.OpExecError("Can't create .ssh dir for user %s: %s" %
-                                 (user, str(err)))
+  if mkdir:
+    utils.EnsureDirs([(ssh_dir, constants.SECURE_DIR_MODE)])
   elif not os.path.isdir(ssh_dir):
-    raise errors.OpExecError("path ~%s/.ssh is not a directory" % user)
+    raise errors.OpExecError("Path %s is not a directory" % ssh_dir)
 
   return [utils.PathJoin(ssh_dir, base)
           for base in ["id_dsa", "id_dsa.pub", "authorized_keys"]]
@@ -161,7 +156,7 @@ class SshRunner:
                                       strict_host_check, private_key,
                                       quiet=quiet))
     if tty:
-      argv.append("-t")
+      argv.extend(["-t", "-t"])
     argv.extend(["%s@%s" % (user, hostname), command])
     return argv