Peter Amstutz [Tue, 6 May 2014 00:41:45 +0000 (20:41 -0400)]
Merge branch 'master' into origin-2035-arv-mount-tags-folders
Tom Clegg [Mon, 5 May 2014 21:24:10 +0000 (17:24 -0400)]
Fix broken test case.
Ward Vandewege [Mon, 5 May 2014 21:09:43 +0000 (17:09 -0400)]
Merge branch 'master' of git.curoverse.com:arvados
Ward Vandewege [Mon, 5 May 2014 21:06:01 +0000 (17:06 -0400)]
Documentation tweaks:
* Python SDK requires Python 2.7, make that clear up front
* Remove duplicated SDK installation instructions
Tom Clegg [Mon, 5 May 2014 21:02:37 +0000 (17:02 -0400)]
Merge branch '2640-folder-api'
Tom Clegg [Mon, 5 May 2014 21:01:50 +0000 (17:01 -0400)]
Merge branch 'master' into 2640-folder-api
Conflicts:
apps/workbench/app/models/arvados_api_client.rb
Tom Clegg [Mon, 5 May 2014 20:55:19 +0000 (16:55 -0400)]
Raise PermissionDeniedError even more consistently
Peter Amstutz [Mon, 5 May 2014 20:52:28 +0000 (16:52 -0400)]
Merge branch 'master' into 2035-arv-mount-tags-folders
Peter Amstutz [Mon, 5 May 2014 20:49:08 +0000 (16:49 -0400)]
Refactored freshness/updating to be more generic for different virtual
directory types. Added polling based on timeout as an alternative to
websockets. Refactored tests a bit.
Tom Clegg [Mon, 5 May 2014 20:05:22 +0000 (16:05 -0400)]
Raise PermissionDeniedError more consistently
Tom Clegg [Mon, 5 May 2014 20:02:29 +0000 (16:02 -0400)]
Comment mysterious testing code.
Tom Clegg [Mon, 5 May 2014 19:59:44 +0000 (15:59 -0400)]
Add test for links_for + multiple link_classes.
Peter Amstutz [Mon, 5 May 2014 19:27:31 +0000 (15:27 -0400)]
Added websockets support to Python SDK, with integration test. Also built out
runner script for running test server from python.
Brett Smith [Mon, 5 May 2014 19:20:45 +0000 (15:20 -0400)]
Merge branch '1904-workbench-reader-tokens'
Refs #1904. Closes #2663, #2736.
Brett Smith [Mon, 5 May 2014 16:55:29 +0000 (12:55 -0400)]
workbench: Reader tokens show collection files.
Fundamentally, this commit aims to support reader tokens when showing
a file from a Collection. Because this requires changing the token
handling generally, I also took this opportunity to improve error
reporting by checking the request's validity against the API server
before we pipe out to arv-get to render the file.
As a consequence, Workbench now returns a 404 if you request a file
using a token that does not have permission to read the collection.
Maybe this is not the best result, but previously it returned a 422,
so I think this counts as an improvement.
Brett Smith [Mon, 5 May 2014 14:54:53 +0000 (10:54 -0400)]
workbench: Add initial reader tokens support.
The API server recently gained support for reader tokens, which
optionally supplement the user's permissions for read-only
operations. This commit extends Workbench to pass on reader tokens
for general index and show operations.
Brett Smith [Wed, 30 Apr 2014 14:38:08 +0000 (10:38 -0400)]
workbench: Add Collections controller tests.
Working to establish a baseline of behavior before I go mucking with
this.
Brett Smith [Thu, 1 May 2014 14:42:33 +0000 (10:42 -0400)]
workbench: Remove trailing whitespace.
Tim Pierce [Mon, 5 May 2014 18:03:10 +0000 (14:03 -0400)]
Merge branch '2328-keep-permission-hints'
Tim Pierce [Mon, 5 May 2014 17:52:06 +0000 (13:52 -0400)]
Resolve code review (closes #2328)
Fix doc comments and argument names for the expiry timestamp arguments
for SignLocator and makePermSignature.
Peter Amstutz [Mon, 5 May 2014 14:28:46 +0000 (10:28 -0400)]
Finished implementing FuseTagsTest, fixed bugs in arv-mount, test passes.
Tom Clegg [Mon, 5 May 2014 10:08:30 +0000 (06:08 -0400)]
Behave nicer if supplied owner_uuid is not a valid uuid at all.
Tom Clegg [Sun, 4 May 2014 18:49:11 +0000 (14:49 -0400)]
Do not try to record object_owner_uuid during earlier migrations.
Tom Clegg [Sun, 4 May 2014 01:25:19 +0000 (21:25 -0400)]
Merge branch 'master' into 2640-folder-api
Tom Clegg [Sun, 4 May 2014 01:22:17 +0000 (21:22 -0400)]
Fix crashing "grant access to my own object" permission check.
Tom Clegg [Sun, 4 May 2014 01:08:18 +0000 (21:08 -0400)]
Prevent ownership cycles.
Tom Clegg [Sat, 3 May 2014 00:00:04 +0000 (20:00 -0400)]
Improve code formatting
Tom Clegg [Fri, 2 May 2014 23:45:16 +0000 (19:45 -0400)]
Return all links if link_class is not provided. Add docs.
Tom Clegg [Fri, 2 May 2014 23:41:23 +0000 (19:41 -0400)]
Return empty list if no "links" supplied in api response. Add tests.
Tim Pierce [Fri, 2 May 2014 22:26:08 +0000 (18:26 -0400)]
Incorporating code review. (refs #2328)
Peter Amstutz [Fri, 2 May 2014 21:05:59 +0000 (17:05 -0400)]
Created a seperate arvados-fuse-driver package.
Tom Clegg [Fri, 2 May 2014 20:27:18 +0000 (16:27 -0400)]
Merge branch '2223-repo-owner-admin-perms'
closes #2223
Peter Amstutz [Fri, 2 May 2014 20:17:07 +0000 (16:17 -0400)]
Merge branch 'master' into 2035-arv-mount-tags-folders
Peter Amstutz [Fri, 2 May 2014 20:16:16 +0000 (16:16 -0400)]
Merge branch 'query-select-distinct'
Peter Amstutz [Fri, 2 May 2014 20:10:10 +0000 (16:10 -0400)]
Restored support for old-style 'order' strings and added test. Clarified
documentation for 'distinct' as to the default behavior.
Peter Amstutz [Fri, 2 May 2014 19:54:45 +0000 (15:54 -0400)]
Fixed botched 'distinct' parameter, now is a boolean instead of taking a
column. New tests. Also changed syntax of 'order' to take a JSON array for
consistency with 'filters' and 'select'.
Tim Pierce [Fri, 2 May 2014 19:09:46 +0000 (15:09 -0400)]
Update docs. (refs #2328)
Tim Pierce [Fri, 2 May 2014 19:05:07 +0000 (15:05 -0400)]
Added permission helper functions.
GeneratePerms returns a string representing the signed permission hint
for the blob identified by blob_hash, api_token and timestamp.
SignLocator takes a blob_locator, an api_token and a timestamp, and
returns a signed locator string.
VerifySignature returns true if the signature on the signed_locator can
be verified using the given api_token.
Refs #2328.
Peter Amstutz [Fri, 2 May 2014 18:03:46 +0000 (14:03 -0400)]
Added run_test_server helper module for Python SDK that runs API server in test
mode and provides access to fixtures and API tokens.
Tom Clegg [Fri, 2 May 2014 16:19:42 +0000 (12:19 -0400)]
Take into account owner_uuid and is_admin when exporting repository permissions.
Peter Amstutz [Fri, 2 May 2014 15:09:46 +0000 (11:09 -0400)]
Refactored directory handling a bit in fuse to better accomodate other virtual
directory types, and added virtual directories for tags (untested). Existing
tests pass, need to write new tests for tag directories.
Tom Clegg [Fri, 2 May 2014 14:32:52 +0000 (10:32 -0400)]
Fix crash if item has no name (backported from 1970-folder-view)
Peter Amstutz [Fri, 2 May 2014 14:12:25 +0000 (10:12 -0400)]
Fix for interaction between 'select' and 'order' (SQL requires that order
fields show up in select when doing select distinct; readable_by does 'select distinct' by default to avoid duplicate rows).
Tom Clegg [Fri, 2 May 2014 02:20:28 +0000 (22:20 -0400)]
Name links do not need to be owned by tail_uuid.
Tom Clegg [Thu, 1 May 2014 22:01:37 +0000 (18:01 -0400)]
Add unique and valid name constraints.
Tom Clegg [Thu, 1 May 2014 21:43:50 +0000 (17:43 -0400)]
Fix wrong infixes in fixture uuids.
Tom Clegg [Thu, 1 May 2014 21:41:29 +0000 (17:41 -0400)]
Merge branch 'master' into 2640-folder-api
Peter Amstutz [Thu, 1 May 2014 20:26:09 +0000 (16:26 -0400)]
Merge remote-tracking branch 'origin/master' into 2035-arv-mount-tags-folders
Conflicts:
services/api/app/controllers/application_controller.rb
Peter Amstutz [Thu, 1 May 2014 18:54:51 +0000 (14:54 -0400)]
Added 'select' and 'distinct' parameters to discovery document. Improved
select parameter to parse strings as json.
Tom Clegg [Thu, 1 May 2014 18:38:46 +0000 (14:38 -0400)]
Use partial unique index for name links.
Tom Clegg [Thu, 1 May 2014 18:38:15 +0000 (14:38 -0400)]
Fix log permission case broken in merge.
Tom Clegg [Thu, 1 May 2014 18:26:40 +0000 (14:26 -0400)]
Merge branch 'master' into 2640-folder-api
Conflicts:
services/api/app/controllers/application_controller.rb
services/api/app/models/arvados_model.rb
Peter Amstutz [Thu, 1 May 2014 17:16:10 +0000 (13:16 -0400)]
Merge branch 'master' of git.clinicalfuture.com:arvados
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Peter Amstutz [Thu, 1 May 2014 17:15:54 +0000 (13:15 -0400)]
Another go at migration, uses batched loading and transactions, should have
improved performance.
Tom Clegg [Thu, 1 May 2014 17:11:40 +0000 (13:11 -0400)]
Merge branch '2328-signatures-for-integration-testing'
refs #2328
Tom Clegg [Thu, 1 May 2014 17:11:22 +0000 (13:11 -0400)]
Add partial unique index
Tom Clegg [Thu, 1 May 2014 16:50:06 +0000 (12:50 -0400)]
Add test cases that produce predictable signatures with fixed expiry times.
Tom Clegg [Thu, 1 May 2014 16:03:02 +0000 (12:03 -0400)]
Put back missing parentheses.
Peter Amstutz [Thu, 1 May 2014 14:06:19 +0000 (10:06 -0400)]
Changed Log.all.each to Log.find_each because Log.all loads all records (!) and
Log.find_each loads records in batches. Hopefully this will enable migration
to run without being killed.
Peter Amstutz [Thu, 1 May 2014 12:49:11 +0000 (08:49 -0400)]
Fixed middleware customization so that it doesn't assume the presence or
location of ActionDispatch::Static.
Peter Amstutz [Wed, 30 Apr 2014 20:55:06 +0000 (16:55 -0400)]
Merge branch 'master' of git.clinicalfuture.com:arvados
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Peter Amstutz [Wed, 30 Apr 2014 20:54:40 +0000 (16:54 -0400)]
Merge branch 'origin-2608-websocket-event-bus-alt2'
Conflicts:
services/api/app/models/arvados_model.rb
services/api/test/test_helper.rb
Tim Pierce [Wed, 30 Apr 2014 20:22:03 +0000 (16:22 -0400)]
Merge branch '2620-keep-serialize-io' (closes #2620)
Tom Clegg [Wed, 30 Apr 2014 18:14:15 +0000 (14:14 -0400)]
Merge branch 'master' into 2640-folder-api
Tim Pierce [Wed, 30 Apr 2014 17:49:08 +0000 (13:49 -0400)]
Replaced KeepVolumes with a VolumeManager interface.
A VolumeManager interface may be used to set policy for writing to a set
of Keep volumes. The sole implementation at present is RRVolumeManager,
which implements simple round-robin scheduling; other implementations
could include a manager which selects the least-loaded disk first, the
fastest one, the one with the fewest pending writes, etc. etc.
Refs #2620
Brett Smith [Wed, 30 Apr 2014 17:31:38 +0000 (13:31 -0400)]
Merge branch '1904-api-reader-tokens'
Closes #2702, #2707.
Brett Smith [Tue, 29 Apr 2014 21:41:48 +0000 (17:41 -0400)]
api: Accept JSON-formatted reader token array.
Brett Smith [Wed, 30 Apr 2014 17:26:15 +0000 (13:26 -0400)]
api: Introduce reader_tokens for extra access.
reader_tokens are API tokens whose read permissions will be added to
the primary API token's. For actions that only read resources, like
:index and :show, you can now omit the API token as long as you
provide at least one reader_token.
This allows users to get access to one-off resources without
interrupting their primary session. For example, Workbench will use
it to access Collections shared via secret link.
Brett Smith [Tue, 29 Apr 2014 14:20:28 +0000 (10:20 -0400)]
api: More consistency in test helper methods.
I keep accidentally rewriting the methods in ArvadosTestHelper, so I'm
putting them in one module loaded for all tests so I can use them
consistently.
Peter Amstutz [Wed, 30 Apr 2014 15:40:09 +0000 (11:40 -0400)]
Merge remote-tracking branch 'origin/master' into origin-2608-websocket-event-bus-alt2
Conflicts:
services/api/app/controllers/application_controller.rb
services/api/app/controllers/arvados/v1/schema_controller.rb
services/api/db/schema.rb
Peter Amstutz [Wed, 30 Apr 2014 15:26:58 +0000 (11:26 -0400)]
Moved message handling out to a separate method for clarity in eventbus.
Fixing name mismatch /websockets => /websocket in configuration
Added guards to various tests to ensure no more messages are processed after
the test is supposed to be done.
Peter Amstutz [Wed, 30 Apr 2014 14:56:22 +0000 (10:56 -0400)]
Short-circuts #readable_by when the user is admin.
Peter Amstutz [Wed, 30 Apr 2014 14:56:04 +0000 (10:56 -0400)]
Unsubscribe message now takes filter definition instead of filter_id, reducing
the state both the client and server have to maintain in order to support
unsubscribing. Added code comments and updated tests.
Peter Amstutz [Wed, 30 Apr 2014 14:54:37 +0000 (10:54 -0400)]
Added code comments.
Peter Amstutz [Wed, 30 Apr 2014 14:53:35 +0000 (10:53 -0400)]
Now supports both websocket integrated (ARVADOS_WEBSOCKETS defined) and
websocket-only (ARVADOS_WEBSOCKETS=ws-only) server modes. Added comment to
application.yml.example about setting websocket_address when running in
websocket-only mode.
Tom Clegg [Wed, 30 Apr 2014 07:00:16 +0000 (03:00 -0400)]
Fix route name in nodes.create, add basic functional test.
Peter Amstutz [Tue, 29 Apr 2014 21:10:37 +0000 (17:10 -0400)]
Adding more code documentation.
Tom Clegg [Tue, 29 Apr 2014 21:00:20 +0000 (17:00 -0400)]
Rename owned_items to contents, remove user method, update docs.
Brett Smith [Tue, 29 Apr 2014 20:28:50 +0000 (16:28 -0400)]
api: Make JSON the default response format.
Rails assumes that the request should be sent in HTML unless a format
parameter or the Accept header expressly overrides that. This change
makes JSON the default unless the request specified it would like
HTML.
Peter Amstutz [Tue, 29 Apr 2014 20:14:23 +0000 (16:14 -0400)]
Added support for :distinct to application controller. User can now specify a
column and only get back rows with distinct values of that column.
Tom Clegg [Tue, 29 Apr 2014 20:01:20 +0000 (16:01 -0400)]
Merge branch '0000-ruby-client-config'
Peter Amstutz [Tue, 29 Apr 2014 19:35:23 +0000 (15:35 -0400)]
Added ability to select which fields to return, instead of always returning all fields.
Tim Pierce [Tue, 29 Apr 2014 19:24:03 +0000 (15:24 -0400)]
Incorporating code review comments (refs #2620)
* use filepath.Join to build file paths instead of fmt.Sprintf
* use ioutil.ReadAll to ensure that we read the whole file
Tom Clegg [Tue, 29 Apr 2014 17:56:21 +0000 (13:56 -0400)]
Merge branch '1969-persistent-switch'
closes #1969
Tom Clegg [Tue, 29 Apr 2014 17:02:28 +0000 (13:02 -0400)]
Replace radio button group with a single click-to-toggle button.
Tom Clegg [Tue, 29 Apr 2014 15:58:33 +0000 (11:58 -0400)]
Merge branch 'master' into 1969-persistent-switch
Tom Clegg [Tue, 29 Apr 2014 15:10:11 +0000 (11:10 -0400)]
Fix error reporting, catch "=foo" in config file, add dev doc.
Tom Clegg [Tue, 29 Apr 2014 04:37:53 +0000 (00:37 -0400)]
Skip UserAgreement in owned_items. They are just collections again.
Tom Clegg [Tue, 29 Apr 2014 00:10:17 +0000 (20:10 -0400)]
Fix patch_paging_vars args.
Tom Clegg [Mon, 28 Apr 2014 23:31:48 +0000 (19:31 -0400)]
Convert joins to subqueries to fix duplicates in owned_items
Tom Clegg [Mon, 28 Apr 2014 19:53:31 +0000 (15:53 -0400)]
Expose names for owned_items as list_response.name_for() in Workbench
Brett Smith [Mon, 28 Apr 2014 18:07:02 +0000 (14:07 -0400)]
Merge branch '1904-object-scopes'
Closes #2642, #2662, #2682.
Brett Smith [Mon, 28 Apr 2014 17:01:18 +0000 (13:01 -0400)]
api: Support filters in API client auths index.
Per comments on Refs #1904. filters is generally the preferred way to
do searching now. I maintained existing limits on what can be
searched with this method.
Brett Smith [Wed, 23 Apr 2014 20:15:37 +0000 (16:15 -0400)]
api: Support scope searching in API token index.
Brett Smith [Mon, 28 Apr 2014 18:01:53 +0000 (14:01 -0400)]
api: Migrate VM auth scopes to new system.
VirtualMachinesController was the only one doing anything special with
API token scopes before we provided the more general-purpose system.
This commit removes its specialized code, and provides a database
migration to convert those specialized scopes to the general-purpose
schema.
Brett Smith [Tue, 22 Apr 2014 21:45:46 +0000 (17:45 -0400)]
api: Introduce path-based API token scopes.
Refs #1904, #2662 for background discussion.
Brett Smith [Tue, 22 Apr 2014 18:44:34 +0000 (14:44 -0400)]
api: Test VM login scopes.
The virtual machine controller is the only one doing anything
interesting with API token scopes right now. I'm writing this test
for that functionality to make sure it stays effective through
refactoring.
Tom Clegg [Mon, 28 Apr 2014 15:15:50 +0000 (11:15 -0400)]
Use name links instead of permission links to include objects in groups.
Brett Smith [Mon, 28 Apr 2014 15:03:22 +0000 (11:03 -0400)]
api: Shorten name of authorized_keys index.
I had trouble running the new TimestampsNotNull migration, because I
ran into the index name limit described in the migration comments.
Running this migration first worked around the problem for me, and I
hope it saves others from tripping over it too.
Tim Pierce [Fri, 25 Apr 2014 22:04:03 +0000 (18:04 -0400)]
Merge branch 'master' into 2620-keep-serialize-io