Tim Pierce [Mon, 15 Sep 2014 17:58:44 +0000 (13:58 -0400)]
3699: back out attempts to change tempfile.tempdir
Too many error conditions -- if the disk is full, have the user change
it manually with TMPDIR=/scratch
Tim Pierce [Mon, 15 Sep 2014 17:30:52 +0000 (13:30 -0400)]
3699: typo fix
Tim Pierce [Mon, 15 Sep 2014 17:28:42 +0000 (13:28 -0400)]
3699: use /scratch instead of /tmp for git copies
Tim Pierce [Mon, 15 Sep 2014 17:13:45 +0000 (13:13 -0400)]
3699: ensure unique names for new pipelines
Tim Pierce [Mon, 15 Sep 2014 17:11:21 +0000 (13:11 -0400)]
Merge branch 'master' into 3699-arv-copy
Tim Pierce [Mon, 15 Sep 2014 17:06:45 +0000 (13:06 -0400)]
3699: delete pi['uuid'] before committing
Tim Pierce [Mon, 15 Sep 2014 17:03:28 +0000 (13:03 -0400)]
3699: copy_pipeline_template requires dst_git_repo
Tim Pierce [Mon, 15 Sep 2014 15:39:25 +0000 (11:39 -0400)]
3699: allow pipeline instances without templates
Tim Pierce [Mon, 15 Sep 2014 14:48:59 +0000 (10:48 -0400)]
3699: fix inconsistent function parameters
All copy methods/functions now start with (object_to_copy, src_client,
dst_client).
Tim Pierce [Mon, 15 Sep 2014 14:40:45 +0000 (10:40 -0400)]
3699: bug fix (return value for copy_git_repo)
Tim Pierce [Mon, 15 Sep 2014 14:30:47 +0000 (10:30 -0400)]
3699: use a consistent destination branch for copy_git_repo
copy_git_repo copies commits from the source repository to a branch in
the destination named for the source repository URL. Thus, if the same
source repository is copied several times to the same destination, it
will not add redundant branches.
Tim Pierce [Mon, 15 Sep 2014 14:10:45 +0000 (10:10 -0400)]
3699: fix copy_git_repo
Need to specify destination branch explicitly when pushing.
Tim Pierce [Mon, 15 Sep 2014 13:56:12 +0000 (09:56 -0400)]
3699: bug fixes
Tim Pierce [Fri, 12 Sep 2014 21:30:29 +0000 (17:30 -0400)]
3699: bug fixes and feedback
* added 'arv copy' front end to sdk/cli/bin/arv
* can supply --recursive for pipeline templates as well as pipeline
instance
* collections and git repositories are now properly renamed in the
pipeline template and instance when copying recursively
* copy_collection skips copying blocks if the collection already exists
at the destination
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.
Tim Pierce [Wed, 10 Sep 2014 15:00:47 +0000 (11:00 -0400)]
3699: add support for --recursive and --project_uuid
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.
Tim Pierce [Tue, 9 Sep 2014 19:00:53 +0000 (15:00 -0400)]
3699: rename repositories in copied pipeline instance
Tim Pierce [Tue, 9 Sep 2014 18:30:01 +0000 (14:30 -0400)]
3699: typo fix
Tim Pierce [Tue, 9 Sep 2014 18:23:18 +0000 (14:23 -0400)]
3699: add copy_git_repo step to copy_pipeline_instance
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.
Tim Pierce [Tue, 9 Sep 2014 15:17:56 +0000 (11:17 -0400)]
3699: fix bugs
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.
Tim Pierce [Mon, 8 Sep 2014 19:42:30 +0000 (15:42 -0400)]
3699: define copy_git_repo
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.
Tim Pierce [Mon, 8 Sep 2014 17:53:16 +0000 (13:53 -0400)]
3699: skip components which have not yet run
Tim Pierce [Mon, 8 Sep 2014 17:48:50 +0000 (13:48 -0400)]
3699: test storing the empty collection (edge case)
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.
Tim Pierce [Fri, 5 Sep 2014 17:55:00 +0000 (17:55 +0000)]
3699: bug fixes
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.
Tim Pierce [Fri, 5 Sep 2014 14:41:47 +0000 (10:41 -0400)]
3699: accept collection hash as uuid
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.
Tim Pierce [Fri, 5 Sep 2014 14:06:37 +0000 (10:06 -0400)]
3699: add arv-copy to list of installed scripts
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 #
Tim Pierce [Thu, 4 Sep 2014 15:24:04 +0000 (11:24 -0400)]
3699: copy docker images
A Docker image dependency is specified, for each component c in
pipeline_instance['components'], as c['job']['docker_image_locator'].
This field is a collection hash for a collection that holds a Docker
image file.
copy_pipeline_instance copies the collections found in these fields as
well as the input collection dependencies found in c['job']['dependencies'].
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.
Tim Pierce [Wed, 3 Sep 2014 21:36:04 +0000 (17:36 -0400)]
3699: added copy_pipeline_instance
Added copy_pipeline_instance, integrating copy_collection and
copy_pipeline_template. Added comments.
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.
Tim Pierce [Wed, 3 Sep 2014 17:47:33 +0000 (13:47 -0400)]
3699: arv-copy supports collections
arv-copy can be passed a collection UUID. copy_collection(uuid) copies
each block in the collection from the source Arvados to the destination,
copies the manifest and then writes a collection record.
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'
Tim Pierce [Tue, 2 Sep 2014 17:29:11 +0000 (13:29 -0400)]
3699: support pipeline templates
arv-copy can work on pipeline templates.
Peter Amstutz [Tue, 2 Sep 2014 17:01:12 +0000 (13:01 -0400)]
3644: build_project_trees method ported from workbench, needs testing