Peter Amstutz [Thu, 11 Sep 2014 13:02:14 +0000 (09:02 -0400)]
Merge branch 'master' into 3187-start-finish-timestamps-tasks-pipelines
Brett Smith [Wed, 10 Sep 2014 21:00:21 +0000 (17:00 -0400)]
Prevent PySDK CollectionReader from sending UUIDs to Keep.
No issue #. I tickled this while I was working on #3147. Ward saw
the apparent symptom come up in a Job log, so I'm pushing the fix at
his request. I have a test prepared in my branch, along with a bunch
of test infrastructure.
Brett Smith [Wed, 10 Sep 2014 18:22:01 +0000 (14:22 -0400)]
3846: Improve timeout handling in PySDK KeepClient.
* Catch socket errors (including timeouts) and treat them as
transient with regard to retry logic.
* Increase the default timeout to 5 minutes. Given how long it can
take to PUT 64MiB to a proxy and wait for two servers to return
success, this seems like a reasonable default. Future improvements
could set different timeouts based on the request type and whether
or not we're talking to a proxy.
Closes #3846.
Brett Smith [Wed, 10 Sep 2014 16:39:58 +0000 (12:39 -0400)]
3842: Keep::Manifest concatenates file information from manifest.
The previous implementation failed to consider the possibility that
file information would be spread across multiple lines of a manifest.
This would cause, e.g., the same file to be yielded many times from
each_file.
This requirement makes it impossible to return file size information
without parsing the entire manifest. Because of that, I have reworked
the Ruby SDK API so that method names are more consistent with their
performance characteristics. I have also added some methods to do
some basic file existence checking that do not require parsing the
whole manifest.
Closes #3842. Refs #3720.
Peter Amstutz [Tue, 9 Sep 2014 19:39:55 +0000 (15:39 -0400)]
3187: Record started_at and finished_at for tasks and pipelines.
Brett Smith [Tue, 9 Sep 2014 19:16:22 +0000 (15:16 -0400)]
#3830: Make crunch-job's git calls more robust.
* Check git's exit status and only continue on 0.
* Log git's exit status after optional calls.
* Always log the resolved commit hash when it's found.
Hopefully this will prevent a recurrence of refs #3830, or help rule
out some possibilities if it does happen. Tested by hand on 4xphq.
Peter Amstutz [Tue, 9 Sep 2014 18:43:29 +0000 (14:43 -0400)]
3187: Migration to add started_at and finished_at to job_tasks and pipeline_instances.
Peter Amstutz [Tue, 9 Sep 2014 15:58:12 +0000 (11:58 -0400)]
Merge branch '3453-arv-list-docker-images' closes #3453, #3472, refs #3125
Peter Amstutz [Tue, 9 Sep 2014 15:53:48 +0000 (11:53 -0400)]
3453: Rename check_project_exists to desired_project_uuid. Now raises and
catches distinct apiclient.errors.Error, ValueError errors for project not
found or invalid uuid.
Peter Amstutz [Tue, 9 Sep 2014 13:25:27 +0000 (09:25 -0400)]
Merge branch '3586-job-priority' closes #3586
Peter Amstutz [Mon, 8 Sep 2014 20:56:51 +0000 (16:56 -0400)]
Merge branch 'master' into 3586-job-priority closes #3586
Peter Amstutz [Mon, 8 Sep 2014 20:55:47 +0000 (16:55 -0400)]
Merge branch '3644-arv-mount-projects' closes #3644
Peter Amstutz [Mon, 8 Sep 2014 20:54:49 +0000 (16:54 -0400)]
3453: Refactored arv-put to remove support for name links, correctly use
ensure_name_unique to prevent name collisions. arv-keepdocker should now
correctly handle cases where the user provides a image hash instead of
repository/tag. Fixed tests.
Peter Amstutz [Mon, 8 Sep 2014 19:54:35 +0000 (15:54 -0400)]
3644: Update tests broken by merge
Tim Pierce [Mon, 8 Sep 2014 19:47:54 +0000 (15:47 -0400)]
3823: bug fixes for arvados-bcbio-nextgen.py
Refs #3823
Peter Amstutz [Mon, 8 Sep 2014 19:37:55 +0000 (15:37 -0400)]
3644: Moved some common regex patterns into SDK
Peter Amstutz [Mon, 8 Sep 2014 19:07:05 +0000 (15:07 -0400)]
Merge branch 'master' into 3644-arv-mount-projects
Peter Amstutz [Mon, 8 Sep 2014 19:06:33 +0000 (15:06 -0400)]
3644: Restore 'tag' tests and add 'SharedDirectory' and 'HomeDirectory' tests.
All tests should pass now.
Tim Pierce [Mon, 8 Sep 2014 18:06:43 +0000 (14:06 -0400)]
Merge branch '3663-collection-reader-performance'
Closes #3663.
Peter Amstutz [Mon, 8 Sep 2014 14:56:19 +0000 (10:56 -0400)]
3453: Add ensure_unique_name=True to collection create.
Peter Amstutz [Mon, 8 Sep 2014 14:53:52 +0000 (10:53 -0400)]
Merge branch 'master' into 3453-arv-list-docker-images
Peter Amstutz [Mon, 8 Sep 2014 14:53:32 +0000 (10:53 -0400)]
Added create#ensure_unique_name to discovery document. "Add a subproject"
button now uses "ensure_unique_name" to avoid errors when the user creates more
than one project called "New project". refs #3822
Peter Amstutz [Mon, 8 Sep 2014 14:43:49 +0000 (10:43 -0400)]
3453: Create links and collection objects in the specified project, even if
the docker image has already been uploaded to some other project.
Peter Amstutz [Fri, 5 Sep 2014 21:02:20 +0000 (17:02 -0400)]
Updated Gemfile again with published package version. refs #3822
Peter Amstutz [Fri, 5 Sep 2014 20:52:59 +0000 (16:52 -0400)]
Merge branch '3822-ensure-unique-names' refs #3822
Conflicts:
services/api/Gemfile
services/api/Gemfile.lock
Peter Amstutz [Fri, 5 Sep 2014 20:48:25 +0000 (16:48 -0400)]
3822: Updated Gemfile
Peter Amstutz [Fri, 5 Sep 2014 20:46:26 +0000 (16:46 -0400)]
3822: Fixed use of string instead of symbol in hash, added missing list separator.
Peter Amstutz [Fri, 5 Sep 2014 20:23:38 +0000 (16:23 -0400)]
3822: Added 'ensure_unique_name' option to #create method for API server to
choose a unique name when there is a name collision in the database.
arv-run-pipeline-instance checks to see if there is an output file with the
same name and contents, and uses 'ensure_unique_name' when creating collection.
Ward Vandewege [Fri, 5 Sep 2014 17:18:28 +0000 (13:18 -0400)]
Replace all remaining references to Clinical Future with Curoverse.
no issue #
Brett Smith [Fri, 5 Sep 2014 15:57:07 +0000 (11:57 -0400)]
3720: Update arvados Gem versions.
Gemfiles need to be in sync with the latest commit on master.
Refs #3720.
Peter Amstutz [Fri, 5 Sep 2014 15:45:10 +0000 (11:45 -0400)]
3644: minor control block indentation fix.
Peter Amstutz [Fri, 5 Sep 2014 15:43:41 +0000 (11:43 -0400)]
3644: Changed so ctime == mtime because ctime is not creation time (arg!).
Added atime. Tweaked timestamps behavior be a bit more useful.
Brett Smith [Fri, 5 Sep 2014 15:39:28 +0000 (11:39 -0400)]
Merge branch '3720-big-manifest-performance-wip'
Closes #3720, #3806.
Brett Smith [Wed, 3 Sep 2014 21:52:00 +0000 (17:52 -0400)]
3720: Limit Workbench file rendering for large Collections.
Rendering too many files can cause rendering to take too long, and
there's not much point because it can really strain browsers too.
Arbitrarily cap rendering at 10,000 files.
Brett Smith [Fri, 29 Aug 2014 21:37:13 +0000 (17:37 -0400)]
3720: Refactor manifest parsing from API server to Ruby SDK.
To date, the API server has been parsing manifests and returning
parsed information in the files attribute. That's convenient, but
causes performance problems in large Collections. Profiling indicates
that most of the API server's response time is spent in the
as_api_response method; rendering the same information twice really
hurts.
This commits removes the API server's need to always parse manifests,
and moves the parsing code to the Ruby SDK. Both the API server and
Workbench use this Gem to parse manifests on an as-needed basis.
This, combined with improvements to the new Keep::Manifest class, lays
the groundwork for future performance gains.
Brett Smith [Wed, 3 Sep 2014 21:11:51 +0000 (17:11 -0400)]
3720: arvados-cli Gemfile refers to gemspec.
This change helps avoid loops where you have to have arvados-cli
installed to build arvados-cli.
Brett Smith [Wed, 3 Sep 2014 18:57:25 +0000 (14:57 -0400)]
3720: Clean up+skip Ruby SDK tests.
First I changed these to get them passing again. With that done, I
added the skip. We're not currently running these tests, and getting
them going the right way again (e.g., with run_test_server.py or
mocks) is out of scope for my current task.
Peter Amstutz [Fri, 5 Sep 2014 14:16:17 +0000 (10:16 -0400)]
3453: Now lists images by default if called with no parameters. Fixed reported
timestamps on images without a 'timestamp' property. Added 'Docker image'
prefix to default name. Renamed variables in list_images_in_arv() to be more
friendly.
Peter Amstutz [Fri, 5 Sep 2014 13:18:06 +0000 (09:18 -0400)]
Merge branch '3710-combine-selections-bug' refs #3710
Peter Amstutz [Fri, 5 Sep 2014 13:15:48 +0000 (09:15 -0400)]
3710: Refactored code to reduce redundancy. Use select() to get the manifest
text instead of reloading each object for performance.
Peter Amstutz [Fri, 5 Sep 2014 12:47:33 +0000 (08:47 -0400)]
3644: fuse_arvados test pass.
Peter Amstutz [Fri, 5 Sep 2014 01:10:59 +0000 (21:10 -0400)]
Remove name and description columns on jobs table introduced accidentally
(refs #3036). Fixed workbench so tests pass.
radhika [Thu, 4 Sep 2014 20:55:36 +0000 (16:55 -0400)]
3710: handle the scenario where files from named collections are selected
Brett Smith [Thu, 4 Sep 2014 20:05:57 +0000 (16:05 -0400)]
3704: Treat project filters consistently in Workbench chooser.
Before this, a chooser that was loaded on a specific project would
return empty results if the user selected a different project. This
is because it would search for items with two different owner_uuids,
both the project selected at load time, and the project the user
selected later. This patch fixes that by separating the project
filter from other filters, and preseeding it in the same place where
it's updated by the project selection AJAX. Closes #3704, #3778.
Tim Pierce [Thu, 4 Sep 2014 18:55:15 +0000 (14:55 -0400)]
3663: update test_file_reader unit test
Because StreamFileReader.read() calls are now aligned on block
boundaries, the unit test needs to take that into account when testing
the results of individual reads.
Peter Amstutz [Thu, 4 Sep 2014 18:23:46 +0000 (14:23 -0400)]
3644: Add --by-id to invocation of arv-mount in crunch-job to get the same
behavior as before.
Peter Amstutz [Thu, 4 Sep 2014 18:22:25 +0000 (14:22 -0400)]
3644: Added choose-your-own-adventure README files to the --all and --by-id
directories. Regular expressions are now compiled once at the top for
efficiency and readability.
radhika [Thu, 4 Sep 2014 18:06:34 +0000 (14:06 -0400)]
3710: update the combine_selected_files_into_collection method to also handle the scenarios where a collection uuid or "collection uuid/filename" is passed.
Tim Pierce [Thu, 4 Sep 2014 17:54:42 +0000 (13:54 -0400)]
3663: StreamFileReader.read() returns just one chunk
The StreamFileReader read() call reads just a single chunk from the
input stream on each call, instead of reading as many bytes as possible.
Peter Amstutz [Thu, 4 Sep 2014 17:31:26 +0000 (13:31 -0400)]
3644: Change metafiles to .arvados#collection and .arvados#project. Change
--by-hash to be --by-id since it works with both uuids and portable data
hashes.
Ward Vandewege [Thu, 4 Sep 2014 15:33:36 +0000 (11:33 -0400)]
Revert 2 hunks from
a5819ec1e48fba90658fcf676ffc50c1f216d484, thus
un-breaking crunch-job in two important ways:
* task stdout and stderr are propagated again
* tasks can actually run because crunch-src is available in the docker
container again
no issue #
Peter Amstutz [Thu, 4 Sep 2014 14:59:03 +0000 (10:59 -0400)]
3644: Add threadsafe arvados api access. arv-mount now releases llfuse global
lock when performing network requests.
Peter Amstutz [Thu, 4 Sep 2014 14:51:04 +0000 (10:51 -0400)]
3644: Tweak CollectionReader manifest text regular expression to use multiline
match.
Peter Amstutz [Wed, 3 Sep 2014 19:55:06 +0000 (15:55 -0400)]
3644: Tested, fixed various mount modes.
Peter Amstutz [Wed, 3 Sep 2014 19:24:15 +0000 (15:24 -0400)]
3644: Default mount mode now includes home, shared, by_hash, and by_tag.
Peter Amstutz [Wed, 3 Sep 2014 18:10:13 +0000 (14:10 -0400)]
3644: Re-added support for files with json contents of arvados objects.
Changed block size reported by getattr() use 512 byte blocks which is seems to
be necessary to get 'du' to compute the right results.
radhika [Wed, 3 Sep 2014 16:48:17 +0000 (12:48 -0400)]
closes #3637
Merge branch '3637-copy-selections'
radhika [Wed, 3 Sep 2014 16:14:03 +0000 (12:14 -0400)]
3637: add one more test that verifies that the copy action is disabled when a subproject under a project is selected.
Peter Amstutz [Wed, 3 Sep 2014 15:39:09 +0000 (11:39 -0400)]
3644: Collections work again, added .portable_data_hash and .manifest_text
virtual files to detect if a directory is a collection.
Peter Amstutz [Wed, 3 Sep 2014 14:26:50 +0000 (10:26 -0400)]
3644: HomeDirectory and ProjectDirectories work, added filename sanitization.
Peter Amstutz [Wed, 3 Sep 2014 02:32:39 +0000 (22:32 -0400)]
3644: Shared project list almost works, still debugging.
radhika [Tue, 2 Sep 2014 22:36:21 +0000 (18:36 -0400)]
Merge branch 'master' into 3637-copy-selections
radhika [Tue, 2 Sep 2014 22:26:42 +0000 (18:26 -0400)]
3637: remove unwanted tab chars
radhika [Tue, 2 Sep 2014 22:16:46 +0000 (18:16 -0400)]
3637: add integration tests for "copy", "move", and "remove" operations from the project selection dropdown.
Peter Amstutz [Tue, 2 Sep 2014 20:35:23 +0000 (16:35 -0400)]
Add name and description columns back in for jobs. refs #3036
Peter Amstutz [Tue, 2 Sep 2014 20:16:13 +0000 (16:16 -0400)]
Merge branch 'master' into 3586-job-priority
Conflicts:
services/api/db/structure.sql
Peter Amstutz [Tue, 2 Sep 2014 19:59:51 +0000 (15:59 -0400)]
Delete names and description columns from jobs that shouldn't be there. Delete
jobs_owner_uuid_name_unique and pipeline_instance_owner_uuid_name_unique
indexes added by mistake. refs #3036.
radhika [Tue, 2 Sep 2014 19:26:59 +0000 (15:26 -0400)]
3637: copy selected items
Peter Amstutz [Tue, 2 Sep 2014 18:56:07 +0000 (14:56 -0400)]
3453: Add support for --images to get a list of available images. Add support
for --project-uuid to place the image and tags in the specified project. Set a
more useful name for the collection containing the image.
radhika [Tue, 2 Sep 2014 18:43:15 +0000 (14:43 -0400)]
Merge branch 'master' into 3637-copy-selections
Conflicts:
apps/workbench/app/views/application/_choose.js.erb
apps/workbench/config/routes.rb
radhika [Tue, 2 Sep 2014 18:26:03 +0000 (14:26 -0400)]
3637: undo some of the changes to absorb Tom's updates to chooser implementation
Ward Vandewege [Tue, 2 Sep 2014 17:55:39 +0000 (13:55 -0400)]
Do not blow up when running jobs in local mode.
This bug was introduced in
a5819ec1e48fba90658fcf676ffc50c1f216d484
no issue #
radhika [Tue, 2 Sep 2014 17:51:26 +0000 (13:51 -0400)]
refs #3637 - merge Tom's updates to chooser implementation, where selected items are passed as parameters.
Merge branch '3637-selection-through-chooser'
Peter Amstutz [Tue, 2 Sep 2014 17:01:12 +0000 (13:01 -0400)]
3644: build_project_trees method ported from workbench, needs testing
Brett Smith [Tue, 2 Sep 2014 13:19:03 +0000 (09:19 -0400)]
Merge branch '3704-broken-filters-param'
Unfortunately, this does not completely fix the bug, but at least it's
an improvement. See refs #3704 for more discussion. Closes #3777.
Ward Vandewege [Mon, 1 Sep 2014 21:47:43 +0000 (17:47 -0400)]
crunchstat: fix typos in comments and help/error text.
no issue #
Ward Vandewege [Mon, 1 Sep 2014 18:05:38 +0000 (14:05 -0400)]
Do not blow up when arv is called with an unrecognized argument.
Calling option_parser.educate suffices, no need for a call to
Trollop::die that fails and throws a stacktrace.
no issue #
Tom Clegg [Sat, 30 Aug 2014 00:06:01 +0000 (20:06 -0400)]
3637: Propagate checkbox selection through chooser modal, remove session hack.
Tom Clegg [Sat, 30 Aug 2014 00:02:38 +0000 (20:02 -0400)]
3637: Operate only on selections within this container, even if clippy has more.
Tom Clegg [Fri, 29 Aug 2014 21:54:36 +0000 (17:54 -0400)]
3704: Force params[:filters] into native format so views and helpers can use it.
Peter Amstutz [Fri, 29 Aug 2014 20:35:43 +0000 (16:35 -0400)]
3644: Project and Home directory work. Added support for returning correct
timestamps on projects, collections, files. Should be update
CollectionDirectory if the underlying collection record changes. Fixed bugs.
Peter Amstutz [Fri, 29 Aug 2014 16:37:12 +0000 (12:37 -0400)]
Merge branch '3763-move-collections-error' closes #3763
Peter Amstutz [Fri, 29 Aug 2014 14:17:10 +0000 (10:17 -0400)]
3763: Workbench will not send attributes to API server that are nil and not
changed.
Peter Amstutz [Thu, 28 Aug 2014 21:12:09 +0000 (17:12 -0400)]
3644: Working on adding timestamps
radhika [Thu, 28 Aug 2014 20:21:58 +0000 (16:21 -0400)]
closes #3714
Merge branch '3714-report-issue-issues'
radhika [Thu, 28 Aug 2014 20:21:22 +0000 (16:21 -0400)]
Merge branch 'master' into 3714-report-issue-issues
radhika [Thu, 28 Aug 2014 20:19:57 +0000 (16:19 -0400)]
3637: fix test now that "Copy selections" and "Move selections" options are no longer available in clippy.
radhika [Thu, 28 Aug 2014 20:09:11 +0000 (16:09 -0400)]
3637: remove "Copy selections" and "Move selections" options from clippy in topnav.
radhika [Thu, 28 Aug 2014 20:05:28 +0000 (16:05 -0400)]
Merge branch 'master' into 3637-copy-selections
radhika [Thu, 28 Aug 2014 20:03:04 +0000 (16:03 -0400)]
3714: minor updates from review feedback
radhika [Thu, 28 Aug 2014 19:39:32 +0000 (15:39 -0400)]
Merge branch 'master' into 3714-report-issue-issues
radhika [Thu, 28 Aug 2014 19:38:35 +0000 (15:38 -0400)]
3637: refactor code for better maintenance.
Peter Amstutz [Thu, 28 Aug 2014 19:25:35 +0000 (15:25 -0400)]
Fix arv-put tests refs #3709
radhika [Thu, 28 Aug 2014 19:20:03 +0000 (15:20 -0400)]
Merge branch 'master' into 3637-copy-selections
radhika [Thu, 28 Aug 2014 19:19:05 +0000 (15:19 -0400)]
3637: add copy selected items functionality to project selection dropdown.
Peter Amstutz [Thu, 28 Aug 2014 19:11:02 +0000 (15:11 -0400)]
3644: More renaming GroupDirectory to ProjectDirectory, removing name links.
Peter Amstutz [Thu, 28 Aug 2014 18:49:12 +0000 (14:49 -0400)]
Merge branch '3719-improve-subst-error-reporting' closes #3719
Peter Amstutz [Thu, 28 Aug 2014 18:48:49 +0000 (14:48 -0400)]
3719: Python style/wording fixes.
Peter Amstutz [Thu, 28 Aug 2014 18:42:03 +0000 (14:42 -0400)]
Merge branch '3709-arv-put-print-uuid' closes #3709
Peter Amstutz [Thu, 28 Aug 2014 18:41:04 +0000 (14:41 -0400)]
3644: Switched around command line parameters a bit. Will default to --home
now. Renamed GroupsDirectory to HomeDirectory and GroupDirectory to
ProjectDirectory.