| OLD | NEW |
| 1 import os, time, types, socket, shutil, glob, logging, traceback | 1 import os, time, types, socket, shutil, glob, logging, traceback |
| 2 from autotest_lib.client.common_lib import autotemp, error, logging_manager | 2 from autotest_lib.client.common_lib import autotemp, error, logging_manager |
| 3 from autotest_lib.server import utils, autotest | 3 from autotest_lib.server import utils, autotest |
| 4 from autotest_lib.server.hosts import remote | 4 from autotest_lib.server.hosts import remote |
| 5 from autotest_lib.client.common_lib.global_config import global_config | 5 from autotest_lib.client.common_lib.global_config import global_config |
| 6 | 6 |
| 7 | 7 |
| 8 get_value = global_config.get_config_value | 8 get_value = global_config.get_config_value |
| 9 enable_master_ssh = get_value('AUTOSERV', 'enable_master_ssh', type=bool, | 9 enable_master_ssh = get_value('AUTOSERV', 'enable_master_ssh', type=bool, |
| 10 default=False) | 10 default=False) |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 delete_flag = "" | 108 delete_flag = "" |
| 109 if preserve_symlinks: | 109 if preserve_symlinks: |
| 110 symlink_flag = "" | 110 symlink_flag = "" |
| 111 else: | 111 else: |
| 112 symlink_flag = "-L" | 112 symlink_flag = "-L" |
| 113 command = "rsync %s %s --timeout=1800 --rsh='%s' -az %s %s" | 113 command = "rsync %s %s --timeout=1800 --rsh='%s' -az %s %s" |
| 114 return command % (symlink_flag, delete_flag, ssh_cmd, | 114 return command % (symlink_flag, delete_flag, ssh_cmd, |
| 115 " ".join(sources), dest) | 115 " ".join(sources), dest) |
| 116 | 116 |
| 117 | 117 |
| 118 def _make_ssh_cmd(self, cmd): | |
| 119 """ | |
| 120 Create a base ssh command string for the host which can be used | |
| 121 to run commands directly on the machine | |
| 122 """ | |
| 123 base_cmd = make_ssh_command(user=self.user, port=self.port, | |
| 124 opts=self.master_ssh_option, | |
| 125 hosts_file=self.known_hosts_fd) | |
| 126 | |
| 127 return '%s %s "%s"' % (base_cmd, self.hostname, utils.sh_escape(cmd)) | |
| 128 | |
| 129 def _make_scp_cmd(self, sources, dest): | 118 def _make_scp_cmd(self, sources, dest): |
| 130 """ | 119 """ |
| 131 Given a list of source paths and a destination path, produces the | 120 Given a list of source paths and a destination path, produces the |
| 132 appropriate scp command for encoding it. Remote paths must be | 121 appropriate scp command for encoding it. Remote paths must be |
| 133 pre-encoded. | 122 pre-encoded. |
| 134 """ | 123 """ |
| 135 command = ("scp -rq %s -o StrictHostKeyChecking=no " | 124 command = ("scp -rq %s -o StrictHostKeyChecking=no " |
| 136 "-o UserKnownHostsFile=%s -P %d %s '%s'") | 125 "-o UserKnownHostsFile=%s -P %d %s '%s'") |
| 137 return command % (self.master_ssh_option, self.known_hosts_fd, | 126 return command % (self.master_ssh_option, self.known_hosts_fd, |
| 138 self.port, " ".join(sources), dest) | 127 self.port, " ".join(sources), dest) |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 | 583 |
| 595 This is useful if the test SSHes to the machine, then reinstalls it, | 584 This is useful if the test SSHes to the machine, then reinstalls it, |
| 596 then SSHes to it again. It can be called after the reinstall to | 585 then SSHes to it again. It can be called after the reinstall to |
| 597 reduce the spam in the logs. | 586 reduce the spam in the logs. |
| 598 """ | 587 """ |
| 599 logging.info("Clearing known hosts for host '%s', file '%s'.", | 588 logging.info("Clearing known hosts for host '%s', file '%s'.", |
| 600 self.hostname, self.known_hosts_fd) | 589 self.hostname, self.known_hosts_fd) |
| 601 # Clear out the file by opening it for writing and then closing. | 590 # Clear out the file by opening it for writing and then closing. |
| 602 fh = open(self.known_hosts_fd, "w") | 591 fh = open(self.known_hosts_fd, "w") |
| 603 fh.close() | 592 fh.close() |
| OLD | NEW |