Add the ability to add extra ssh options to abstract_ssh.py from
global_config.ini.

Risk of broken: very low.
Visibility: low

Note: I didn't add the default empty "extra_ssh_options" key into
global_config.ini, but I could. Please advice.

-- 
Eric Li
李咏竹
Google Kirkland
Index: server/hosts/abstract_ssh.py
===================================================================
--- server/hosts/abstract_ssh.py        (revision 4114)
+++ server/hosts/abstract_ssh.py        (working copy)
@@ -8,15 +8,18 @@
 enable_master_ssh = global_config.get_config_value(
     'AUTOSERV', 'enable_master_ssh', type=bool, default=False)
 
+extra_ssh_options = global_config.get_config_value(
+    "AUTOSERV", "extra_ssh_options", type=str, default="", allow_blank=True)
 
 def make_ssh_command(user="root", port=22, opts='', connect_timeout=30,
                      alive_interval=300):
-    base_command = ("/usr/bin/ssh -a -x %s -o BatchMode=yes "
+    base_command = ("/usr/bin/ssh -a -x %s %s -o BatchMode=yes "
                     "-o ConnectTimeout=%d -o ServerAliveInterval=%d "
                     "-l %s -p %d")
     assert isinstance(connect_timeout, (int, long))
     assert connect_timeout > 0 # can't disable the timeout
-    return base_command % (opts, connect_timeout, alive_interval, user, port)
+    return base_command % (opts, extra_ssh_options, connect_timeout,
+                           alive_interval, user, port)
 
 
 # import site specific Host class
@@ -107,8 +110,8 @@
         appropriate scp command for encoding it. Remote paths must be
         pre-encoded.
         """
-        command = "scp -rq %s -P %d %s '%s'"
-        return command % (self.master_ssh_option,
+        command = "scp -rq %s %s -P %d %s '%s'"
+        return command % (self.master_ssh_option, extra_ssh_options,
                           self.port, " ".join(sources), dest)
 
 
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to