5ace6f2e17f808efbee863a7d7dbe1bc52527a19 |
|
07-Jan-2016 |
Simran Basi <sbasi@google.com> |
[autotest] Support Android/Brillo suite runs. This change does 3 key things: 1) Enables suite runs to use the production code currently deployed on the lab servers. This disables this requirement and now run_suite.py can be passed --run_prod_code. This means that it will use the control files on the drone and SSP has been disabled. 2) Refactors out the AFE interactions for applying version labels out of the host objects. These utilities are in a new module called afe_utils. The afe_utils:host_in_lab function determines if a host is running in an lab environment and if it is in the AFE. The introduction of afe_utils enables further cleanup of the cros_host object. 3) Enables provisioning for Android/Brillo devices. Added a new site-test and provision attribute. Run_suite will determine if an Android/Brillo build is being used and will set the correct version prefix. Then the scheduler/provision code will find an appropriate device and kick off the provision_AndroidUpdate test to install the build prior to test runs. BUG=chromium:574566 TEST=On my moblab: ./run_suite.py --build=git_mnc-brillo-dev/dragonboard-userdebug/2558576 \ --board=brillo-dragonboard --suite_name=brillo-bvt --run_prod_code \ --pool='' ./site_utils/run_suite.py --board=peppy --build=peppy-release/LATEST \ --suite_name=dummy --pool='' test_that 100.96.51.40 dummy_PassServer DEPLOY=apache Change-Id: I5a81e6bd989188b7c0621e2a76752a39033f9782 Reviewed-on: https://chromium-review.googlesource.com/323781 Commit-Ready: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Christopher Wiley <wiley@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
1bf60eb788365f083d0ee8045a6556f906149dec |
|
02-Dec-2015 |
Simran Basi <sbasi@google.com> |
[autotest] autoserv add --lab & --host_attributes arguments Added two new flags to autoserv. --lab indicates that autoserv is running in the lab and has the full Autotest infrastructure at its disposal. --host_attributes allows host attribute information that is usually in the database to be retrievable from the command line arguments. If --lab is pulled in, autoserv will request the host attributes from the database at test runtime. From here this change, then updates the concept of the "machines" list that test control files receive to now be a list of dicts that contain the machine hostname and host attributes. This will enable identifing information the hosts library needs to create host objects to be available whether or not there is a database present. BUG=chromium:564343 TEST=local autoserv runs. Also verified scheduler changes work via MobLab. waiting on trybot results. DEPLOY=scheduler Change-Id: I6021de11317e29e2e6c084d863405910c7d1a71d Reviewed-on: https://chromium-review.googlesource.com/315230 Commit-Ready: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
21eb6492d55d65aee16a381f194cd24baaa1765e |
|
14-Nov-2015 |
Marc Herbert <marc.herbert@intel.com> |
autotest: IPv6 support IPv4 requires a DHCP server. IPv4 addresses change more often than IPv6 ones, which breaks long-running tests. IPv4 addresses are mangled by NATs. etc. Unit tests: - Extend coverage with additional tests. - Adjust exception types in some negative tests. - "host:port" negative test removed since port detection is now stricter, considering digits only. Preserving the laxer detection would make the code a bit more complex for no real value. - "host:22:33" is now mistaken for an IPv6 address. Remove this negative test too since there isn't anymore a way to invalidate without adding / backporting from Python 3.3 some minimal IPv6 address parser. Manually tested these two types of input and they still fail; however failures come later as "Could not resolve hostname" network errors, beyond the reach of unit tests. BUG=none TEST=./utils/unittest_suite.py --debug -r server TEST=\ v4=10.1.2.3 v6=fe80::9249:faff:fe00:7400%p4p1 hname=yourdut.local mytest=hardware_DiskSize (set -ex; for a in $v4 ${v4}:22 $v6 [$v6] [$v6]:22 $hname ${hname}:22; do test_that "$a" $mytest stat /tmp/test_that_latest/results-1-"$mytest/$mytest/" done ); [ $? -eq 0 ] || echo FAILED # cannot trust autotest's "PASS", see http://crbug.com/555073 TEST=\ # Disable rsync on DUT: mount -o remount,rw / ( cd /usr/local/bin/; mv rsync rsync.disabled ) # On host: # run again same test loop above (this time with "scp" instead of rsync) Change-Id: Icb7d232a9f64d1277810758a5c6c16d5711a0163 Reviewed-on: https://chromium-review.googlesource.com/312719 Commit-Ready: Marc Herbert <marc.herbert@intel.com> Tested-by: Michael W Mason <michael.w.mason@intel.com> Reviewed-by: Dan Shi <dshi@chromium.org> Reviewed-by: Michael W Mason <michael.w.mason@intel.com>
/external/autotest/server/hosts/abstract_ssh.py
|
58e5dd3b600081607d5ecb514d9bf3ebea83c533 |
|
17-Oct-2015 |
Roshan Pius <rpius@google.com> |
autotest: Create RpcServerTracker for Host objects. Create a generic RpcServerTracker which can be used by any host object to start and manage RPC server connections. The RPCServerTracker uses the associated host object to start the required XML/JSON RPC server on the DUT and forwards the port from the AutoTest Server to Brillo/Cros DUT. This CL basically ports over most of the RPC server connection management code from CrosHost into a separate class so that it can be reused by AdbHost as well. AdbHost modifies the |host.rpc_port_forward/disconnect| method to forward the RPC connection from the AdbHost to Brillo DUT using 'adb forward'. Related Change: 1. Add a |verbose| flag to the |host.run| method in AdbHost so that we can reuse the |host.run_background| method already implemented by SshHost. BUG=brillo:24338381 TEST=Ran network_WiFi_SimpleConnect.wifi_check11g on both dragonboard and cros DUT. `test_that $host --board=panther network_WiFi_SimpleConnect.wifi_check11g` Change-Id: I7e44cbd5897871f01f320cb57377a28491571478 Reviewed-on: https://chromium-review.googlesource.com/307163 Commit-Ready: Roshan Pius <rpius@chromium.org> Tested-by: Roshan Pius <rpius@chromium.org> Reviewed-by: Roshan Pius <rpius@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
a58163a1e71e1b96b19ce828541368dc17eab24e |
|
14-Oct-2015 |
Roshan Pius <rpius@google.com> |
autotest: Flag to indicate if host supports client install. Add a |is_client_install_supported| flag to bypass autotest client install checks for Brillo ADBhosts. BUG=brillo:24338381 Change-Id: I0dacbb4cef6f02d56bb6d1481beb4fdce90c3fd1 Reviewed-on: https://chromium-review.googlesource.com/305569 Commit-Ready: Roshan Pius <rpius@chromium.org> Tested-by: Roshan Pius <rpius@chromium.org> Reviewed-by: Roshan Pius <rpius@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
1621c631812eb4e6cd2a91979499570f99faf325 |
|
14-Oct-2015 |
Simran Basi <sbasi@google.com> |
adb_host: Support login as user adb. Some adb_host systems might not allow ssh'ing in as root. When this occurs, adb_host will try to use user 'adb' instead. BUG=chromium:538641 TEST=host.create_host returns an adb_host for a machine which it does not have root access for. Change-Id: I70f88a64e8ad931021f6e7ed0a8af47fe91f93f3 Reviewed-on: https://chromium-review.googlesource.com/305507 Commit-Ready: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Kevin Cheng <kevcheng@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
a76bef0c3790e890b62c306b886d0d9be32e8dd2 |
|
29-Sep-2015 |
Gilad Arnold <garnold@chromium.org> |
Add an OS type getter for CrOS and ADB hosts. This is needed for tests to be able to distinguish between the two host flavors. BUG=b:24505378 TEST=None Change-Id: I9eb94c3c4b675693463c9c635b93339e3f157a56 Reviewed-on: https://chromium-review.googlesource.com/303024 Commit-Ready: Gilad Arnold <garnold@chromium.org> Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Dan Shi <dshi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
a155e7e44482ece46d1f5aec5f202c7209bf2f7f |
|
20-Aug-2015 |
Cheng-Yi Chiang <cychiang@chromium.org> |
[autotest] Move _create_ssh_tunnel from CrosHost to AbstractSSHHost _create_ssh_tunnel is also useful for subclass of AbstractSSHHost like ChameleonHost. Move _create_ssh_tunnel from CrosHost to AbstractSSHHost. BUG=chromium:521443 TEST=run audio_AudioBasicHeadphone test on a network that does not block chameleon port and make sure CrosHost tunning still works. Change-Id: I0c7c38777ea052f7abb4cf0393bc7630d91aa778 Reviewed-on: https://chromium-review.googlesource.com/295021 Reviewed-by: Hung-ying Tyan <tyanh@chromium.org> Commit-Queue: Cheng-Yi Chiang <cychiang@chromium.org> Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
0d3616c062d89b94ea880b7b3a976bc613544ad3 |
|
18-Jul-2015 |
mukesh agrawal <quiche@chromium.org> |
autotest: fix silent failure in send_file() When passed a file object representing an at-EOF file, send_file() fails silently. That is, the file is not copied, but the test proceeds. The rsync command actually fails, as follows: 1) Pass in a file object, representing an at-EOF file. 2) Iterating over a file reads the lines in the file. Hence, list iteration over a file creates a list of the lines in the file. 3) Since our file is at EOF, the list comprehension in send_file() returns an empty list. 4) Because the list is empty, rsync gets fewer arguments than expected. 5) rsync interprets the destination argument as the source argument. 6) The "source" does not exist. 7) rsync fails. However, we automatically retry with scp, and the retry "succeeds". The retry doesn't actually copy any files over, but the method returns without failure. The reason for this is that the scp code has special case handling for when the transformed file list is empty. I believe this special-case emulates rsync's behavior for a |path/| argument, where the directory is empty. (rsync makes a distinction between |path|, and |path/|.) Anyway, this CL fixes the silent failure for an at-EOF file handle, by explictly checking for the case where iteration over the |source| yields an empty list. This does not change behavior for the scp retry, since the scp retry does a fresh iteration over |source|. Hence, we do not change the behavior when |source| is an empty directory. I'm resisting the temptation to raise TestError for any calls with a file object, because some existing code might depend on the current handling of file objects. While there: check for NULL in the file paths. NULL will cause failures by truncating the rsync command string. (Python strings can contain NULL, but C strings cannot.) BUG=chromium:511320 TEST=manual Manual test: 1) Have a test call send_file() with the result of tempfile.NamedTemporaryFile(). Observe a TestError indicating that the source does not name any files. 2) Have a test call send_file() with a not-at-EOF file handle, where the file contains NULLs. Observe a TestError for the NUL case. 3) Have a test call send_file with a |path/| to an empty directory. Observe that send_file() does not raise any Error. Observe that the debug log includes the empty source list message. Change-Id: I26e70bb390d8728767c350ac494b1b7a56af8c36 Reviewed-on: https://chromium-review.googlesource.com/286670 Trybot-Ready: mukesh agrawal <quiche@chromium.org> Tested-by: mukesh agrawal <quiche@chromium.org> Reviewed-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: mukesh agrawal <quiche@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
3b858a2c432caad62403fa646508688e2d419a13 |
|
18-Mar-2015 |
Simran Basi <sbasi@google.com> |
Catch all errors when provisioning & make start_master_ssh multiprocess safe Currently autoupdating.py only catches AutoservRunErrors when updating the rootfs and stateful, thus allowing autotest infrastructure errors to not be caught properly. Updates start_master_ssh so that it protects against multiple processes cleaning up the old connection and creating a new one in parallel. BUG=chromium:468062 TEST=provision still works on moblab. Change-Id: I5a2c31ead5b15ca66c1f8035df27e9c3420b41a8 Reviewed-on: https://chromium-review.googlesource.com/260664 Trybot-Ready: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
c83ab1578ee9bbb2ac8611057ea4b348bac2bbc5 |
|
20-Dec-2014 |
J. Richard Barnette <jrbarnette@chromium.org> |
Eliminate master connection spam from abstract_ssh logs. In abstract_ssh, the checks for establishing the master ssh connection came with some very noisy debug code. The messages have reached the point where they're more spam than information, so remove them. BUG=None TEST=None Change-Id: I4ff185b06735b3a19e30b53a09ceed33796c4101 Reviewed-on: https://chromium-review.googlesource.com/236992 Reviewed-by: Fang Deng <fdeng@chromium.org> Tested-by: Richard Barnette <jrbarnette@chromium.org> Commit-Queue: Richard Barnette <jrbarnette@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
c07b89329ea2527f7fd41d3412ff691db044a5e5 |
|
12-Dec-2014 |
Dan Shi <dshi@chromium.org> |
[autotest] Delay retrieving IP address of a host. The error raised in initializer will lead to CrosHost failed to be initialized. We need to delay this action only when it's requested. so CrosHost can be initialized and continue working for cases like repairing, in which case the dut can be down and don't have an IP address if DHCP server does not have static IP for it. BUG=chromium:441511 TEST=local test. Change-Id: I3e83c4a9ddfd00add4b373f5a2c9339d77f61aa6 Reviewed-on: https://chromium-review.googlesource.com/234851 Trybot-Ready: Dan Shi <dshi@chromium.org> Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Richard Barnette <jrbarnette@chromium.org> Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
35d661e09666d315325f8942d06949ca7283666f |
|
26-Sep-2014 |
MK Ryu <mkryu@google.com> |
[autotest] Integrate crashlog collection into repair workflow. When a DUT goes offline before logs are gathered, we lose those logs if the DUT is re-imaged. To grab such logs as much as we can, we integrate crashlog collection into the repair workflow. BUG=chromium:215160 TEST=./server/autoserv -R -m <DUT ip> -r ~/tmp/repair CQ-DEPEND=CL:221510 Change-Id: Ifd562bfd539b133381572aeec503d9a3940ab448 Reviewed-on: https://chromium-review.googlesource.com/219999 Reviewed-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Mungyung Ryu <mkryu@google.com> Tested-by: Mungyung Ryu <mkryu@google.com>
/external/autotest/server/hosts/abstract_ssh.py
|
b890418d8fbd8d3fc21c2d6d9f0b3cb64d66f514 |
|
03-Jun-2014 |
David Hendricks <dhendrix@chromium.org> |
Add missing double quotes in _make_rsync_cmd This puts "sources" and dest args in double quotes in case they contain spaces. BUG=chrome-os-partner:29335 TEST=firmware_CorruptBothFwBodyAB doesn't complain about unexpected arg on Big Signed-off-by: David Hendricks <dhendrix@chromium.org> Change-Id: Icb1e3cbc9b254496c6d8517cfe5d5f8bffd44be2 Reviewed-on: https://chromium-review.googlesource.com/202431 Reviewed-by: Vic Yang <victoryang@chromium.org> Commit-Queue: David Hendricks <dhendrix@chromium.org> Tested-by: David Hendricks <dhendrix@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
04be2bd5e4666a5c253e9c30ab20555e04286032 |
|
08-May-2014 |
Ilja H. Friedel <ihf@chromium.org> |
Autotest: Change logging.warn() to logging.warning(). logging.warn() is deprecated. See http://bugs.python.org/issue13235 Substitution was performed via ~/cros/src/third_party/autotest/files$ find ./ -type f | xargs sed -i 's/logging.warn(/logging.warning(/' BUG=None. TEST=There should be one-- and preferably only one --obvious way to do it. Change-Id: Ie5665743121a49f7fbd5d1f47896a7c65e87e489 Reviewed-on: https://chromium-review.googlesource.com/198793 Commit-Queue: Ilja Friedel <ihf@chromium.org> Tested-by: Ilja Friedel <ihf@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
98509c706a9601acf67a809b09a6c34ffadc5115 |
|
05-Apr-2014 |
Prashanth B <beeps@google.com> |
[autotest] Add collection of /var/log to the repair task. Also refactors the function that handles log collection onto ssh_host since several non-cros hosts use the same control segments. TEST=Ran special tasks and collected logs. BUG=chromium:354944 Change-Id: I88ba114c0e42682e69d7ce8dc544d70e61c02840 Reviewed-on: https://chromium-review.googlesource.com/193324 Tested-by: Prashanth B <beeps@chromium.org> Reviewed-by: Fang Deng <fdeng@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org> Commit-Queue: Prashanth B <beeps@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
06d7fbf0ea126667707c0c78f04eca71d5e6121b |
|
12-Feb-2014 |
Dan Shi <dshi@chromium.org> |
[autotest] Do not keep the ownership of files rsync to DUT Add option --no-o --no-g to rsync option. BUG=chromium:333114 TEST=test_that 172.22.14.6 dummy_Pass --board lumpy verify owner and group of files in /usr/local/autotest/ are both root. Change-Id: I45391b910b7968556ca45b48f94af2a5a5636280 Reviewed-on: https://chromium-review.googlesource.com/186152 Tested-by: Dan Shi <dshi@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
46dadc9439355f72d394dcc4700902001bd797ff |
|
07-Nov-2013 |
beeps <beeps@chromium.org> |
[autotest] Eureka host. Creates a eureka host capable of verifying, cleanup, reboot and machine_install. Also implements the following chagnes: 1. Pipes a base command through is_up, since different ssh hosts are bound to have different things pre-installed. 2. Changes some timeouts to integers to avoid asserts. 3. Make host factory a little more generic, and check for chromeos host first. 4. Adds a method to remote wget to server/site_utils. TEST=Tried verify, cleanup, reoboot and machine_install. BUG=chromium:292629, chromium:273843 Change-Id: I62a700614838569c6d77184b3c3339e914f4b456 Reviewed-on: https://chromium-review.googlesource.com/176303 Tested-by: Prashanth B <beeps@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Prashanth B <beeps@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
882f15bde7b0deaaa166c680cf8753645587c35a |
|
29-Oct-2013 |
Simran Basi <sbasi@chromium.org> |
Autotest: Add logging to copy to results repo logic We have been only using 1 drone because of the email spam sent out regarding copying to results repo. We want to try enabling multiple drones so that the lab will not go down in the case one drone dies. Copy_to_results_repository is now gated by the enale_archiving flag, meaning it should not happen. Added logging to SSHHost's get/send file methods that drone_utility uses to send files to the results repo. Also added logging to the drone_utility's send/get functions as well. BUG=chromium:231452 TEST=Local setup with multiple drones. Ensure tests still run. Change-Id: I62a0196880d4b25ff8abb47825e280d193a4b9b7 Reviewed-on: https://chromium-review.googlesource.com/175005 Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Simran Basi <sbasi@chromium.org> Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
c86fdeb43bdf9cc2ec0b896e22e79d035087a23a |
|
23-Oct-2013 |
Scott Zawalski <scottz@google.com> |
Change 'shutdown took longer than 30s' to INFO from WARN. This has been happening for a long time and no one currently has the bandwidth to investigate the problem. Downgrading the message to INFO for the time being. TEST=autoserv reboot test causing the INFO line to be added to a status line. BUG=chromium:305690 Change-Id: I477a5e85782fabaf59042a4d6f90eedfdbede8e4 Reviewed-on: https://chromium-review.googlesource.com/174281 Tested-by: Scott Zawalski <scottz@chromium.org> Reviewed-by: Aviv Keshet <akeshet@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Queue: Scott Zawalski <scottz@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
0749a820f18d14fdf8657ce21dfd059e3a5b6034 |
|
17-Oct-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] fix a race condition in master-ssh startup This fixes a race condition in master-ssh connection startup, between the establishment of the connection (and creation of socket file) and the first use of the connection. It accomplishes the fix by waiting up to 5s for the socket file to appear, after launching the master-ssh process, before returning from the master-ssh start function. If the connection fails to be established within this time, a warning is logged but no other action is taken, allowing the test to attempt to continue to run. BUG=chromium:305641 TEST=Ran some local test_that runs, which prior to this change had been exhibiting a lot of "lost socket file" events in the logs. Saw these events eliminted. Change-Id: Ie8a45edf20adf1320a65201451ab7b64ac837dbb Reviewed-on: https://chromium-review.googlesource.com/173560 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: David James <davidjames@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
31b9ec8dd07f5321ba7823420cb5ea7bea3acfd9 |
|
15-Oct-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] abstract.py: log system load before starting master-ssh It is believed that builder load contributes to VMTest banner exchange flake, which occurs almost exclusively during either master-ssh connection establishment, or during the first ssh-ping after booting a VM. This CL logs the system load right before each master-ssh connection establishment. BUG=chromium:254166 TEST=None Change-Id: Ie6f203230ac90ae4b5e3b8dd5cc589c37f0d0beb Reviewed-on: https://chromium-review.googlesource.com/172929 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
07f162429685417f491ff9b727e6ec37fd899c38 |
|
10-Oct-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] log master-ssh process `lsof` after unexpected death This CL adds more detailed logging after unexpected master-ssh death, to make it hopefully easier to solve The Case Of The Missing Socket File. BUG=chromium:305641 TEST=None Change-Id: I736232a6d79973445a846c39845df8459ea7350a Reviewed-on: https://chromium-review.googlesource.com/172586 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
3ae1a5fcf9f0daf6b9fd08572b93dd4503e8beb3 |
|
09-Oct-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] increase the detail of master-ssh connection death log In order to better understand our flaky unexpected-master-ssh-death, (in which the master connection socket file goes missing before the process dies), it might be helpful to know whether the file alone goes missing, or both the file and its containing temporary directory go missing. BUG=chromium:305641 TEST=None Change-Id: Ia6d99734779c5be3196446e1de0123f6558da29a Reviewed-on: https://chromium-review.googlesource.com/172421 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
44c609eda04a22fec4a63b8a8ba496fe3914b5c5 |
|
06-Sep-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] log some master-ssh ps info if unexpected death was detected Following up on a previous patch, log some debug information to help understand unexpected master-ssh death. BUG=None TEST=None Change-Id: I06a7b0f85af6652525a071f361328fcb2eec8ccd Reviewed-on: https://chromium-review.googlesource.com/168407 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
982fde1cfb2df606e35048a28754d4fcb21a8673 |
|
06-Sep-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] add a logging warning about unexpected master-ssh death A recent patch made abstract_ssh more aggressive about reviving master-ssh connections, by detecting when their socket file was missing even as the process kept running. This patch adds a logging warning so we can know when that logic gets used. BUG=None TEST=None Change-Id: I0ee26b080392e4f91de853975a062a443afa3c01 Reviewed-on: https://chromium-review.googlesource.com/168375 Tested-by: Aviv Keshet <akeshet@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
49b4ed0a99839ab2cf31cb1c05c0d0757ab80ab7 |
|
05-Sep-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] improve abstract_ssh's detection of a down master-ssh If the master-ssh connection closes itself, it appears that it will remove its ControlPath socket file. Based on the logs linked in the bug, this can happen without abstract_ssh noticing. This CL fixes that by checking for the existence of the ControlPath socket file, in addition to the existing master_ssh_job.sp.poll() test. BUG=chromium:286014 TEST=Tryjobs: http://chromegw/i/chromiumos.tryserver/builders/lumpy-paladin/builds/1145 http://chromegw/i/chromiumos.tryserver/builders/mario-paladin/builds/2106 Change-Id: Ic6e6b83378b7f5aa3280bbae4c5946584cd69df6 Reviewed-on: https://chromium-review.googlesource.com/168302 Tested-by: Aviv Keshet <akeshet@chromium.org> Reviewed-by: Alex Miller <milleral@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
46250750c649237074dfada83582d743afd33cca |
|
28-Aug-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] add a no_pipes argument to BgJob constructor This CL introduces an alternative type of BgJob, to match the master-ssh connection use case. The new type of BgJob is created by specifying no_pipes=True when calling BgJob's constructor. BgJobs constructed in this way do not expect to ever be joined with a join_bg_jobs call, and do not interact via their stdout/stderr with other BgJobs. This CL also causes the master ssh connection BgJob to be created with this flag. This CL only addresses flaw #2 in the "Problems with current semantics" section of the referenced bug. BUG=chromium:279312 TEST=Unit tests pass. Running an autoserv tests with ssh verbosity turned up to 3 no longer causes a deadlock. Change-Id: I1a6861501eb4fc8439add213c79eaa3777978df0 Reviewed-on: https://chromium-review.googlesource.com/167173 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
53a216a5ae9cf732330846e652dff8d0ad29bd2a |
|
27-Aug-2013 |
Aviv Keshet <akeshet@chromium.org> |
[autotest] add a nickname parameter to BgJob This CL adds an optional nickname parameter to BgJob. If provided, the nickname is used in any logging messages that a BgJob sends to the logging manager. The parameter is only specified by the master-ssh-connection call to BgJob at the moment, but in a future CL that will be extended to more BgJobs. BUG=None TEST=None Change-Id: Iee7722b55cc5e7497888ee86154c3ddb3b7bdf6e Reviewed-on: https://chromium-review.googlesource.com/167172 Reviewed-by: Aviv Keshet <akeshet@chromium.org> Tested-by: Aviv Keshet <akeshet@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
96667caad23538696f737100803e68a1c1ecf357 |
|
02-Aug-2013 |
Fang Deng <fdeng@chromium.org> |
[autotest] Refactor SiteHost, AbstractSSHHost, SSHHost hierarchy This CL refactors the host classes inheriting hierarchy. Previously, we have SiteHost as a parent class of AbstractSSHost. This makes AbstractSSHHost/SSHHost chromeos-specific. In the new hierarchy, SiteHost is made as a subclass of AbstractSSHHost. This allows other types of host, such as ServoHost, easily inherits from AbstractSSHHost/SSHHost, without unnecessarily inheriting chromeos specific methods from SiteHost. make_ssh_command is put inside host classes, which allows each subclass of AbstractSSHHost to easily override it with its own settings. SiteHost are mixed with SSHHost or ParamikoHost in create_host. For a thorough discussion about the refactoring design, take a look at the design doc mentioned in crbug.com/265998. CQ-DEPEND=CL:66136 BUG=chromium:265998 TEST=dummy and bvt suite pass locally; repair/verify jobs pass; vmtest in a tryjob pass. DEPLOY=scheduler Change-Id: I03a63a3db2f3cb0eaa50884c53fe3d3f8bb779ed Reviewed-on: https://gerrit.chromium.org/gerrit/64331 Reviewed-by: Fang Deng <fdeng@chromium.org> Tested-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
3af6620d9ccf007838d20fe1eee89b20447949a0 |
|
17-Aug-2013 |
Fang Deng <fdeng@chromium.org> |
[autotest] Pull a upstream fix about known hosts file failure. Need to be landed/pushed before cl 64331. Pull a upstream fix. The host_file got by os.tmpfile() is not available for "ssh -o UserKnownHostsFile " on ubuntu 11.10 and will have the error "Failed to add the host to the list of known hosts (/dev/fd/11)", so the patch just replace it with tempfile.mkstemp() The original idea of not using '/dev/null' is that using it will lead to too many messages like 'Warning: Permanently added 'locathost' (RSA) to the list of known hosts'. This fix is needed when SiteHost is no longer be the parent class of AbstractHost after 64331 is landed. Code that creates SSHHost directly without mixing it with SiteHost will hit this problem. BUG=None Test=Manually create a SSHHost (without SiteHost being a parent), run a command via |run| on the host. Make sure it can ssh to the host and won't hit the error. Also run dummy suite locally. Change-Id: Id8d5c44f63a572ea482afeae074cd43cf2de9ec9 Reviewed-on: https://gerrit.chromium.org/gerrit/66136 Reviewed-by: Richard Barnette <jrbarnette@chromium.org> Tested-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
6b05f5b1c50bee17a532b01643dc0a27a84c939d |
|
20-Mar-2013 |
Fang Deng <fdeng@chromium.org> |
SiteHost.verify_software checks space in the encrypted stateful partition BUG=chromium-os:219686 TEST=Test with a lumpy device in both cases where the space requirement was met and was not. Change-Id: I1a319ac334629cdf6655ea9402ea0851fcd7a8a0 Reviewed-on: https://gerrit.chromium.org/gerrit/46037 Reviewed-by: Richard Barnette <jrbarnette@chromium.org> Tested-by: Fang Deng <fdeng@chromium.org> Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
add66d301d07eb4c4a9222b6208393df8c8013f3 |
|
05-Mar-2013 |
beeps <beeps@chromium.org> |
[Autotest] Modify wait_down to observe timeouts closely. Certain tests like platform_HWwatchdog require close to real time monitoring of when a device reboots. This change teaches the wait_down function to observe such deadlines by passing the remaining time till the deadline into get_boot_id. Prior to this wait_down had a 'jitter' of close to 60 seconds, but now this jitter shouldn't exceed one second, if at all. It is however far from being a higher precision event timer for shutdown. TEST=ran platform_HWwatchdog with an induced delay of ~29 seconds and confirmed failure in the earlier case, then success using the new version of wait_down. BUG=chromium-os:38670 Change-Id: I971d2894f0d3863d98ffe32ca1762d3da92cb74e Reviewed-on: https://gerrit.chromium.org/gerrit/44609 Reviewed-by: Scott Zawalski <scottz@chromium.org> Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org> Tested-by: Prashanth Balasubramanian <beeps@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
567d0d9660acff00a802839f00231ac11275f079 |
|
19-Dec-2011 |
Chris Masone <cmasone@chromium.org> |
[autotest] Be tolerant of hanging symlinks while copying logs. When copying logs back at the end of a test, sometimes we run into hanging symlinks. We should skip these. It's OK to modify this code such that we don't follow links to do chmodding, because we just copied over all the files we're operating on, and are now doing a bottom-up walk of all copied files. We'll hit everything we need to hit because of that, and don't need to follow links to get to files we might otherwise miss. BUG=None TEST=./server/autoserv test_suites/control.dummy Change-Id: I6380732eb7741a3e446d296a84bc1dc741d102b6 Reviewed-on: https://gerrit.chromium.org/gerrit/13137 Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Tested-by: Scott Zawalski <scottz@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org> Commit-Ready: Chris Masone <cmasone@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
73353ba7e7a589d191fee2539293c3510a00fda7 |
|
13-Dec-2011 |
Chris Masone <cmasone@chromium.org> |
[autotest] Handle dangling symlinks copied over from DUT Sometimes, there are dangling symlinks in /var/log on devices We copy these over verbatim in some cases, but the code autotest uses to set permissions on files cannot cope with said dangling symlinks. Fix it so it is symlink savvy. BUG=None TEST=manual; create dangling symlink in /var/log on DUT and run a test. It should pass. Change-Id: I15d48b93eed7fc8404e24a03dfbde6faa4ce0f50 Reviewed-on: https://gerrit.chromium.org/gerrit/12826 Commit-Ready: Chris Masone <cmasone@chromium.org> Tested-by: Chris Masone <cmasone@chromium.org> Reviewed-by: Chris Sosa <sosa@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
cb7bfaf79c567031a93da7390fed5d57b4c7da85 |
|
08-Jun-2011 |
Dale Curtis <dalecurtis@chromium.org> |
Reduce timeout conditions for Chrome OS for efficiency. Many of the Autotest timeouts are far too long for Chrome OS. Where a normal machine might take 10+ minutes to recover, Chromebooks take only seconds. As such, I've tweaked many of the boot and crash timeouts to reflect this. When a host goes down the scheduler idles the job for four hours while waiting for crash collection, causing two main problems: 1. Metahost jobs take four hours to requeue upon verify failure. 2. Results are delayed four hours when a host dies in jobs. Additional issues fixed: 1. Timeout after reboot was essentially doubled in the default Host implementation of wait_for_reboot. Works for us, but will need to query upstream to ensure it works for everyone. 2. Unified timeouts across autotest.py and base_classes.py so boot timeouts exist in only one place. Should be okay since all hosts extend from Host in base_classes.py. Timings are now configurable in global_config. 3. Global SSH options to ensure better timings. In order to do this, it was necessary to add site extensibility to abstract_ssh. Changes to crashcollect.py, autotest.py, abstract_ssh.py, and base_classes.py will be upstreamed. BUG=none TEST=run_remote_tests. Will test in production as well. Change-Id: I92964b140337e4ab919288b5190bb2e6d5a4fa2d Reviewed-on: http://gerrit.chromium.org/gerrit/2269 Reviewed-by: Paul Pendlebury <pauldean@chromium.org> Reviewed-by: Scott Zawalski <scottz@chromium.org> Tested-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/server/hosts/abstract_ssh.py
|
861b2d54aec24228cdb3895dbc40062cb40cb2ad |
|
04-Feb-2011 |
Eric Li <ericli@chromium.org> |
Merge remote branch 'cros/upstream' into master Merged to upstream autotest @4749~@5215. The entire change list description is too big to enlist here. Please refer to upstream (http://autotest.kernel.org/browser) for more details. BUG= TEST=emerged both x86 and arm build. Tested emerged x86 build bvt against a chromeos device. Review URL: http://codereview.chromium.org/6246035 Change-Id: I8455f2135c87c321c6efc232e2869dc8f675395e
/external/autotest/server/hosts/abstract_ssh.py
|
bdaab795cffa33f9a37995bb283047cb03699272 |
|
07-Jan-2011 |
Kenneth Waters <kwaters@chromium.org> |
Revert "Merge remote branch 'cros/upstream' into autotest-rebase" This reverts commit 7edb30498d75a29a3287fe07070f2b51a116c5d4. TEST=Built for tegra2_seaboard BUG=10756 Review URL: http://codereview.chromium.org/6124004 Change-Id: Ifcd1a2279f5a62b99552a8f961c1430889a3a928
/external/autotest/server/hosts/abstract_ssh.py
|
7edb30498d75a29a3287fe07070f2b51a116c5d4 |
|
07-Jan-2011 |
Eric Li <ericli@chromium.org> |
Merge remote branch 'cros/upstream' into autotest-rebase Merged to upstream trunk@5066, from trunk@4749. There is no way I could enlist each individual CL from the upstream here since it will blow up the changelist description field. BUG= TEST= Had patched this CL into a fresh cut client to avoid any side effect. run_remote_test bvt from both emerged location and third_party/autotest/file. Both test passed! We should also keep any eye on this to see how it gets propagated into cautotest server. TBR=dalecurtis Change-Id: I72f2bc7a9de530178484aea1bfb5ace68bcad029
/external/autotest/server/hosts/abstract_ssh.py
|
e0493a4af57c1a73376a7bafaed542c01f588196 |
|
15-Nov-2010 |
Eric Li <ericli@chromium.org> |
Merge remote branch 'cros/upstream' into tempbranch BUG= TEST= Review URL: http://codereview.chromium.org/4823005 Change-Id: I5d56f1c10d0fce7f9d7dc3ad727ea52dcb9b2d6c
/external/autotest/server/hosts/abstract_ssh.py
|
7ebac3d5f6b09346e2e9a14a6598ed5481922861 |
|
17-Jun-2010 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add some debug logging to the Host.wait_up method. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4631 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
e5e3cf22e2e3a04746bbe601f4f8423dc2c96d8f |
|
28-May-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
get_boot_id to return None when not supported by the kernel. Signed-off-by: Josh Gilkerson <jwg@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4566 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
0a88370f238341e1a4061b1306e34c7f1c3335b3 |
|
21-Apr-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add the ability to clear out known hosts file for a specific host, and for all hosts in a job. This is useful when we reinstall the machine to reduce the "REMOTE HOST IDENTIFICATION HAS CHANGED" spam warnings. Signed-off-by: Girts Folkmanis <girts@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4435 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
b86bfa15d38617c1fed68a1a5bc384e24b350c3d |
|
12-Feb-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Move AUTOTEST_GB_DISKSPACE_REQUIRED to global.ini file From: kdlucas@google.com git-svn-id: http://test.kernel.org/svn/autotest/trunk@4244 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
af676f3da9c59354c1b4ef60edd144c7ab155d5b |
|
04-Feb-2010 |
lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> |
abstract_ssh.py: Write known hosts to temp filedescriptor Implementing the approach suggested by Jongki Suwandi to resolve the multiple messages like: [stderr] Warning: Permanently added '192.168.122.99' (RSA) to the list of known hosts. By redirecting them to a filedescriptor of a temporary file, once an abstract ssh instance finishes, the file is unlinked, so we get rid of all fingerprint registers. This way we're able to drop the -q flag to the base ssh command, and we have only one message like the above per autoserv execution. Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4207 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
5644c1269c240afaf84be4256ae0aeb0a0f1604a |
|
29-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
git-svn-id: http://test.kernel.org/svn/autotest/trunk@4178 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
91afdc212f3a2f0220dbb60ecc69295933c3ea4e |
|
26-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
This is a follow up patch to abstract_ssh.py, which used to supress the message "Warning: Permanently added 'XX.XX.XX.XX' (RSA) to the list of known hosts." Since now the known_host file is pointing to /dev/null, it will popup multiple times during one test run. Quite annoy. I believe this change should have very little impact to existing autotest users. From: ericli@goole.com git-svn-id: http://test.kernel.org/svn/autotest/trunk@4171 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
dbc7e4a9e85901a860f81c9c3db9b7b725169990 |
|
15-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Catch (and ignore) more errors when waiting for a machine to reboot. Signed-off-by: Josh Gilkerson <jwg@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4133 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
6eafb4906e344bf94f1c63286311024a84acf6bb |
|
15-Jan-2010 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix bug introduced into paramiko_host by recent changes to selectively disable rsync support (SVN rev 4077). The new code makes SSH calls within _initialize(), but paramiko_host wasn't sufficiently initialized when the call was being made. In general, executing remote commands within _initialize() is dangerous. This change removes the new code from _initialize() and instead makes AbstractSSHHost compute the new information lazily. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4131 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
c0649d63ce6f1b51f003f4bd3f59eff4358802b5 |
|
15-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add -o UserKnownHostsFile=/dev/null -o BatchMode=yes to ssh commands Signed-off-by: Martin J. Bligh <mbligh@google.com> From: ericli@google.com git-svn-id: http://test.kernel.org/svn/autotest/trunk@4124 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
c035491ba24efea9e4343982f0a7c4b92e0a8c72 |
|
12-Jan-2010 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Adds support to wait_down and wait_for_restart to watch for changed boot_id values (using /proc/sys/kernel/random/boot_id). This avoids a race condition where if a machine was able to successfully shutdown and boot up again after you started a reboot and before we started polling for the shutdown, it would just appear that the machine failed to shutdown when told. As a result the Host.wait_down method now treats the case where a machine is NOT down but has a new boot_id as being "down", because this implies that the machine did shut down (and subsequently came back up). This does mean that you cannot assume that a successful wait_down implies that the machine is now down, but that was never true anyway. Risk: High Visibility: We can now reliably detect the restart of machines with very fast restart times. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4096 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
efccc1b442f5dfa885c9c81bab2daa25d0c134f5 |
|
11-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Whenever a new SSH connection is initiated to an SSH host (run, send_file, get_file), try to start and use a shared master SSH connection. If master-SSH support is enabled through the global_config enable_master_ssh variable, a master SSH connection is initiated as a background job by start_master_ssh. From: petkov@chromium.org git-svn-id: http://test.kernel.org/svn/autotest/trunk@4087 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
c9892c0c96297027036cc97d336206d0412ddd3c |
|
06-Jan-2010 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Thanks, here's a new patch that includes the hostname in the rsync-is-disabled log. I thought about doing that initially but then somehow I missed it. Darin On Tue, Jan 5, 2010 at 2:50 PM, John Admanski <jadmanski@google.com> wrote: > Looks good overall. > > On the rsync-is-disabled warning log, I would include the hostname in the > message. > > -- John > > On Tue, Jan 5, 2010 at 2:02 PM, Darin Petkov <petkov@google.com> wrote: > >> Agreed. >> >> Attached is an updated patch. >> >> Darin >> >> >> On Tue, Jan 5, 2010 at 12:50 PM, John Admanski <jadmanski@google.com>wrote: >> >>> I like less invasive changes, but only up to a point. I just think having >>> the command generator "turn off" rsync by changing the command to false is a >>> very un-obvious; I had to think about it for a while before I could convince >>> myself it was doing the right thing, and I already understand how the copy >>> method in abstract_ssh.py work. >>> >>> -- John >>> >>> >>> On Tue, Jan 5, 2010 at 11:13 AM, Darin Petkov <petkov@google.com> wrote: >>> >>>> I thought less invasive changes would be appreciated. No problem, I'll >>>> fix so that we don't try rsync at all and resend the patch. >>>> >>>> Darin >>>> >>>> >>>> On Tue, Jan 5, 2010 at 11:05 AM, John Admanski <jadmanski@google.com>wrote: >>>> >>>>> I think disabling rsync by having the make command method return >>>>> "false" a bit of hack, though. I think it would be cleaner to just make the >>>>> rsync attempt conditional somehow. >>>>> >>>>> On Tue, Jan 5, 2010 at 10:35 AM, Darin Petkov <petkov@google.com>wrote: >>>>> >>>>>> Check if rsync is executable on each newly instantiated remote SSH >>>>>> host. >>>>>> If it's not, rsync is disabled for future file transfers and scp is >>>>>> used instead. >>>>>> If it is, warning messages are logged whenever an rsync-based transfer >>>>>> fails. >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Autotest mailing list >>>>>> Autotest@test.kernel.org >>>>>> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest >>>>>> >>>>>> >>>>> >>>> >>> >> > >From 3dca5891ae7da5934a7679f1f3135fe145f2acd5 Mon Sep 17 00:00:00 2001 From: Darin Petkov <petkov@chromium.org> Date: Tue, 5 Jan 2010 10:24:10 -0800 Subject: [PATCH] Disable rsync if it's not available on the remote host. Check if rsync is executable on each newly instantiated remote SSH host. If it's not, rsync is disabled for future file transfers and scp is used instead. If it is, warning messages are logged whenever an rsync-based transfer fails. git-svn-id: http://test.kernel.org/svn/autotest/trunk@4077 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
e863384bf392d8a1b7326adc60483f4eacf7ab85 |
|
29-Dec-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
The warning message when rsync fails back to scp is unnecessary, and very polluting of the screen and logs when you work with systems without rsync installed. Just drop the warning Signed-off-by: Martin J. Bligh <mbligh@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4058 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
bc9402bd8f823169e0c47db62047ca0de694b6d9 |
|
29-Dec-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix comments in abstract_ssh.py per CODING_STYLE Signed-off-by: Martin J. Bligh <mbligh@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4057 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
29e158495ba845d250e38841a32b47a7bea08b66 |
|
23-Dec-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Remove -p flag from autoserv scp When the test logs were scped out, the permission bit was reset to --r--r--r, which caused the second scp (overwrite) to fail. git-svn-id: http://test.kernel.org/svn/autotest/trunk@4050 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
1a4305c757ebe2d77999f9ec7401bab0c31261aa |
|
19-Dec-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Remove the chmod+chown done by Host.send_file at the end of a copy. It's generally unnecessary, and often wrong because it often tries to chmod a lot more than the copied files. Risk: Medium Visibility: The dest given to Host.send_file will no longer be automatically made world-readable-executable. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4033 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
39986a63d977721c5c202448728ec2b35a1dcb7d |
|
10-Dec-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add prefixes [stdout] and [stderr] to logged output of subcommands, by default. This applies both to local commands (utils.run() and friends) and remote commands (SSHHost.run(), ParamikoHost.run()) Also removed a little dead code from abstract_ssh.py. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4011 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
56176ec82ae2cbabaaff6818f84807a61c170d8b |
|
28-Oct-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix the SCP fallback path in AbstractSSHHost.get_file(). We were passing the globbing paths to utils.scp_remote_escape(), which would then helpfully escape the globbing characters, making them useless. This avoids that by escape the path earlier, then attaching the globbing pattern, and then avoiding the later escape. I also had to change the "ls" glob check to put the globbing pattern outside the quotes, since ls will otherwise treat the globbing pattern as a literal (whereas scp won't). Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3884 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
ad812bf3cf46bd9da1871401042b2b0abf1a4220 |
|
21-Oct-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Cleanups to code controlling where Autotest clients get installed and used by Autoserv. * change autotest._get_autodir() back to looking for the autotest client executable, document explicitly that it's looking for an existing autotest installation, give it a unique exception to raise upon failure, and make it a public classmethod of the Autotest class. also renamed it to get_installed_autodir() to be even more explicit about what it's doing. * change _get_install_dir() to look through client_autodir_paths for the first one it can create (if no existing installation exists), rather than just hardcoding the default to /usr/local/autotest. also make it a public classmethod. * make verify_software_only() use get_install_dir() rather than get_installed_autodir(), since i think that makes more sense for what it's doing. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3872 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
ca57298a7986498abb1ad0ae75edd3677a096c11 |
|
18-Sep-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
reorganize verify_*() methods a bit. they were making some odd super() calls that didn't look right. this removes that, adds a verify_connectivity() method between HW and SW, and puts the master control flow in the base class. also add a logging call to a dangerous blanket try-except. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3751 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
2ba7ab0e20e9308edf5011a192e96eb79e2d59ff |
|
25-Aug-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Make the INFO 'Host (ssh) foo is alive" messages much less spammy, today there are 10s of these that appear in the INFO console logs when running any sort of autoserv command. Only show it on the actual intentional "Ping" done in verify(). Signed-off-by: Gregory Smith <gps@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3610 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
5a0ca53d55c6353797a03d31abec915ca8fc1a18 |
|
03-Aug-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
* Fix send_file() for delete_dest=True case when it is a dir to avoid: /usr/bin/ssh -a -x -o BatchMode=yes -o ConnectTimeout=30 -o ServerAliveInterval=300 -l root -p 22 rval20 " rm -rf root@rval20:\/tmp/sysinfo/autoserv-4dw490\ && mkdir root@rval20:\/tmp/sysinfo/autoserv-4dw490\" Signed-off-by: JP Abgrall <jpa@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3479 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
27160153b500c474de77250c2aa2725cad9a109f |
|
15-Jul-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix two apparent bugs in abstract_ssh.py: 1) In send_file(), for delete_dest when falling back to scp, we check if the destination directory exists using ls. But it uses remote_dest, which looks like "showard@myhost:/foo/bar". So on the remote host (myhost here), it runs "ls -d showard@myhost:/foo/bar", which will of course fail. I believe it's supposed to use dest instead of remote_dest. This has been present since the introduction of this code, 12/2008. 2) _encode_remote_paths was calling utils.scp_remote_escape() to escape paths, but then using the original, unmodified paths instead. this has been present since 2/2009. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3417 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
d0e94981f3771ec95821358bee9d27fda7378288 |
|
11-Jul-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Server side messages cleanup. In this patch, the aim was: * Fix issues with spacing on some messages * Make server output coherent with client output * Remove verbosity turned obsolete by the logging system (it's not necessary to manually prepend debug messages with the method they belong to) Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3398 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
108d73e490e104a367bfa0d29a01e17b0c7a8f48 |
|
22-Jun-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
* make utils.system* default to directing output to the logging module, instead of sys.std*. this involved refactoring the code out of ssh_host/paramiko_host/abstrash_ssh, which previously did the same thing (they still do, but now the use the common logic in utils) * change packages.py to suppress command output properly. it was using the verbose option previously, which was added to ssh_host.run() and paramiko_host.run() specifically for this call site. in this context, verbose=False meant "dont print the command and dont print the output either). but this doesn't make the interface of utils.run(), for which verbose=False just means "dont print the command", because utils.run() suppresses output by default (while *host.run() doesn't). to resolve that, i made verbose on *host.run() match the interface of utils.run(), and i made packages.py suppress the output properly by passing stdout_tee=None. * move tee.flush() calls in utils.BgJob code to where it makes more sense (and interacts with LoggingFiles better) Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3307 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
f1175bb2edbe3215f4bfa117c6b93d2e090d1d07 |
|
17-Jun-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
get rid of some now-obsolete code * client.common_lib.debug * abstract_ssh.LoggerFile Changed {SSHHost,ParamikoHost}.run() default args for std{out,err}_tee to a constant instead of None. This preserves the existing behavior (teeing to the logging module by default), but allows callers to explicitly avoid this teeing if desired, by passing stdout_tee=None. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3293 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
10eb466b589f4ceab8d3fe24e647cd7950fb585b |
|
17-Jun-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Remove output from packages.checksum echo. This is an interim step to cleaning up verbose logs in general Signed-off-by: Scott Zawalski <scottz@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3290 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
c971c5f48255e9a016fb86fbb902ca210dcc2915 |
|
08-Jun-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Added specific exceptions for various failures in verify and changed the code that raised them to use these new exceptions. Completely reworked the 3 repair phases to try to fix things by handling the specific errors generated by verify (in a loop where it exits either by not being able to fix an issue or if the last verify ran successfully). Reorganized some code to support this new way to repair hosts. The code tries to remember each repair handler it used to catch the case where even after executing the handler the same verify failure is reported and it may execute the repair handler in an infinite loop. When it finds out that the same repair handler has already been executed it will re-raise the original exception hoping it will be cought in surrounding try/except contexts or the exception will make repair fail. Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3217 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
4556178ac97dc6160a31ac105f5d987b6c9933d8 |
|
11-May-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Added utils.get_relative_path() to compute the path of an absolute path as relative to a given directory path and used it when creating the test results sysinfo/current_reboot symlink to create a relative symlink that would still be valid when relocated. Added a "preserve_symlinks" default False keyword argument to AbstractSSHHost.get_file/send_file to tell rsync to try to preserve the original symlink and not transform them into the referenced file/directory when copied (only for rsync as scp has no way to do this). Used the new flag when fetching the test result directory to preserve symlinks. Along with the previous change this should fix an issue of >100k sysinfo bloat because of duplicated content instead of preserving the client symlink. Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3104 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
feac010c5bce042c7f6b887288d1a9d2f75f25dd |
|
28-Apr-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Added support to AbstractSSHHost.get_file() to not try to preserve the orginal file permissions. Used this from crashinfo copying code to not copy /var/log/messasges with 0600 privileges and such (which is common on Linux distributions) and then not be able to read it in the frontend. Also changed the way we copy the client control file wrapper to not preserve the original permissions of the file. Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3048 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
a4464405da15e87f3b4de254fbe1f1b3e58a63d3 |
|
17-Apr-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add a workaround to a bug where machines are not rebooting sometimes This sends a -HUP to init (pid 1) which causes it to reparse its config and nothing else. Signed-off-by: Scott Zawalski <scottz@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3002 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
2ed998fc52af03c5929c37335651bacb06bb2989 |
|
08-Apr-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add an optional warning in case the system doesn't shutdown in a timely manner. Signed-off-by: Jean-Marc Eurin <jmeurin@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2975 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
a10c660ab0509633f95ac37224b107f7daa31261 |
|
01-Apr-2009 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add a (global) timeout to rsync so that if it sits idle (i.e. no I/O) for more than 30 minutes then the command will timeout and fail. Risk: Low Visibility: Adds a global idle timeout to rsync. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2952 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
b18134f8faa7c5b4623760bc88650a65e70b2cac |
|
20-Mar-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
As discussed on the mailing list, we implemented logging with a single root logger and logging configurations per entry points. The entry points affected are: * Autotest client * Autoserv * Scheduler We are sending patches for each one of those entry points. Now we don't need to 'grab' loggers anymore to log messages, only need to use the utility functions: logging.info('msg') logging.debug('msg') logging.warning('msg') logging.error('msg') logging.critical('msg') Which reduces complexity of the log system, and makes it easier for developers to log messages, just select the level, make sure the standard logging module is loaded, and profit! From: Lucas Meneghel Rodrigues <lmr@linux.vnet.ibm.com> Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2915 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
9d738d6db3b900f509c8c94581da9062819928dc |
|
09-Mar-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Moved server.hosts.ssh_host.PermissionDeniedError into client.common_lib.error.AutoservSsshPermissionDeniedError and updated users. Changed parsing of 'Permission denied.' SSH error to work in verbose mode too. Changed AbstractSSHHost.ssh_ping() to not convert the permission denied error to a AutoservRunError and instead let it propagate to the callers (it is inherited from AutoservRunError anyways). Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2857 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
b49b5239c67b24d03b87962441b125659673f986 |
|
12-Feb-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Ensure we run ssh_ping before trying sofware verification on the machine that requires ssh, so that we don't get obscure error messages when the host is down. To do this, we want to run all the site h/w verification stuff first, then generic ssh pings, then site s/w stuff, so I broke this into two functions Signed-off-by: Martin Bligh <mbligh@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2788 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
2583a43037ffe29d5d7fa3bf4281e8378c13c453 |
|
11-Feb-2009 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix up the handling of remote paths when sending files to and from machines via rsync/scp. It changes multi-source gets to produce a single remote source path (e.g. user@host:"$PATH1 $PATH2 ...") and fixes up the scp command generation to properly encode remote paths with a remote machine. Risk: Medium Visbility: Fixes up a lot of cases where remote file copying just didn't work. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2769 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
e8b93affebe4b0565d83d116cf79315ceb7b8e6f |
|
30-Jan-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Modified AbstractSSHHost to use utils.import_site_class() to get SiteHost instead of directly importing the file thus not requiring the file to exist. After this is committed it should be possible to remove the dummy server/hosts/site_host.py from SVN. Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2711 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
a0a27597f8756408e895578ab8babf21351a3078 |
|
24-Jan-2009 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Moved in the inheritance tree repair_* from abstract_ssh to Host base class. WARNING: this change may break compatibility with existent site_host.repair_* overrides if they depend on the AbstractSSHHost moved repair_* functions to run before the site_host.repair_* ones. If so the site_host.repair_* functions should be changed to call the super().repair_* at the end of them. Signed-off-by: Mihai Rusu <dizzy@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2685 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
80deb75dcb27024be43f4361d463656803c137b0 |
|
21-Jan-2009 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add a Host.is_shutting_down method to allow us to determine if a host is in the process of shutting down, and add code to verify to fail if the machine is in this state. Also adds some extra code to the repair (filesystem only) that will try and wait for the machine to restart if it is in this state. This should prevent jobs from running on machines that are shutting down; such jobs tend to spontaneously abort when a machine "mysteriously" restarts partway through. Risk: Low Visibility: Machines that are shutting down should no longer pass a verify. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2662 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
fcc851bf4a4c48e324a3d4f584f8434a7572a699 |
|
07-Jan-2009 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
The LoggerFile class used by the ssh host classes as a default std* stream outputs a lot of whitespace junk. Add some filtering to discard empty write() calls and to strip off trailing newlines. Risk: Low Visibility: Removes a lot of noise from the host logging. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2606 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
d7b79ed0cac32ef9af4ae71d9b3d42288c0311a4 |
|
07-Jan-2009 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Rewrite the get_file and send_file code in AbstractSSHHost to properly support rsync-style trailing slash paths. Currently, the interface claims to support this but in order to provide support for working with rsync and scp the functions map trailing slash paths like path/ to path/*. Unfortunately this isn't quite the same - it misses dotfiles. This rewrite changes this rather dramatically; it discards the approach of doing the same thing with both rsync and scp. For rsync it now just uses trailing slashes directly, and then if you need to fall back to scp it replaces the path with the appropriate glob patterns (which requires some work to determine which ones are usable). Risk: High Visibility: get_file and send_file using trailing-slash source directories should now work properly (i.e the same as rsync). Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2605 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
170873e8869cae8bb9499d6128cf626e8110bf56 |
|
07-Jan-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Attached is a very large patch that adds support for running a distributed Autotest service. Previously, the scheduler could only execute autoservs locally and all results were written directly to the local filesystem. This placed a limit on the number of machines that could be concurrently tested by a single Autotest service instance due to the strain of running many autoserv processes on a single machine. With this change, the scheduler can spread autoserv processes among a number of machines and gather all results to a single results repository machine. This allows vastly improved scalability for a single Autotest service instance. See http://autotest.kernel.org/wiki/DistributedServerSetup for more details. Note that the single-server setup is still supported and the global configuration defaults to this setup, so existing service instances should continue to run. Steve Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2596 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
7d22381e0c4638a3b2555b54383662f7371bcd24 |
|
08-Dec-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix up the _copy_files implementation to properly handle deleting a destination directory when doing a remote -> local copy. Risk: Medium Visibility: scp copies with delete_dest=True and a local destintion should no loger generate an IndexError. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2550 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
5f66ed427923dfa9f9fd6b35d52ad25bd88a0f27 |
|
24-Nov-2008 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Print clearer information about diskspace checks. Signed-off-by: Martin Bligh <mbligh@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2503 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
aedfcbceb8213dfbe384452a918f73430f08c038 |
|
29-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Remove the kerberos disabling options. It seems that some people do need kerberos for authentication, and with these options in the command line you can't really override them to turn it back on. Instead we should use the ssh config to disable it if we need to. Risk: Low Visibility: Kerberos should work again. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2351 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
31c49b77bc278cb93c751ecf15da5244a34aedc2 |
|
27-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
If we're disabling kerberos with ssh, we should do the same with scp. Risk: Low Visibility: Disable kerberos in scp-based ssh as well Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2344 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
6369cf20d9c4619c0e1a88464b87585b3a2b8b78 |
|
24-Oct-2008 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Abstract out self.ip into abstract_ssh so that paramiko has it available also Some tests require this and it seems natural to pull it into abstract_ssh Risk: High, Tests that reference .ip fail very quietly Visibilty: Low, sync tests are affected for the most part Signed-off-by: Scott Zawalski <scottz@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2333 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
89e258d442be542143b1c79fcd5a990bde701f34 |
|
24-Oct-2008 |
mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add an option to the Host send_file and get_file methods to indicate that whatever is at the destination should be deleted. For AbstractSSHHost this means using --delete (for rsync) or just pre-emptively deleting the destination directory (for scp). The option defaults to False (the old behavour) but this changes the autotest install to set it to True, so that we can be sure that old .pyc* and abandoned .py files are never left on the client. This also allows me to remove some of the "remove stale files" hacks from the setup_modules code. Risk: Medium Visibility: Adds a new option to *_file methods on Host objects and kills stale files during Autotest client installs. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2332 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
d9365e57553732ea0e73ac8f5e47d1435902cff9 |
|
22-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Disable kerberos-based authentication for ssh; it seems there are some performance issues with this and it doesn't generally seem to be used for Autotest, so just turn it off. Risk: High (it technically breaks stuff) Visibility: No more kerberos for Autotest ssh. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2323 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
0f80bf57db0c381146b90d5560a3fd25165046d5 |
|
22-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Somehow the utils.run in AbstractSSHHost._copy_files that's used to actually do an scp copy got dropped. Adding it back... Risk: Low Visibility: The scp-based copy should work again. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2322 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
f656291cb000a62783f9deaf17cd31e4cb7b9b68 |
|
21-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Furthur refactoring of the paramiko and ssh host classes. This covers a few different fixes: - it pulls the verify & repair code out of SSHHost and into AbstractSSHHost - it moves all the __init__ code into _initialize methods; there's certain pieces of code (like self.start_loggers()) that always needs to run after all the other initialization, so it's easier to enforce this kind of ordering if we put the core initialization in a separate method and then just have one __init__ method in Host that enforces the ordering - fixes up ParamikoHost to properly handle forking, since after a fork() one of the processes needs to switch to a new Transport object (both processes can't use the same connection) Risk: High Visibility: ParamikoHost now supports fork() properly, provides the same verify & repair as SSHHost, and most of the host __init__ code has migrated into _initialize methods Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2318 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|
ca7da37fd4346d8944ca2e94c5b629d00c0cd102 |
|
21-Oct-2008 |
jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> |
Adds a new host object, ParamikoHost, basically as another implementation of SSHHost but one that uses an in-process SSH library (in this case paramiko) instead of spawning ssh processes. In order to reuse SSHHost code where I could, I pulled pretty much all of the code that wasn't Host.run into a generic AbstractSSHHost class; this is where the send_file and get_file methods are implemented, as well as the wait_* methods. So now both SSHHost and ParamikoHost are subclasses of AbstractSSHHost. Currently, this new ParamikoHost class isn't hooked into anything, so unless you explicitly use it you don't need to hava paramiko installed. Risk: Medium Visibility: File copying and wait_* methods were moved out of SSHHost, and you now have ParamikoHost available. Signed-off-by: John Admanski <jadmanski@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2314 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/server/hosts/abstract_ssh.py
|