Peter Amstutz [Wed, 12 Nov 2014 18:42:13 +0000 (13:42 -0500)]
Merge branch '3400-workbench-all-items' closes #3400
Peter Amstutz [Wed, 12 Nov 2014 18:14:10 +0000 (13:14 -0500)]
Merge branch 'master' into 3400-workbench-all-items
Tom Clegg [Fri, 7 Nov 2014 03:52:44 +0000 (22:52 -0500)]
3400: test limit between server maxpagesize and 2x server maxpagesize.
Conflicts:
apps/workbench/test/unit/arvados_resource_list_test.rb
Brett Smith [Wed, 12 Nov 2014 17:08:13 +0000 (12:08 -0500)]
Bugfix bad exception name in PySDK util.is_hex.
No issue #.
Peter Amstutz [Wed, 12 Nov 2014 16:39:41 +0000 (11:39 -0500)]
3400: Stub out obsolete #links_for and remove result_links and related test.
Set @result_limit and @result_offset to nil unless @fetch_multiple_pages ==
false. Add test for limit > default page size.
Tim Pierce [Wed, 12 Nov 2014 16:17:49 +0000 (11:17 -0500)]
Merge branch '3857-python-sdk-timeout-bugfix'
Fixes #3857.
Tim Pierce [Wed, 12 Nov 2014 16:13:36 +0000 (11:13 -0500)]
3857: fix python-requests dependency
Multiple timeout support in python-requests is only supported in
versions 2.4.0 or later.
Brett Smith [Wed, 12 Nov 2014 14:57:44 +0000 (09:57 -0500)]
Merge branch '3603-pysdk-file-api-wip'
Refs #3603. Closes #4316.
Brett Smith [Wed, 12 Nov 2014 14:42:17 +0000 (09:42 -0500)]
3603: PySDK Collection objects support file-like APIs.
This commit adds an open() method to CollectionReader and
CollectionWriter. They mimic the built-in open(), returning objects
that implement as much as the Python file API as I can reasonably
manage.
There are a couple of backwards-incompatible changes to
StreamFileReader here:
* seek() now defaults to SEEK_CUR rather than SEEK_SET behavior.
* readlines() returns a list, and no longer supports decompression.
These changes bring the object closer to a file-like object. We
reviewed our existing Python code, including known Crunch scripts from
users. Nobody was using seek(), and nobody was obviously relying on
the decompression behavior of readlines(). So we believe this is
reasonably safe.
(Contrast name(), which lots of things are using, so we provide a
backward compatibility shim for it.)
Brett Smith [Wed, 12 Nov 2014 14:38:26 +0000 (09:38 -0500)]
3603: Clean up PySDK imports.
Sort; remove unused imports.
Brett Smith [Fri, 24 Oct 2014 15:23:09 +0000 (11:23 -0400)]
3603: Fix context methods for PySDK Collection objects.
Ward Vandewege [Wed, 12 Nov 2014 02:23:03 +0000 (21:23 -0500)]
Fix broken doc link.
refs #4486
Ward Vandewege [Wed, 12 Nov 2014 01:36:07 +0000 (20:36 -0500)]
Merge branch '4486-document-arv'
refs #4486
Ward Vandewege [Wed, 12 Nov 2014 01:35:08 +0000 (20:35 -0500)]
Remove trailing whitespace.
refs #4486
Ward Vandewege [Wed, 12 Nov 2014 01:34:04 +0000 (20:34 -0500)]
Merge branch 'master' into 4486-document-arv
refs #4486
Ward Vandewege [Tue, 11 Nov 2014 22:21:24 +0000 (17:21 -0500)]
Add TCPKeepAlive and ServerAliveInterval ssh options to the .ssh/config
snippet that Workbench suggests.
no issue #
Ward Vandewege [Tue, 11 Nov 2014 21:53:02 +0000 (16:53 -0500)]
Add some basic documentation for the arv subcommands.
refs #4486
Tim Pierce [Tue, 11 Nov 2014 21:32:09 +0000 (16:32 -0500)]
Merge branch '4294-node-manager-min-nodes'
Fixes #4294.
Tim Pierce [Tue, 11 Nov 2014 21:30:04 +0000 (16:30 -0500)]
Merge branch '3857-python-sdk-timeouts'
Fixes #3857.
Tim Pierce [Tue, 11 Nov 2014 21:29:35 +0000 (16:29 -0500)]
3857: fixed comment
Tim Pierce [Tue, 11 Nov 2014 20:59:23 +0000 (15:59 -0500)]
4294: additional unit tests
test_server_calc_returns_min_nodes_for_one_job
* Ensures that the @ServerCalculator@ still returns a wishlist with
_min_nodes_ when there is a job in the queue.
test_server_calc_more_jobs_than_min_nodes
* Tests that when the job queue has between _min_nodes_ and _max_nodes_ in
it, @ServerCalculator@ returns a wishlist exactly as long as the job
queue.
Tim Pierce [Tue, 11 Nov 2014 20:39:55 +0000 (15:39 -0500)]
4294: code review feedback
* Added min_nodes to sample config files
* Renamed idle_nodes to needed_nodes
Tim Pierce [Tue, 11 Nov 2014 20:23:15 +0000 (15:23 -0500)]
3857: fixed import order. d'oh
Tim Pierce [Tue, 11 Nov 2014 16:04:19 +0000 (11:04 -0500)]
3857: code review feedback
* Set default timeouts to (20, 300) for proxies and (2, 300) for all
else.
* KeepService:
** Removed unused 'timeout' argument to __init__()
** Trimmed unnecessary exceptions in last_status()
* Tests:
** test_collections.py: changed mock_api_call return value back to
fake_httplib2_response
** Flattened test layers to eliminate KeepClientRetryGetTestMixin and
KeepClientRetryPutTestMixin
** Moved proxy timeout tests to
KeepClientServiceTestCase.test_proxy_get_request and
.test_proxy_put_request
* Removed excess blank lines in docstrings
Tim Pierce [Fri, 7 Nov 2014 14:37:24 +0000 (09:37 -0500)]
4294: added min_nodes config parameter
Added min_nodes configuration setting. The job queue will return a
wishlist with at least min_nodes elements in it, and the node manager
daemon will avoid shutting down a node if it would bring the total below
min_nodes.
* arvnodeman.config sets default min_nodes to 0.
* NodeManagerDaemonActor:
** _nodes_wanted returns at least enough to keep the node count above
min_nodes
** _nodes_excess will not allow the node count to drop below min_nodes
* jobqueue.ServerCalculator.servers_for_queue returns a list with at least
min_nodes elements
* added test cases:
** NodeManagerDaemonActorTestCase.test_shutdown_declined_below_min_nodes
** ServerCalculatorTestCase.test_server_calc_returns_at_least_min_nodes
Tom Clegg [Mon, 10 Nov 2014 18:18:20 +0000 (13:18 -0500)]
Expand websocket config comments. refs #4233
Ward Vandewege [Mon, 10 Nov 2014 15:16:52 +0000 (10:16 -0500)]
Explicitly list the URL that get.arvados.org redirects to, for those
folks who would like to read the install script before executing it.
No issue #
Peter Amstutz [Mon, 10 Nov 2014 15:03:04 +0000 (10:03 -0500)]
Python run_test_server runs websockets separately non-SSL for compatibility
with default application.yml.default. refs #4084
Peter Amstutz [Fri, 7 Nov 2014 22:01:56 +0000 (17:01 -0500)]
Tweak uuid of test fixture so it doesn't match other tests unintentionally. refs #4084
Brett Smith [Fri, 7 Nov 2014 21:00:53 +0000 (16:00 -0500)]
PySDK CollectionReader can get empty collection.
Fixing a regression from refs #3706.
Peter Amstutz [Fri, 7 Nov 2014 20:50:22 +0000 (15:50 -0500)]
Merge branch '4084-log-pane-refresh' closes #4084
Peter Amstutz [Fri, 7 Nov 2014 20:48:22 +0000 (15:48 -0500)]
3400: ArvadosResourceList retains api token that is active when it is created.
Tweaked fetch-multiple-pages loop. Made #each_page protected. _paging sets
fetch_multiple_pages(false).
Tim Pierce [Fri, 7 Nov 2014 20:38:40 +0000 (15:38 -0500)]
3857: implement proxy_timeout
Add proxy_timeout argument to KeepClient.
Default timeouts are:
* timeout = (3, 30)
* proxy_timeout = (20, 60)
Added unit tests to check that KeepClient.get and KeepClient.put use the
default 'timeout' setting when talking directly to a Keep server, and
the 'proxy_timeout' setting when communicating with a proxy.
Peter Amstutz [Fri, 7 Nov 2014 15:22:26 +0000 (10:22 -0500)]
4084: Add 'arv-log-refresh-control' div to job log pane. Log scrolling test tests both pipeline_instance and job log panes.
Peter Amstutz [Fri, 7 Nov 2014 14:28:59 +0000 (09:28 -0500)]
Merge branch '4334-idle-star-is-down' closes #4334
Peter Amstutz [Fri, 7 Nov 2014 14:28:45 +0000 (09:28 -0500)]
Merge branch '4310-lock-before-fail' closes #4310 (again)
Peter Amstutz [Fri, 7 Nov 2014 14:22:34 +0000 (09:22 -0500)]
4310: Qualify namespace of AlreadyLockedError
Peter Amstutz [Fri, 7 Nov 2014 13:53:55 +0000 (08:53 -0500)]
4310: Lock job before changing its state to failed.
Tom Clegg [Fri, 7 Nov 2014 03:28:00 +0000 (22:28 -0500)]
3400: Remove ArvadosResourceList#all
Peter Amstutz [Thu, 6 Nov 2014 22:02:34 +0000 (17:02 -0500)]
Merge branch '4314-crunch-token-expire' refs #4314 refs #4310
Peter Amstutz [Thu, 6 Nov 2014 21:51:40 +0000 (16:51 -0500)]
4314: Don't expire the token if the job is still in queued state.
Brett Smith [Thu, 6 Nov 2014 20:49:32 +0000 (15:49 -0500)]
Merge branch '4408-collection-sharing-login-fix-wip'
Closes #4408.
Brett Smith [Thu, 6 Nov 2014 16:59:00 +0000 (11:59 -0500)]
4408: Workbench Collection sharing allows file downloads again.
Earlier we refactored our API token loading code to load User.current
to check that it was valid. This approach doesn't work when we're
presenting shared Collections, because the token usually won't be
scoped to get user information. Skip the check for this specific
case.
Peter Amstutz [Thu, 6 Nov 2014 19:22:40 +0000 (14:22 -0500)]
4334: Convert "idle*" state to "down"
Tim Pierce [Thu, 6 Nov 2014 19:14:35 +0000 (14:14 -0500)]
Merge branch '4088-collection-show-files-filter'
Fixes #4088.
Peter Amstutz [Thu, 6 Nov 2014 18:56:18 +0000 (13:56 -0500)]
Go to next job after fail_job when there is a tag mismatch. refs #4310
Peter Amstutz [Thu, 6 Nov 2014 18:18:03 +0000 (13:18 -0500)]
Merge branch '4310-git-tag-race' closes #4310
Peter Amstutz [Thu, 6 Nov 2014 18:11:09 +0000 (13:11 -0500)]
4310: Remove stderr redirect from git rev-list, add it to git tag. Prefix log
output with "dispatch: ". Tweak error message if rev-list fails.
Ward Vandewege [Thu, 6 Nov 2014 18:00:46 +0000 (13:00 -0500)]
Merge branch '4383-easy-install'
refs #4383
Ward Vandewege [Thu, 6 Nov 2014 18:00:22 +0000 (13:00 -0500)]
Merge branch 'master' into 4383-easy-install
refs #4383
Ward Vandewege [Thu, 6 Nov 2014 17:59:39 +0000 (12:59 -0500)]
Another documentation tweak based on review feedback.
closes #4383
Peter Amstutz [Thu, 6 Nov 2014 16:37:49 +0000 (11:37 -0500)]
4310: Fix race condition between testing for tag and setting tag by reversing
order of operations: try to set the tag, and only test for it if there is an
error.
Tom Clegg [Thu, 6 Nov 2014 16:33:07 +0000 (11:33 -0500)]
Merge branch '4389-breadcrumbs-infinite-loop' closes #4389
Ward Vandewege [Thu, 6 Nov 2014 16:30:11 +0000 (11:30 -0500)]
Install instructions: be a bit more explicit that arvdock is downloaded
and saved in the current working directory.
refs #4383
Tom Clegg [Thu, 6 Nov 2014 16:12:58 +0000 (11:12 -0500)]
4084: Fix wrong state name: jobs are Running, pipelines are RunningOn[...].
Ward Vandewege [Thu, 6 Nov 2014 16:09:00 +0000 (11:09 -0500)]
Merge branch 'master' into 4383-easy-install
refs #4383
Ward Vandewege [Thu, 6 Nov 2014 16:04:36 +0000 (11:04 -0500)]
Only try to install .config/arvados/settings.conf if we have a token to
put in there.
refs #4383
Tim Pierce [Thu, 6 Nov 2014 16:02:50 +0000 (11:02 -0500)]
4088: code review feedback
* Modified styling for "Select all" and "Unselect all"
* "filename filter" -> "filename regex"
* Changed refutations to assertions to avoid running afoul of AJAX race
conditions
* Refactored checkbox assertions into a helper
Tom Clegg [Thu, 6 Nov 2014 15:55:07 +0000 (10:55 -0500)]
4389: Merge branch 'master' into 4389-breadcrumbs-infinite-loop
Tom Clegg [Thu, 6 Nov 2014 15:53:13 +0000 (10:53 -0500)]
4084: Update views that were still using pane-anchor.
Peter Amstutz [Thu, 6 Nov 2014 15:26:21 +0000 (10:26 -0500)]
add 'arv-run' to setup.py refs #3609
Ward Vandewege [Thu, 6 Nov 2014 15:25:01 +0000 (10:25 -0500)]
Add more tests so that we cover all possible combinations of the
auto_admin_first_user and auto_admin_user configuration settings.
refs #4383
Ward Vandewege [Thu, 6 Nov 2014 15:23:11 +0000 (10:23 -0500)]
Update the behavior of the auto_admin_user configuration field a bit to
make it more intuitive: the first user created with an e-mail address
that matches auto_admin_user will now become admin, regardless of the
presence of other admin users. Any subsequent accounts created with that
e-mail address will no longer become admin.
refs #4383
Tim Pierce [Wed, 5 Nov 2014 21:24:57 +0000 (16:24 -0500)]
3857: replaced httplib2 with 'requests'
Replaced httplib2 with the 'requests' library in modules that use it to
call Keep:
* arvados.collection
* arvados.keep
* arvados.retry
* arvados.stream
Updated unit tests and mocks appropriately.
Tom Clegg [Wed, 5 Nov 2014 22:48:30 +0000 (17:48 -0500)]
4389: Add test.
Peter Amstutz [Wed, 5 Nov 2014 21:26:37 +0000 (16:26 -0500)]
3400: Too much code that assumes it can call .first over and over without
incurring an API call each time (silly).
Peter Amstutz [Wed, 5 Nov 2014 20:57:01 +0000 (15:57 -0500)]
3400: ArvadosResourceList returns all items (paging as necessary) unless limit() is specified.
* ArvadosResourceList#each returns results incrementally. ArvadosResourceList#all (or ArvadosResourceList#results) prefetches the entire list.
* Added tests. Fixed tests.
* Removed hardcoded limit() in cases where it was apparent that it was being used as a workaround for the paging problem.
* Removed obsolete name_link code (including CollectionsController#choose override) that was causing tests to fail.
Peter Amstutz [Wed, 5 Nov 2014 20:43:40 +0000 (15:43 -0500)]
Merge branch 'origin-3609-arv-run' into master closes #3609
Conflicts:
sdk/cli/bin/arv
Brett Smith [Wed, 5 Nov 2014 19:29:14 +0000 (14:29 -0500)]
Merge branch '4357-node-manager-busy-nodes-wip'
Closes #4357, #4370.
Brett Smith [Fri, 31 Oct 2014 17:59:59 +0000 (13:59 -0400)]
4357: Node Manager boots new nodes when up nodes are busy.
The key part of this commit is the change to _nodes_wanted.
Everything else provides the information to make that calculation.
This changes the daemon test to use real monitor actors, rather than a
mock. This hurts test isolation a bit, but it's really tricky to mock
individual monitors otherwise. Because monitors only communicate with
the daemon itself, this seems like a worthwhile trade-off; it doesn't
introduce external dependencies or noticeably increase test time.
Tom Clegg [Wed, 5 Nov 2014 17:22:03 +0000 (12:22 -0500)]
4389: Merge branch 'master' into 4389-breadcrumbs-infinite-loop
Brett Smith [Wed, 5 Nov 2014 16:31:42 +0000 (11:31 -0500)]
Merge branch '4303-crunch-retry-logging-wip'
Closes #4303, #4385.
Brett Smith [Fri, 31 Oct 2014 18:54:25 +0000 (14:54 -0400)]
4303: crunch-job logs when it retries API calls.
Brett Smith [Wed, 5 Nov 2014 16:27:50 +0000 (11:27 -0500)]
Fix `arv keep copy` → `arv copy` wrapper.
No issue #.
Ward Vandewege [Wed, 5 Nov 2014 15:21:24 +0000 (10:21 -0500)]
Merge branch 'master' into 4383-easy-install
Conflicts:
docker/api/application.yml.in
refs #4383
Ward Vandewege [Wed, 5 Nov 2014 15:18:31 +0000 (10:18 -0500)]
Add unit tests for new auto_admin_first_user configuration setting.
refs #4383
Tom Clegg [Wed, 5 Nov 2014 08:52:58 +0000 (03:52 -0500)]
4084: Add comment.
Tom Clegg [Wed, 5 Nov 2014 08:16:33 +0000 (03:16 -0500)]
4084: Fix dashboard refresh.
Tom Clegg [Wed, 5 Nov 2014 07:58:20 +0000 (02:58 -0500)]
4084: Remove excess loaded class.
Tom Clegg [Wed, 5 Nov 2014 07:17:56 +0000 (02:17 -0500)]
4084: Update comments.
Tom Clegg [Wed, 5 Nov 2014 07:02:37 +0000 (02:02 -0500)]
4084: Ignore bubbling arv-log-event events, just process each once at the original target.
Tom Clegg [Wed, 5 Nov 2014 04:28:22 +0000 (23:28 -0500)]
4084: Merge branch 'master' into 4084-log-pane-refresh-TC
Conflicts:
services/api/test/fixtures/jobs.yml
Tom Clegg [Wed, 5 Nov 2014 04:20:23 +0000 (23:20 -0500)]
4084: Use assert_text, not assert page_has_text?, to make tests reliable.
Tom Clegg [Wed, 5 Nov 2014 03:54:12 +0000 (22:54 -0500)]
4084: Skip the "inactive pane" optimization when the div is not a tab pane.
Content divs that are _not_ tabbed panes no longer need to remember to
add an "active" flag.
Tom Clegg [Wed, 5 Nov 2014 03:40:48 +0000 (22:40 -0500)]
4084: Fix up whitespace (4-space indent, like the other *.js)
Peter Amstutz [Wed, 5 Nov 2014 02:28:12 +0000 (21:28 -0500)]
3609: Simplify "group" example a bit more.
Peter Amstutz [Wed, 5 Nov 2014 02:05:00 +0000 (21:05 -0500)]
3609: Further improve documentation and code comments.
Tom Clegg [Wed, 5 Nov 2014 00:25:08 +0000 (19:25 -0500)]
4084: Move all pane state into $pane, flatten panes with multiple entry points.
Peter Amstutz [Tue, 4 Nov 2014 21:28:54 +0000 (16:28 -0500)]
3609: Documentation improvements. More error checking on run-command list function evaluation.
Tom Clegg [Sat, 1 Nov 2014 19:45:04 +0000 (15:45 -0400)]
4389: Add debugging tools to dev bundle.
Tom Clegg [Sat, 1 Nov 2014 19:44:23 +0000 (15:44 -0400)]
4389: Fix infinite loop when ownership trail terminates at a self-owning user.
Brett Smith [Tue, 4 Nov 2014 17:38:55 +0000 (12:38 -0500)]
4412: Remaining Ruby clients use :body_object for API requests.
A follow-up from the last commit. Refs #4412.
Brett Smith [Tue, 4 Nov 2014 17:31:00 +0000 (12:31 -0500)]
4412: arv edit consistently uses :body_object in API requests.
Fixes #4412.
Peter Amstutz [Tue, 4 Nov 2014 15:57:37 +0000 (10:57 -0500)]
Merge branch '4031-fix-graph-connections' closes #4031
Peter Amstutz [Tue, 4 Nov 2014 15:35:09 +0000 (10:35 -0500)]
4084: Remove "no-auto-reload" css class hint, tabs no longer reload on click by
default so it is not necessary to have a class to suppress that behavior.
Phil Hodgson [Tue, 4 Nov 2014 15:16:21 +0000 (16:16 +0100)]
Merge branch '3618-column-ordering' closes #3618
Peter Amstutz [Tue, 4 Nov 2014 15:15:16 +0000 (10:15 -0500)]
4031: Fix tests. Move RequestDuck to test_helper.rb so as not to duplicate code.
Tom Clegg [Tue, 4 Nov 2014 14:48:44 +0000 (09:48 -0500)]
Update version dependency to ensure CollectionReader has a normalize() method. refs #3706
Phil Hodgson [Tue, 4 Nov 2014 14:47:11 +0000 (15:47 +0100)]
Merge branch 'master' into 3618-column-ordering
Phil Hodgson [Tue, 4 Nov 2014 13:58:44 +0000 (14:58 +0100)]
3618: accommodate new fixture indexing in pipeline_instance tests (including run-time=0 test)