Peter Amstutz [Tue, 27 May 2014 19:49:37 +0000 (15:49 -0400)]
Merge branch '2751-python-sdk-keep-proxy-support' closes #2751
radhika [Tue, 27 May 2014 15:12:25 +0000 (11:12 -0400)]
Merge branch 'master' into 2767-doc-updates
Tim Pierce [Tue, 27 May 2014 15:06:42 +0000 (11:06 -0400)]
Merge branch '2755-python-sdk-permissions'
Refs #2755.
Tom Clegg [Tue, 27 May 2014 14:44:56 +0000 (10:44 -0400)]
2760: Merge branch '2760-folder-hierarchy' refs #2760
Peter Amstutz [Tue, 27 May 2014 14:43:04 +0000 (10:43 -0400)]
2751: Test tweak to clear settings after changing environment variables.
Tim Pierce [Tue, 27 May 2014 14:38:29 +0000 (10:38 -0400)]
2865: collect garbage after each GET and PUT.
Quick fix for Keep OOM errors: reclaim memory aggressively.
Fixes #2865.
Peter Amstutz [Tue, 27 May 2014 14:36:56 +0000 (10:36 -0400)]
2751: Changed to "except:" to "except Exception:". Refactored environment setup in keep_client_Test to be a bit more robust.
Peter Amstutz [Tue, 27 May 2014 14:23:12 +0000 (10:23 -0400)]
Merge branch 'master' of git.curoverse.com:arvados refs #1885
Peter Amstutz [Tue, 27 May 2014 14:22:38 +0000 (10:22 -0400)]
1885: Tests and bugfixes for -no-get and -no-put options.
Tom Clegg [Tue, 27 May 2014 14:17:33 +0000 (10:17 -0400)]
2760: Merge branch 'master' into 2760-folder-hierarchy
Brett Smith [Mon, 26 May 2014 15:36:11 +0000 (11:36 -0400)]
2863: Remove debugging print from Python KeepClient.
Other tools like crunch-job parse the output of tools like arv-get and
arv-put. Right now crunch-job is saving this debug output in the log
attribute of running jobs, which confuses several other tools like
Workbench.
Closes #2863.
Tim Pierce [Sat, 24 May 2014 18:34:45 +0000 (14:34 -0400)]
2829: add X-Block-Size response header
Responses to successful GET or HEAD requests include an X-Block-Size
header.
radhika [Sat, 24 May 2014 17:38:16 +0000 (13:38 -0400)]
Merge branch 'master' into 2767-doc-updates
Tim Pierce [Sat, 24 May 2014 04:44:06 +0000 (00:44 -0400)]
2755: incorporate code review.
* Unit tests cover all permutations of signature/authorization when
--enforce-permissions=false
* Keep is more forgiving about the structure of locators, permits
locator hints of unknown type (as long as they begin with an uppercase
letter)
* Keep delivers 400 Bad Request for requests that do not match any
route, or are lexically invalid. 404 Not Found only for requests with
a syntactically valid hash not found on disk.
Refs #2755.
Tom Clegg [Fri, 23 May 2014 22:44:35 +0000 (18:44 -0400)]
2760: Merge branch 'master' into 2760-folder-hierarchy
Tom Clegg [Fri, 23 May 2014 21:32:21 +0000 (17:32 -0400)]
2760: Disambiguate "hover" from "selected" style. Do not highlight
non-selectable rows on hover.
Tim Pierce [Wed, 21 May 2014 14:58:18 +0000 (10:58 -0400)]
2755: add support for signed locators in the Python SDK.
* arvados.Keep.put() saves the response body (which may contain a
signed locator) and returns it to the caller.
* arvados.Keep.get() passes the full signed locator to the remote Keep
server. The bare MD5 hash is still used for caching and for
shuffled_service_roots
* run_test_server.run_keep() takes arguments 'blob_signing_key' and
'enforce_permissions', for testing permission signatures in unit
tests.
* test_keep_client: new unit tests for permissions:
- with --enforce-permissions=true:
- GET with a signed locator works
- GET with an unsigned locator fails
- unauthenticated GET fails
- with --enforce-permissions=false:
- GET with a signed locator works
- GET with an unsigned locator works
- unauthenticated GET works
Bug fixes to permission handling in the Keep server:
* Locator hints may appear in any order; be flexible. Parse them in
GetBlockHandler rather than in the REST router.
* Returned locators are terminated with newline (consistent with
Warehouse, and more friendly for human debugging).
* The locator returned from a PUT request always has a size hint.
* The correct Authorization header keyword is "OAuth2", not
"OAuth". D'oh.
* Updated unit tests to accommodate newlines, size hints and OAuth2.
Refs #2755.
Tom Clegg [Fri, 23 May 2014 21:12:33 +0000 (17:12 -0400)]
2760: Merge branch 'master' into 2760-folder-hierarchy
Tom Clegg [Fri, 23 May 2014 21:01:08 +0000 (17:01 -0400)]
2760: Use "My Folders" to indicate the root of my folder hierarchy.
Peter Amstutz [Fri, 23 May 2014 20:47:45 +0000 (16:47 -0400)]
Merge branch 'master' into 2751-python-sdk-keep-proxy-support refs #2751
Peter Amstutz [Fri, 23 May 2014 19:37:57 +0000 (15:37 -0400)]
Merge branch '1885-keep-proxy' closes #1885
Peter Amstutz [Fri, 23 May 2014 18:08:53 +0000 (14:08 -0400)]
1885: Added logging of invalid requests. Added logging when the server list is
update. Improved KeepClient error reporting.
Peter Amstutz [Fri, 23 May 2014 14:27:59 +0000 (10:27 -0400)]
Merge branch 'master' into 1885-keep-proxy refs #1885
Peter Amstutz [Fri, 23 May 2014 14:26:31 +0000 (10:26 -0400)]
1885: Fix bug in not returning from the handler on failed authorization.
Improved logging (which uncovered the previous bug.) Tweaked go.sh and tests.
Peter Amstutz [Thu, 22 May 2014 18:51:56 +0000 (14:51 -0400)]
1885: Made ServiceRoots atomically updatable, so that KeepProxy can poll for
changes in the services list without disrupting any active flows.
Peter Amstutz [Thu, 22 May 2014 17:38:10 +0000 (13:38 -0400)]
Merge branch 'master' into 1885-keep-proxy refs #1885
Peter Amstutz [Thu, 22 May 2014 17:36:58 +0000 (13:36 -0400)]
1885: GET and HEAD through the proxy work correctly now. Added invalid API token test.
Peter Amstutz [Thu, 22 May 2014 15:17:32 +0000 (11:17 -0400)]
1885: Full-stack integration test (api+keep+keepproxy+keepclient) works!
Peter Amstutz [Thu, 22 May 2014 14:45:33 +0000 (10:45 -0400)]
Merge remote-tracking branch 'origin/master' into 1885-keep-proxy refs #1885
Peter Amstutz [Thu, 22 May 2014 14:45:18 +0000 (10:45 -0400)]
1885: Integration test of proxy work in progress.
Peter Amstutz [Wed, 21 May 2014 20:32:23 +0000 (16:32 -0400)]
1885: Stubbed out integration test for proxy
Peter Amstutz [Wed, 21 May 2014 20:14:03 +0000 (16:14 -0400)]
Merge branch '2798-go-keep-client' into 1885-keep-proxy refs #1885
Peter Amstutz [Fri, 23 May 2014 19:27:13 +0000 (15:27 -0400)]
2751: Teaching run_test_server how to run the proxy server for testing. Added -pid option to keep server.
Peter Amstutz [Fri, 23 May 2014 18:16:42 +0000 (14:16 -0400)]
Merge branch '1885-keep-proxy' into 2751-python-sdk-keep-proxy-support
Peter Amstutz [Fri, 23 May 2014 18:08:53 +0000 (14:08 -0400)]
1885: Added logging of invalid requests. Added logging when the server list is
update. Improved KeepClient error reporting.
Tom Clegg [Fri, 23 May 2014 17:17:44 +0000 (13:17 -0400)]
2754: Merge branch '2754-easy-run-pipeline' refs #2754
Tom Clegg [Fri, 23 May 2014 17:15:13 +0000 (13:15 -0400)]
2754: Make default parameter label more explicit.
Peter Amstutz [Fri, 23 May 2014 14:27:59 +0000 (10:27 -0400)]
Merge branch 'master' into 1885-keep-proxy
Peter Amstutz [Fri, 23 May 2014 14:26:31 +0000 (10:26 -0400)]
1885: Fix bug in not returning from the handler on failed authorization.
Improved logging (which uncovered the previous bug.) Tweaked go.sh and tests.
radhika [Fri, 23 May 2014 13:11:21 +0000 (09:11 -0400)]
Merge branch 'master' into 2767-doc-updates
Tom Clegg [Thu, 22 May 2014 23:49:29 +0000 (19:49 -0400)]
2760: Use lambdas instead of defining methods with misleading scope.
Tom Clegg [Thu, 22 May 2014 23:39:22 +0000 (19:39 -0400)]
2754: Fix css selectors in test case.
Tom Clegg [Thu, 22 May 2014 23:19:03 +0000 (19:19 -0400)]
2754: Allow template to specify form label, fix up wording and formatting.
Tom Clegg [Thu, 22 May 2014 22:23:02 +0000 (18:23 -0400)]
Fix crash in jobs.queue API. Add test case.
Peter Amstutz [Thu, 22 May 2014 18:51:56 +0000 (14:51 -0400)]
1885: Made ServiceRoots atomically updatable, so that KeepProxy can poll for
changes in the services list without disrupting any active flows.
Peter Amstutz [Thu, 22 May 2014 17:38:10 +0000 (13:38 -0400)]
Merge branch 'master' into 1885-keep-proxy
Peter Amstutz [Thu, 22 May 2014 17:37:50 +0000 (13:37 -0400)]
Merge branch '2798-go-keep-client' closes #2798
Peter Amstutz [Thu, 22 May 2014 17:36:58 +0000 (13:36 -0400)]
1885: GET and HEAD through the proxy work correctly now. Added invalid API token test.
radhika [Thu, 22 May 2014 15:21:53 +0000 (11:21 -0400)]
Merge branch 'master' into 2767-doc-updates
Peter Amstutz [Thu, 22 May 2014 15:17:32 +0000 (11:17 -0400)]
1885: Full-stack integration test (api+keep+keepproxy+keepclient) works!
Peter Amstutz [Thu, 22 May 2014 14:45:33 +0000 (10:45 -0400)]
Merge remote-tracking branch 'origin/master' into 1885-keep-proxy
Peter Amstutz [Thu, 22 May 2014 14:45:18 +0000 (10:45 -0400)]
1885: Integration test of proxy work in progress.
Tom Clegg [Thu, 22 May 2014 08:27:09 +0000 (04:27 -0400)]
2760: Make editable? follow permissions obtained via groups/folders.
Tom Clegg [Thu, 22 May 2014 00:21:16 +0000 (20:21 -0400)]
2760: Add test case.
Tom Clegg [Thu, 22 May 2014 00:20:54 +0000 (20:20 -0400)]
2760: Refresh permission cache after changing group uuid or owner_uuid.
Tom Clegg [Wed, 21 May 2014 23:17:53 +0000 (19:17 -0400)]
2760: Add "move to a different folder" button to folders#show.
Peter Amstutz [Wed, 21 May 2014 20:35:50 +0000 (16:35 -0400)]
Changed API server to use X-External-Client instead of
X-Keep-Proxy-Required. refs #2776
Tom Clegg [Wed, 21 May 2014 20:32:35 +0000 (16:32 -0400)]
2760: Show folder hierarchy on regular page, not in left nav
Peter Amstutz [Wed, 21 May 2014 20:32:23 +0000 (16:32 -0400)]
1885: Stubbed out integration test for proxy
Peter Amstutz [Wed, 21 May 2014 20:14:03 +0000 (16:14 -0400)]
Merge branch '2798-go-keep-client' into 1885-keep-proxy
Peter Amstutz [Wed, 21 May 2014 20:00:47 +0000 (16:00 -0400)]
Merge branch 'master' into 2798-go-keep-client
Peter Amstutz [Wed, 21 May 2014 20:00:05 +0000 (16:00 -0400)]
2798: Adds client side support for Keep proxy X-Keep-Desired-Replicas and
X-Keep-Replicas-Stored headers, and ARVADOS_KEEP_PROXY environment variable.
Added tests.
Tim Pierce [Wed, 21 May 2014 19:29:54 +0000 (15:29 -0400)]
Merge branch 'master' of git.curoverse.com:arvados
Refs #2755.
Tim Pierce [Wed, 21 May 2014 19:27:46 +0000 (15:27 -0400)]
2755: fix blob signing bug. (refs #2755)
Tim Pierce [Wed, 21 May 2014 18:15:01 +0000 (14:15 -0400)]
Merge branch '2755-api-collection-permissions'
closes #2784, closes #2787
Tim Pierce [Wed, 21 May 2014 17:34:22 +0000 (13:34 -0400)]
2755: incorporate code review
* lib/locator.rb renamed => app/models/locator.rb
* Relaxed Locator.parse! handling of hint content.
* Locator.parse() rescues only from ArgumentError.
* Removed blob_signing_ttl from application.yml.example.
* Collections.show only matches locators that are preceded by a space,
when parsing manifest_text.
Tim Pierce [Mon, 19 May 2014 22:17:29 +0000 (18:17 -0400)]
2755: fix merge conflicts (refs #2755)
Tim Pierce [Mon, 19 May 2014 22:09:18 +0000 (18:09 -0400)]
Merge branch '2755-api-collection-permissions' of git.curoverse.com:arvados into 2755-api-collection-permissions
Refs #2755
Conflicts:
services/api/app/controllers/arvados/v1/collections_controller.rb
services/api/config/application.default.yml
services/api/config/application.yml.example
services/api/test/functional/arvados/v1/collections_controller_test.rb
Brett Smith [Wed, 21 May 2014 19:25:20 +0000 (15:25 -0400)]
Merge branch '2764-wget-collections'
Closes #2764, #2774, #2830.
Brett Smith [Wed, 21 May 2014 15:30:44 +0000 (11:30 -0400)]
2764: UI overhaul to the Collection download page.
Refs #2764, based on feedback.
Peter Amstutz [Tue, 20 May 2014 19:44:59 +0000 (15:44 -0400)]
2764: Fixed active_all_collections scoped token to be able to access
keep_disks. Also some minor code cleanup in FileStreamer.
Peter Amstutz [Tue, 20 May 2014 19:00:42 +0000 (15:00 -0400)]
2764: Fixed scopes_allow_request to use request.request_method (the effective
HTTP method) instead of request.method (the actual HTTP method) because
workbench uses POST even for GET.
Brett Smith [Thu, 15 May 2014 20:38:12 +0000 (16:38 -0400)]
2764: Add wget-friendly Collections file page.
This new route will become the way you share authless Collection links
with others. They can pass it to `wget -r` to download the whole
collection, nicely organized, with nothing extraneous. Since it
doesn't try to load user information or look up related Arvados items,
it can be rendered using an API token with a very narrow scope.
Because wget respects robots.txt, this branch stops using that in
favor of the corresponding <meta> tag. The new view only limits
indexing, so wget can follow the links on the page.
Refs #2764.
Brett Smith [Thu, 15 May 2014 19:54:32 +0000 (15:54 -0400)]
2764: Introduce show_file_links route.
Right now this just takes advantage of the provided reader token, but
we're going to extend it to provide a wget-friendly view.
Brett Smith [Wed, 21 May 2014 19:16:34 +0000 (15:16 -0400)]
2765: Tear out general Workbench reader_tokens support.
Refs #2765. This approach is not tenable in its current form, and the
callbacks are making further development confusing, so I'm getting rid
of them.
Conflicts:
apps/workbench/test/functional/collections_controller_test.rb
Brett Smith [Tue, 20 May 2014 19:15:11 +0000 (15:15 -0400)]
2764: Reset browser session between Workbench integration tests.
Peter and I just debugged an issue where a test was falsely passing
because the session had authorization state in it. This prevents it
from passing.
Brett Smith [Wed, 21 May 2014 17:30:05 +0000 (13:30 -0400)]
2753: Properly close entire Collection file tree in Workbench.
Brett Smith [Tue, 6 May 2014 15:30:58 +0000 (11:30 -0400)]
1904: Make Keep file EPERM test stricter.
Refs #1904. Tom said that we want the security benefits of a 404
result, so make sure that's exactly what we get.
Peter Amstutz [Wed, 21 May 2014 18:46:15 +0000 (14:46 -0400)]
Merge branch '2776-keep-services-table' closes #2776
Peter Amstutz [Wed, 21 May 2014 18:31:22 +0000 (14:31 -0400)]
Merge branch 'master' into 2751-python-sdk-keep-proxy-support
Peter Amstutz [Wed, 21 May 2014 18:31:03 +0000 (14:31 -0400)]
Merge branch 'master' into 2776-keep-services-table
Peter Amstutz [Wed, 21 May 2014 18:29:40 +0000 (14:29 -0400)]
2776: Fixed misspelled accessable->accessible. Thanks Brett! Tweaked
workbench icons for keep services and compute nodes. Removed spurious print
statements. Tighted up definitions of service_host, service_port and
service_ssl_flag in keep_disk model.
Tom Clegg [Wed, 21 May 2014 18:19:21 +0000 (14:19 -0400)]
Remove obsolete secret_token.rb.
Tim Pierce [Wed, 21 May 2014 17:43:23 +0000 (13:43 -0400)]
Merge branch '2770-keep-sigterm' (closes #2770)
Peter Amstutz [Wed, 21 May 2014 17:32:06 +0000 (13:32 -0400)]
2751: merge because git derp.
Peter Amstutz [Wed, 21 May 2014 17:30:28 +0000 (13:30 -0400)]
2751: Added support for keep_services table, can still use keep_disks as a fallback.
Peter Amstutz [Wed, 21 May 2014 17:30:28 +0000 (13:30 -0400)]
2751: Added support for keep_services table, can still use keep_disks as a fallback.
Brett Smith [Wed, 21 May 2014 16:04:00 +0000 (12:04 -0400)]
Merge branch '2753-collection-tree-view'
Closes #2777, #2828, #2753.
Brett Smith [Wed, 21 May 2014 14:27:10 +0000 (10:27 -0400)]
2753: Add space between Workspace file tree buttons and scrollbar.
Brett Smith [Wed, 21 May 2014 14:19:55 +0000 (10:19 -0400)]
2753: Move file tree CSS to collections.css.
Brett Smith [Wed, 21 May 2014 14:17:29 +0000 (10:17 -0400)]
2753: Refactor Collection view to use library CSS.
Brett Smith [Wed, 21 May 2014 14:07:28 +0000 (10:07 -0400)]
2753: Replace Workbench file tree backgrounds with hover effect.
Based on feedback from Tom in refs #2753. I'm still concerned about
users being able to line up buttons with filenames, so the highlight
on :hover is intended to help with that.
Brett Smith [Thu, 15 May 2014 14:55:47 +0000 (10:55 -0400)]
2753: Workbench shows Collection files in a tree.
Brett Smith [Tue, 13 May 2014 21:31:29 +0000 (17:31 -0400)]
2753: Workbench renders "0 bytes" for empty file sizes.
Brett Smith [Mon, 12 May 2014 21:29:55 +0000 (17:29 -0400)]
2753: Add Workbench Collection#files_tree.
Brett Smith [Mon, 12 May 2014 15:21:12 +0000 (11:21 -0400)]
2753: Add tests for CollectionsHelper.file_path.
Brett Smith [Mon, 12 May 2014 14:37:55 +0000 (10:37 -0400)]
2753: Make Collection filenames with existing helper.
This is pure refactoring to make the code more consistent.
Ward Vandewege [Wed, 21 May 2014 15:42:05 +0000 (11:42 -0400)]
Add some basic request logging to Keep.
Peter Amstutz [Wed, 21 May 2014 15:24:04 +0000 (11:24 -0400)]
2798: Updated keep client with buffer/streamer changes.
Peter Amstutz [Wed, 21 May 2014 15:00:21 +0000 (11:00 -0400)]
2798: Renamed internal messaging structs in an attempt to use the word "reader"
slightly less. Refactored tests to reduce redundancy slightly. Added test with large number of concurrent readers. Rewrote "how to use" package comments and wrote a small novel about the "theory of operation".