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 [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 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)
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.
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.
Tom Clegg [Tue, 29 Apr 2014 20:01:20 +0000 (16:01 -0400)]
Merge branch '0000-ruby-client-config'
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.
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.
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
Tim Pierce [Fri, 25 Apr 2014 21:50:16 +0000 (17:50 -0400)]
Corrected name for volume_test.go.
Tim Pierce [Fri, 25 Apr 2014 21:47:15 +0000 (17:47 -0400)]
Reorganized Volume code for easier comprehension.
Refs #2620
Brett Smith [Fri, 25 Apr 2014 21:33:32 +0000 (17:33 -0400)]
workbench: Add pipeline instance tag render test.
Sasha just tickled this, so we want to prevent future recurrences.
Tim Pierce [Fri, 25 Apr 2014 21:23:40 +0000 (17:23 -0400)]
Make sure an IOHandler is running when -serialize is on.
Use MakeUnixVolume to create new UnixVolumes, to ensure that an
IOHandler is started whenever necessary. (refs #2620)
Tom Clegg [Fri, 25 Apr 2014 21:10:12 +0000 (17:10 -0400)]
Fix crash when tags exist for items offered in selection widget.
Tim Pierce [Fri, 25 Apr 2014 20:58:32 +0000 (16:58 -0400)]
Cleaned up unit tests. (refs #2620)
Added a MockVolume implementation to use in unit tests for the
Keep front-end handlers.
Simplified IsValidLocator and keep_test.go:setup code.
Tim Pierce [Fri, 25 Apr 2014 20:58:32 +0000 (16:58 -0400)]
Cleaned up unit tests. (refs #2620)
Added a MockVolume implementation to use in unit tests for the
Keep front-end handlers.
Simplified IsValidLocator and keep_test.go:setup code.
Tom Clegg [Fri, 25 Apr 2014 20:53:13 +0000 (16:53 -0400)]
Merge branch 'master' into 1969-persistent-switch
Tom Clegg [Fri, 25 Apr 2014 20:42:40 +0000 (16:42 -0400)]
Increase contrast between active/inactive sides of toggle switch.
Tom Clegg [Fri, 25 Apr 2014 20:17:48 +0000 (16:17 -0400)]
Add tests for persistent/cache switch.
Peter Amstutz [Fri, 25 Apr 2014 19:44:47 +0000 (15:44 -0400)]
Merge branch 'master' into origin-2608-websocket-event-bus-alt2
Peter Amstutz [Fri, 25 Apr 2014 19:44:29 +0000 (15:44 -0400)]
Bugfix. Objects returned by owned_items are now sorted by uuid in order to get
a stable sort order when paging with limit and offset.
Peter Amstutz [Fri, 25 Apr 2014 19:40:54 +0000 (15:40 -0400)]
Resolving application_controller.rb merge conflicts, tests pass.
Tom Clegg [Fri, 25 Apr 2014 17:26:43 +0000 (13:26 -0400)]
Merge branch 'master' into 1969-persistent-switch
Conflicts:
services/api/app/controllers/application_controller.rb
Tom Clegg [Fri, 25 Apr 2014 16:56:02 +0000 (12:56 -0400)]
Merge branch '2505-update-docs'
refs #2505
Conflicts:
doc/api/methods/groups.html.textile.liquid
doc/api/methods/users.html.textile.liquid
doc/api/schema/Group.html.textile.liquid
Tom Clegg [Fri, 25 Apr 2014 15:54:53 +0000 (11:54 -0400)]
Add UUIDs in TR tags so automated tests can find them.
Peter Amstutz [Fri, 25 Apr 2014 15:25:03 +0000 (11:25 -0400)]
Merge remote-tracking branch 'origin/master' into origin-2608-websocket-event-bus-alt2
Conflicts:
services/api/app/controllers/application_controller.rb
services/api/db/schema.rb
services/api/test/test_helper.rb
Peter Amstutz [Fri, 25 Apr 2014 15:19:22 +0000 (11:19 -0400)]
Added tests, especially for error handling behavior. Fixed bugs found by tests.
Tom Clegg [Fri, 25 Apr 2014 14:07:36 +0000 (10:07 -0400)]
Merge branch '2640-folder-api'
refs #2640
Conflicts:
services/api/app/controllers/application_controller.rb
services/api/config/routes.rb
Tom Clegg [Fri, 25 Apr 2014 13:53:12 +0000 (09:53 -0400)]
Remove "Admin Guide" link from left nav.
Tom Clegg [Fri, 25 Apr 2014 00:15:48 +0000 (20:15 -0400)]
Untabify.
Tom Clegg [Fri, 25 Apr 2014 00:14:28 +0000 (20:14 -0400)]
Add persistent/cache toggle to collections table on dashboard.
Tom Clegg [Fri, 25 Apr 2014 00:06:23 +0000 (20:06 -0400)]
Remove unused tutorial_group and tutorial_links queries.
Tom Clegg [Fri, 25 Apr 2014 00:02:33 +0000 (20:02 -0400)]
Fix s/about/~/ substitution on dashboard.
Tom Clegg [Thu, 24 Apr 2014 23:52:09 +0000 (19:52 -0400)]
Add persistent/cache toggle to collections#show page.
Tom Clegg [Thu, 24 Apr 2014 23:22:33 +0000 (19:22 -0400)]
Move persistent/cache toggle into a partial.
Tim Pierce [Thu, 24 Apr 2014 22:02:49 +0000 (18:02 -0400)]
Added -serialize flag.
Added IORequest and IOResponse types for communicating I/O
requests over channels with a goroutine.
New IOHandler method on UnixVolume. IOHandler receives requests on a
command channel, handles them, and delivers responses. Whenever a
UnixVolume is created with a non-nil queue, an IOHandler must be started
to handle its requests.
UnixVolume methods Get and Put now handle external I/O requests. These
methods serialize I/O requests if serialization is enabled for that
volume; otherwise they call Read and Write directly.
New unit tests: TestGetSerialized and TestPutSerialized.
Refs #2620.
Tom Clegg [Thu, 24 Apr 2014 21:52:56 +0000 (17:52 -0400)]
Add persistent/cache switch to collections index page.
Misha Zatsman [Thu, 24 Apr 2014 21:01:30 +0000 (21:01 +0000)]
Fixing indentation. Closes #2688
Misha Zatsman [Thu, 24 Apr 2014 20:42:42 +0000 (20:42 +0000)]
Merge branch '2612-workbench-displays-user-storage'
closes #2612
Misha Zatsman [Thu, 24 Apr 2014 20:33:39 +0000 (20:33 +0000)]
Fixed indentation.
Misha Zatsman [Thu, 24 Apr 2014 20:12:53 +0000 (20:12 +0000)]
Merge branch 'master' of git.curoverse.com:arvados into 2612-workbench-displays-user-storage
Misha Zatsman [Thu, 24 Apr 2014 20:11:49 +0000 (20:11 +0000)]
Added link to storage page, replaced tabs with spaces.
Peter Amstutz [Thu, 24 Apr 2014 20:04:59 +0000 (16:04 -0400)]
Wrapped channel callback in exception handler.
Peter Amstutz [Thu, 24 Apr 2014 20:03:21 +0000 (16:03 -0400)]
Websocket tests now use database cleaner instead of ActiveRecord's
transactional fixtures because the transaction needs to commit in order for
NOTIFY/LISTEN to work. Fixed 'log' -> 'logs' table names in eventbus.rb.
First test for publishing an actual database change works.
Tom Clegg [Thu, 24 Apr 2014 19:37:45 +0000 (15:37 -0400)]
Fix & test edge cases (no script_parameters), fix pipeline instance fixture UUIDs
Tom Clegg [Thu, 24 Apr 2014 19:05:51 +0000 (15:05 -0400)]
Merge branch '2409-remove-unused-controllers'
closes #2409
Peter Amstutz [Thu, 24 Apr 2014 18:58:23 +0000 (14:58 -0400)]
Added websocket first tests for connecting and checking API token.
Tom Clegg [Thu, 24 Apr 2014 16:40:39 +0000 (12:40 -0400)]
Add detail about what script_version should look like.
Peter Amstutz [Thu, 24 Apr 2014 15:32:42 +0000 (11:32 -0400)]
Added test runner for websocket tests. Requires passenger standalone to be
installed.
Tom Clegg [Thu, 24 Apr 2014 14:40:59 +0000 (10:40 -0400)]
Fix admin user setup instructions, add some missing "bundle exec",
remove unnecessary "Create an API token" section.
Peter Amstutz [Thu, 24 Apr 2014 13:14:01 +0000 (09:14 -0400)]
Fixed bug whereby readable_by could return duplicate rows if there is more than
one permission granting the ability to read the row.
Reorganized readable_by query a bit to make it easier to follow.
Added test for ownership and permission links when reading entries in the logs table.
Tim Pierce [Thu, 24 Apr 2014 02:35:58 +0000 (22:35 -0400)]
Updated UnixVolume unit tests (refs #2620).
Tim Pierce [Thu, 24 Apr 2014 02:32:47 +0000 (22:32 -0400)]
Moved the MD5 verification check back to GetBlock.
Policy tests such as checksumming belong in the Keep front end. The back
end should be limited to moving data in and out of a volume. (refs #2620)
Tom Clegg [Thu, 24 Apr 2014 01:02:07 +0000 (21:02 -0400)]
Check sanity when applying filters, and provide useful error messages.
Tom Clegg [Wed, 23 Apr 2014 23:28:20 +0000 (19:28 -0400)]
Remove excess controllers and routes. Add tests to detect accidental future additions.
Tom Clegg [Wed, 23 Apr 2014 22:35:48 +0000 (18:35 -0400)]
Improve examples, explanations, typography, tests
Tim Pierce [Wed, 23 Apr 2014 22:09:24 +0000 (18:09 -0400)]
Added UnixVolume unit tests. (refs #2620)
Tom Clegg [Wed, 23 Apr 2014 21:31:14 +0000 (17:31 -0400)]
Merge branch 'master' into 2505-update-docs
Conflicts:
.gitignore
Misha Zatsman [Wed, 23 Apr 2014 21:20:57 +0000 (21:20 +0000)]
Added row to display totals.
Tom Clegg [Wed, 23 Apr 2014 21:06:51 +0000 (17:06 -0400)]
Merge branch 'master' of git.curoverse.com:arvados into 2640-folder-api
Conflicts:
services/api/db/schema.rb
services/api/test/test_helper.rb
Tom Clegg [Wed, 23 Apr 2014 21:00:39 +0000 (17:00 -0400)]
Rename jresponse test helper to json_response.
Misha Zatsman [Wed, 23 Apr 2014 20:54:45 +0000 (20:54 +0000)]
Merge branch 'master' of git.curoverse.com:arvados into 2612-workbench-displays-user-storage
Misha Zatsman [Wed, 23 Apr 2014 20:54:01 +0000 (20:54 +0000)]
Shortened date display, put long date view in mouseover text.
Tom Clegg [Wed, 23 Apr 2014 20:45:21 +0000 (16:45 -0400)]
Support filters=[["attr","=",nil]]
Tom Clegg [Wed, 23 Apr 2014 20:39:03 +0000 (16:39 -0400)]
Add tests, rename include_indirect to _linked, improve wording in
docs, improve offset/limit validation
Tom Clegg [Wed, 23 Apr 2014 20:36:41 +0000 (16:36 -0400)]
Add explanation comments to assertions.
Misha Zatsman [Wed, 23 Apr 2014 20:14:38 +0000 (20:14 +0000)]
Made sizes human readable, added measurement date column.
radhika chippada [Wed, 23 Apr 2014 19:01:41 +0000 (15:01 -0400)]
Story 2352: Adding state and components_summary is completed.
radhika chippada [Wed, 23 Apr 2014 18:36:06 +0000 (14:36 -0400)]
Merge branch 'master' into 2352-phased-pipeline-instance-state
Peter Amstutz [Wed, 23 Apr 2014 17:36:16 +0000 (13:36 -0400)]
Added teardown to all tests which resets Thread.current[:user] and friends to
nil. Fixed one faulty test that turned up as a result of this change.