Brett Smith [Fri, 23 Oct 2015 19:42:59 +0000 (15:42 -0400)]
7587: Refactor PySDK API tests to use TestCaseWithServers.
History: first this test case used entirely mock responses. Then we
started running the API server to provide a discovery document. Then
people added tests that expected to talk to a real test server,
particularly test_empty_list and test_nonempty_list. These tests
would talk to the API server configured in the user's environment, and
fail if that's not a test API server.
Using TestCaseWithServers fixes the immediate bug in the tests, and
better reflects the current real state of the test case.
Peter Amstutz [Tue, 20 Oct 2015 20:34:50 +0000 (16:34 -0400)]
7582: (1) Probe for non-root Docker user to use instead of assuming "crunch".
Tries the default user for the container, then 'crunch', then 'nobody', testing
for whether the actual user id is non-zero. This defends against mistakes but
not malice, but we intend to harden the security in the future so we don't want
anyone getting used to their jobs running as root in their Docker
containers.
(2) If arvados_sdk_version is not present, skip the "pipe to perl to install
the SDK" logic, but instead bootstrap with a small bash script that only
creates temporary directories and runs the crunch script.
radhika [Tue, 20 Oct 2015 17:41:29 +0000 (13:41 -0400)]
7546: update some of the failure tests to use keepclient.Retries = 0, so that the tests do not waste too much time
retrying a test that is designed for failures. This update brings down the keepclient_test runtime from 49s to 10s.
Tom Clegg [Fri, 16 Oct 2015 22:26:14 +0000 (18:26 -0400)]
6358: Fix rendezvous probe order on Put.
Bug #1 was that KeepClient.put() was starting threads in the order
given by roots_map.iteritems(), instead of the order they were
supplied by weighted_service_roots(). This is fixed by using the same
logic get() was using.
Bug #2 was that ThreadLimiter didn't unblock threads in the same order
they were created by put(). This is fixed by adding a "set_sequence"
method to ThreadLimiter to indicate the order in which threads should
be unblocked.
The new test case confirms that put(copies=1) always makes requests in
the correct order.
radhika [Fri, 16 Oct 2015 14:23:12 +0000 (10:23 -0400)]
7167: Remove StartKeepWithParams and StopKeepWithParams and make StartKeep and StopKeep with parameters the only exposed funcs.
The update was small enough, about 10 usages in the entire code, and hence did not make sense to postpone it for a "better" time.
Colin Nolan [Fri, 16 Oct 2015 13:15:09 +0000 (14:15 +0100)]
7324: Implemented deletion of previous nginx access log fifo before creation,
as discussed with @jrandall to address issue raised by @brettcs
(see: https://github.com/curoverse/arvados/pull/28#discussion_r39689972).
radhika [Fri, 16 Oct 2015 02:55:03 +0000 (22:55 -0400)]
7167: Break all the code from keep-rsync main method into a separate func so that arg parsing can also be tested.
Rather than using default flag parsing, use FlagSet so that flags can be set multiple times from multiple tests.
Brett Smith [Wed, 14 Oct 2015 20:59:40 +0000 (16:59 -0400)]
API server needs an arvados-cli with crunch-job --docker-bin.
crunch-dispatch was extended to use `crunch-job --docker-bin` in
#6838. This commit simply updates the Gemfile to ensure this
dependency is satisfied. No issue #.
Peter Amstutz [Wed, 14 Oct 2015 14:49:49 +0000 (10:49 -0400)]
6321: Add OSError to slurm shutdown actor retry conditions, to catch and retry
subprocess errors from the operating system, which is preferrable to crashing
the shutdown actor.
radhika [Wed, 14 Oct 2015 01:16:35 +0000 (21:16 -0400)]
7167: replace the keep_existing logic and create all 3 keep servers at once and use the first two as src keepservers and the last one as the dst keep server.
radhika [Tue, 13 Oct 2015 21:01:46 +0000 (17:01 -0400)]
7167: Convert blobSigningKey also into local variable and make necessary changes to accommodate this change.
Remove the New method added in arvadosclient.go and revert MakeArvadosClient to what it was before.