Tom Clegg [Fri, 4 Jul 2014 17:01:28 +0000 (13:01 -0400)]
3185: Fix job validation failure with no errors given.
* Do not fail docker validation if runtime_constraints==nil.
* Reposition "check docker image" and "check script version" as
validations, rather than before_validation and before_create/update
filters respectively.
* Use valid values for the non-docker attributes in docker test cases.
* Add tests to ensure job validation failures provide error messages.
Move test/functional/arvados/v1/git_setup.rb to
test/helpers/git_test_helper.rb and fix bugs:
* Use "setup do" form instead of "def setup" to avoid clobbering other
setup tasks
* Restore git_repositories_dir to its original value during teardown,
to avoid polluting other tests
Peter Amstutz [Wed, 2 Jul 2014 18:12:50 +0000 (14:12 -0400)]
Do not mount $TASK_WORK inside the container; scratch space is entirely
contained so it can be cleaned up by docker when the container is deleted. Add
--rm=true to automatically clean up docker containers when they exit.
Peter Amstutz [Wed, 2 Jul 2014 14:54:48 +0000 (10:54 -0400)]
Use separate $HOME for commands run outside the docker
container (e.g. arv-mount) and commands inside the docker container because of
the user id mapping problem. Converted docker command line to use long form
for readability.
Peter Amstutz [Wed, 2 Jul 2014 14:52:41 +0000 (10:52 -0400)]
Use 'install' to create /keep, /tmp/crunch-src, /tmp/crunch-job mountpoints in
the docker image. Changed some commands to use long command line parameters
for readability.
Tim Pierce [Wed, 2 Jul 2014 12:59:58 +0000 (08:59 -0400)]
2873: changes for code review
Incorporating code review comments:
* @Link#get_permissions@ uses @Link.where@ instead of @find_objects_for_index@; @find_object_for_uuid@ just populates @@object@ with the head_uuid object and leaves @@objects@ alone.
* @ArvadosModel.lookup_by_uuid@ renamed @ArvadosModel.find_by_uuid@ and punts to the superclass if called as a subclass method.
* Test @get_permissions_returns_list@ checks that the :active user can get permissions. Also uses the group fixtures for testing permissions instead of collections (because can_manage permissions only work so far on users and groups.
UnixVolume has no business being loud about files that can not be found.
Just pass on the error to the caller and be quiet.
Back story: for every PUT, Keep checks if the block already exists.
Prior to this patch, UnixVolume would complain loudly if the block did
not already exist in the volume (i.e. the normal case for a PUT).
Peter Amstutz [Tue, 1 Jul 2014 15:38:27 +0000 (11:38 -0400)]
Change crunch-dispatch to use "git fetch-pack --all" insted of "git fetch" to
fetch entire repository instead of just the history for HEAD. This seems to be
the only way to ensure that arbitrary script version hashes not in the history
of the source's HEAD are fetched without using refs (tags or branches).
no issue #
Peter Amstutz [Tue, 1 Jul 2014 15:38:27 +0000 (11:38 -0400)]
Change crunch-dispatch to use "git fetch-pack --all" insted of "git fetch" to
fetch entire repository instead of just the history for HEAD. This seems to be
the only way to ensure that arbitrary script version hashes not in the history
of the source's HEAD are fetched without using refs (tags or branches).
no issue #
Brett Smith [Fri, 27 Jun 2014 18:37:34 +0000 (14:37 -0400)]
2891: Workbench reliably reloads model columns after failure.
ArvadosBase @columns could get stuck as [] if the API server wasn't
available during Workbench's first API request. This change ensures
that it keeps trying to reload column information until it receives
good data.
Brett Smith [Fri, 27 Jun 2014 18:30:38 +0000 (14:30 -0400)]
2891: Workbench renders login exceptions earlier.
These changes are designed to ensure that if there are any problems
getting information from the current API token (other than expected
401 Unauthorized responses), those problems are raised early and
propagated up to the exception handler. This helps better ensure that
thread state is consistent when we get to later stages of request
processing.