LUExportInstance: Accept instance already shut down
[ganeti-local] / lib / ssh.py
index 44a1e6a..84ae692 100644 (file)
 
 import os
 import logging
+import re
 
 from ganeti import utils
 from ganeti import errors
 from ganeti import constants
+from ganeti import netutils
+
+
+def FormatParamikoFingerprint(fingerprint):
+  """Format paramiko PKey fingerprint.
+
+  @type fingerprint: str
+  @param fingerprint: PKey fingerprint
+  @return: The string hex representation of the fingerprint
+
+  """
+  assert len(fingerprint) % 2 == 0
+  return ":".join(re.findall(r"..", fingerprint.lower()))
 
 
 def GetUserFiles(user, mkdir=False):
@@ -207,6 +221,9 @@ class SshRunner:
     command = [constants.SCP, "-p"]
     command.extend(self._BuildSshOptions(True, False, True, True))
     command.append(filename)
+    if netutils.IP6Address.IsValid(node):
+      node = netutils.FormatAddress((node, None))
+
     command.append("%s:%s" % (node, filename))
 
     result = utils.RunCmd(command)