Tom Clegg [Fri, 3 Oct 2014 14:42:23 +0000 (10:42 -0400)]
3775: Remove redundant log message.
Tom Clegg [Fri, 3 Oct 2014 14:41:32 +0000 (10:41 -0400)]
3775: Clean up reporting of exit codes: say "0 with signal 2", not "512".
Tom Clegg [Fri, 3 Oct 2014 14:17:07 +0000 (10:17 -0400)]
3775: Add TODO comments in suspicious-looking collate_output corners.
Tom Clegg [Fri, 3 Oct 2014 14:16:16 +0000 (10:16 -0400)]
3775: Run local/dev jobs on code from arbitrary remote git repositories.
* repository is a local path X -> use local repository X or X/.git.
* repository is a git url (git://, https://, git@host:repo.git, etc)
fetch branches, tags, and objects from the remote and use the result
to resolve script_version to a commit sha1 and run the job.
* else -> look up the named repository in Arvados and use its
fetch_url as a remote git url as above.
* --git-dir is given on the command line -> use that instead of
$Job->{repository} in the above logic. (This isn't new. It ensures
we don't go off fetching arbitrary remotes when crunch-dispatch.rb
has already pulled the code into its own internal git repo.)
Incidental changes:
* Lose support for looking up subversion revision numbers using
git-svn tags.
* Lose support for CRUNCH_DEFAULT_GIT_DIR environment variable. Pass
--git-dir instead.
* Improve log messages during checkout/install phase.
Tom Clegg [Fri, 3 Oct 2014 13:42:33 +0000 (09:42 -0400)]
3775: Remove stagnant $job_has_uuid flag. Every job has a uuid. The
only time to skip updating the job record on the server side is when
croak() happens before $Job is created/fetched.
Tom Clegg [Fri, 3 Oct 2014 13:33:46 +0000 (09:33 -0400)]
3775: Fix syntax error 2 commits ago.
Tom Clegg [Thu, 2 Oct 2014 15:13:19 +0000 (11:13 -0400)]
3775: Merge branch 'master' into 3775-fetch-git-repo
Peter Amstutz [Thu, 2 Oct 2014 14:51:36 +0000 (10:51 -0400)]
Merge branch '3052-crunch-log-stdout' closes #3052
Peter Amstutz [Thu, 2 Oct 2014 14:46:37 +0000 (10:46 -0400)]
Merge branch 'master' into 3052-crunch-log-stdout
Peter Amstutz [Thu, 2 Oct 2014 14:46:23 +0000 (10:46 -0400)]
3052: Change ruby style ruby style {:stderr => ''} to json style {stderr: ''}
Tim Pierce [Thu, 2 Oct 2014 14:44:30 +0000 (10:44 -0400)]
Merge branch '3782-large-job-logs'
Closes #3782.
Tim Pierce [Thu, 2 Oct 2014 14:44:13 +0000 (10:44 -0400)]
3782: fix FuseSharedTest
Peter Amstutz [Thu, 2 Oct 2014 13:22:28 +0000 (09:22 -0400)]
Add test fixture to fix "test_cancel_someone_else's_visible_job" refs #3859
Peter Amstutz [Thu, 2 Oct 2014 02:01:19 +0000 (22:01 -0400)]
Merge branch '3859-api-job-lock-method' refs #3859
Tim Pierce [Wed, 1 Oct 2014 20:52:17 +0000 (16:52 -0400)]
3782: code review feedback
* Fixed whitespace, JavaScript style in _show_log.html.erb
* Removed unused bytecount variable from file_enumerator
* Changed the new job and collection fixtures to have the job uuid match
the uuid listed in the log.
Tim Pierce [Wed, 1 Oct 2014 20:04:05 +0000 (16:04 -0400)]
3782: added state to job fixture
Tim Pierce [Wed, 1 Oct 2014 19:43:15 +0000 (15:43 -0400)]
Merge branch 'master' into 3782-large-job-logs
Conflicts:
services/api/test/fixtures/collections.yml
services/api/test/fixtures/jobs.yml
Tom Clegg [Wed, 1 Oct 2014 19:36:46 +0000 (15:36 -0400)]
Merge branch '3782-stub-file-content' refs #3782
Tom Clegg [Wed, 1 Oct 2014 19:35:33 +0000 (15:35 -0400)]
3782: Merge branch 'master' into 3782-stub-file-content
Tom Clegg [Wed, 1 Oct 2014 19:12:07 +0000 (15:12 -0400)]
3782: Use stubbed file content for "inactive user can retrieve user agreement" test.
Tim Pierce [Wed, 1 Oct 2014 18:59:30 +0000 (14:59 -0400)]
Merge branch '4000-rerun-pipeline-changed-template'
Closes #4000.
Tim Pierce [Wed, 1 Oct 2014 18:58:58 +0000 (14:58 -0400)]
4000: update both functional tests.
Tim Pierce [Wed, 1 Oct 2014 18:28:38 +0000 (14:28 -0400)]
4000: tighten up functional test
Updated the test to ensure that a copied pipeline instance actually has
the expected script_parameters from both the source instance and source
template, respectively.
Peter Amstutz [Wed, 1 Oct 2014 18:23:21 +0000 (14:23 -0400)]
Use job state field instead of running/success columns. refs #3898
Tim Pierce [Wed, 1 Oct 2014 17:50:53 +0000 (13:50 -0400)]
3782: bugfix and added integration test
* Fixed bug where log viewer would always request partial log and receive
206, even when total log size is shorter than log_viewer_max_bytes.
* Added integration tests:
** set up KEEP_LOCAL_STORE with dummy log
** test retrieving full job log
** test retrieving partial job log
Peter Amstutz [Wed, 1 Oct 2014 17:06:17 +0000 (13:06 -0400)]
3859: unit test for job state changes
Tom Clegg [Wed, 1 Oct 2014 16:08:01 +0000 (12:08 -0400)]
3782: Merge branch 'master' into 3782-stub-file-content
Tom Clegg [Wed, 1 Oct 2014 16:07:58 +0000 (12:07 -0400)]
3782: Remove obsolete helper method.
Peter Amstutz [Wed, 1 Oct 2014 15:23:37 +0000 (11:23 -0400)]
3859: Added AlreadyLockedError for job lock conflict. Added runningbarbaz
fixture so test "cancel someone else's visible job" is testing the right thing.
Peter Amstutz [Wed, 1 Oct 2014 13:47:01 +0000 (09:47 -0400)]
Merge branch '4004-restore-dashboard-buttons' closes #4004
Peter Amstutz [Wed, 1 Oct 2014 13:46:14 +0000 (09:46 -0400)]
4004: Add newlines for readability
Tom Clegg [Wed, 1 Oct 2014 03:49:11 +0000 (23:49 -0400)]
3775: Fix crunch-job exit status: exit non-zero after "freeze"
path (which includes task failure, INT, TERM, etc.)
Also fix wrong todo list (and therefore todo count in progress stats)
after permanent task failure.
Peter Amstutz [Wed, 1 Oct 2014 01:51:41 +0000 (21:51 -0400)]
3899: Fix for counting complete/failed components refs #3899
Peter Amstutz [Wed, 1 Oct 2014 01:30:56 +0000 (21:30 -0400)]
3859: Add functional test for locking and fix tests broken by validate_state_change.
Peter Amstutz [Wed, 1 Oct 2014 00:11:27 +0000 (20:11 -0400)]
Merge branch 'master' into 3859-api-job-lock-method
Tim Pierce [Tue, 30 Sep 2014 22:07:15 +0000 (18:07 -0400)]
4000: fix copying pipeline instances with newer templates
* When copying script parameters from a pipeline instance, check that
the component exists in the source instance before blindly
dereferencing it.
* Added tests for copying when components=use_latest and when
script=use_same (the two edge cases exposed by this bug)
Peter Amstutz [Tue, 30 Sep 2014 20:56:52 +0000 (16:56 -0400)]
3859: Cleaned up validate_state_change. Added unit test for job locking.
Peter Amstutz [Tue, 30 Sep 2014 19:40:37 +0000 (15:40 -0400)]
4004: Rename "Compute status" to "Compute and job status". Added integration
tests for buttons. Reduced dashboard page rendering time by at least 25% by
batching certain API server requests (previously happing per-object),
Tim Pierce [Mon, 29 Sep 2014 22:25:36 +0000 (18:25 -0400)]
3782: check for Content-Range header in response
Change the logic for detecting whether the log has been truncated to:
* response status code is 206
* a Content-Range header is present with 'bytes 0-x/y'
* x + 1 < y
Add a "download full log" link that is present when the full log is
available to be viewed.
Tim Pierce [Tue, 30 Sep 2014 17:52:38 +0000 (13:52 -0400)]
Merge branch '3961-uuid-assignment-not-permitted'
Closes #3961.
Tim Pierce [Tue, 30 Sep 2014 17:51:54 +0000 (13:51 -0400)]
3961: fix FuseSharedTest
Added new active_user collection to the FuseSharedTest.
Peter Amstutz [Tue, 30 Sep 2014 17:08:19 +0000 (13:08 -0400)]
3052: Style tweak, iterate over j[:buf] to read streams
Tim Pierce [Tue, 30 Sep 2014 17:01:07 +0000 (13:01 -0400)]
Merge branch '3961-uuid-assignment-not-permitted'
Closes #3961.
Tim Pierce [Tue, 30 Sep 2014 16:59:40 +0000 (12:59 -0400)]
3961: more explicit assertions and error text
Tom Clegg [Tue, 30 Sep 2014 14:57:13 +0000 (10:57 -0400)]
3782: Isolate file_enumerator stubbing to the current test. Introduce mocha.
Peter Amstutz [Tue, 30 Sep 2014 13:44:45 +0000 (09:44 -0400)]
3052: Rename variable "std" to "stream"
Tim Pierce [Tue, 30 Sep 2014 04:42:16 +0000 (00:42 -0400)]
3961: test creating subprojects under home with duplicate names
New tests:
* unprivileged user creating a subproject under their home project, with
an existing name, returns 422
* unprivileged user creating a subproject under their home project, with
an existing name, and ensure_unique_name=true, succeeds
Tim Pierce [Mon, 29 Sep 2014 21:55:17 +0000 (17:55 -0400)]
3782: keep log viewer code in _show_log.html.erb
Keep log-related restrictions in the log viewer and not in general
purpose workbench code:
* Add Rails.configuration.log_viewer_max_bytes to specify the maximum
number of log bytes to display
* The log viewer specifies a byte limit via the HTTP Range header. The
Content-Length of the response is set to the minimum of the 'size'
query parameter and the byte range. If the log appears to have been
truncated, the viewer reports it in the 'log_viewer_overview' pane.
* CollectionsController.FileStreamer either delivers the entire file
or exactly opts[:maxbytes] bytes, whichever comes first. It does not
add any log-specific message.
Peter Amstutz [Mon, 29 Sep 2014 21:11:31 +0000 (17:11 -0400)]
3052: capture stdout to log in crunch-dispatch
Brett Smith [Mon, 29 Sep 2014 20:07:55 +0000 (16:07 -0400)]
3866: PySDK KeepClient accommodates services with IPv6 addresses.
I thought there was going to be a nicer way to construct URLs than
this, but urllib.urlunparse is still expecting the host+port as a
single string, so this approach is easier. Closes #3866.
Tim Pierce [Mon, 29 Sep 2014 18:01:00 +0000 (14:01 -0400)]
3782: print log lines compatible with the log viewer
When the log is truncated, make it parsable by the log viewer regex in
addToLogViewer().
Brett Smith [Mon, 29 Sep 2014 16:28:36 +0000 (12:28 -0400)]
Merge branch '3848-egg-default-git-tag-wip'
Closes #3848, #3952.
Brett Smith [Fri, 26 Sep 2014 21:06:15 +0000 (17:06 -0400)]
3848: Package version numbers use UTC timestamps.
Per note-9 in the issue.
Brett Smith [Mon, 22 Sep 2014 20:45:19 +0000 (16:45 -0400)]
3848: Python packages build with git tag by default.
This moves the build logic that we currently encode in Jenkins into
our setup.py, and makes it easier for developers to have versions in
sync with real users.
radhika [Mon, 29 Sep 2014 15:13:50 +0000 (11:13 -0400)]
closes #3889
Merge branch '3889-functional-testing'
Tim Pierce [Mon, 29 Sep 2014 15:06:49 +0000 (11:06 -0400)]
3961: reset object UUID when ensure_unique_name is set
When saving an object that has to be renamed with ensure_unique_name,
force @object.uuid to nil so that validate_uuid will not be confused
into thinking we are trying to reassign the uuid.
radhika [Mon, 29 Sep 2014 14:50:36 +0000 (10:50 -0400)]
Merge branch 'master' into 3889-functional-testing
Tom Clegg [Mon, 29 Sep 2014 14:32:00 +0000 (10:32 -0400)]
Merge branch '3616-live-stream' closes #3616
radhika [Sat, 27 Sep 2014 01:50:16 +0000 (21:50 -0400)]
Merge branch 'master' into 3889-functional-testing
radhika [Sat, 27 Sep 2014 01:48:51 +0000 (21:48 -0400)]
3889: add a new integration tester for users controller. Refactor code so that users functional and integration tests can reuse some of the helper methods.
Tim Pierce [Fri, 26 Sep 2014 19:38:45 +0000 (15:38 -0400)]
3782: restore default of no maxbytes
Use the 'size' query parameter to specify the limit of log bytes to
display for a job. If no 'size' parameter is present, the FileStreamer
class reads up to 2**16 bytes from the API server.
Peter Amstutz [Fri, 26 Sep 2014 20:44:35 +0000 (16:44 -0400)]
Merge branch '3871-non-ascii-project-names' closes #3871
Tom Clegg [Fri, 26 Sep 2014 20:26:27 +0000 (16:26 -0400)]
3616: Use "ensure" to close response stream.
Peter Amstutz [Fri, 26 Sep 2014 20:06:28 +0000 (16:06 -0400)]
3871: Pass on UnicodeEncodeError. Don't return those entries in the directory
listing because the user won't be able to access them anyway. Add --encoding
parameter to command line to allow the user to specify desired filesystem
encoding.
radhika [Fri, 26 Sep 2014 20:03:30 +0000 (16:03 -0400)]
Merge branch 'master' into 3889-functional-testing
Conflicts:
services/fuse/tests/test_mount.py
Tim Pierce [Fri, 26 Sep 2014 19:51:10 +0000 (15:51 -0400)]
Merge branch '3901-component-rendering-errors'
Refs #3901.
Tom Clegg [Fri, 26 Sep 2014 19:46:09 +0000 (15:46 -0400)]
3616: Use ActionController::Live to avoid buffering entire response in memory.
Tim Pierce [Fri, 26 Sep 2014 19:42:12 +0000 (15:42 -0400)]
Merge branch 'master' into 3901-component-rendering-errors
Conflicts:
apps/workbench/app/helpers/pipeline_instances_helper.rb
radhika [Fri, 26 Sep 2014 19:33:40 +0000 (15:33 -0400)]
closes #3836
Merge branch '3836-remove-collection-from-project-bug'
radhika [Fri, 26 Sep 2014 19:32:52 +0000 (15:32 -0400)]
Merge branch 'master' into 3836-remove-collection-from-project-bug
radhika [Fri, 26 Sep 2014 19:30:33 +0000 (15:30 -0400)]
3889: minor test assertion updates
radhika [Fri, 26 Sep 2014 18:44:53 +0000 (14:44 -0400)]
3889: remove the job fixture "job_with_unnormalized_output_and_log" and instead use "foobar"
Tim Pierce [Fri, 26 Sep 2014 17:45:43 +0000 (13:45 -0400)]
3901: added unit test for pipeline rendering
radhika [Fri, 26 Sep 2014 17:35:14 +0000 (13:35 -0400)]
Merge branch 'master' into 3889-functional-testing
Conflicts:
services/api/test/fixtures/jobs.yml
radhika [Fri, 26 Sep 2014 17:24:56 +0000 (13:24 -0400)]
3889: some monir assertion updates.
Tom Clegg [Fri, 26 Sep 2014 15:29:38 +0000 (11:29 -0400)]
Fix typo in error message. Refs #3961
Peter Amstutz [Fri, 26 Sep 2014 15:02:06 +0000 (11:02 -0400)]
Merge branch 'master' into 3859-api-job-lock-method
Conflicts:
services/api/script/crunch-dispatch.rb
Peter Amstutz [Fri, 26 Sep 2014 14:53:42 +0000 (10:53 -0400)]
3871: Encode/decode file and directory names to UTF-8
Peter Amstutz [Fri, 26 Sep 2014 14:43:02 +0000 (10:43 -0400)]
4004: Put "All jobs/pipelines/collections" buttons back onto dashboard. Also
tweak minimum height of top panels so they line up.
Peter Amstutz [Fri, 26 Sep 2014 14:31:49 +0000 (10:31 -0400)]
Merge branch '3899-crunch-use-job-state' closes #3899
Peter Amstutz [Fri, 26 Sep 2014 14:23:03 +0000 (10:23 -0400)]
3899: Uncomment line that was commented out for debugging and committed by mistake.
radhika [Fri, 26 Sep 2014 14:22:24 +0000 (10:22 -0400)]
3889: add "#{user} can get collection using portable data hash" test
Peter Amstutz [Fri, 26 Sep 2014 14:20:15 +0000 (10:20 -0400)]
3899: pipeline_instances_helper: Don't set :state if it's already set. Add newline to jobs.yml.
Peter Amstutz [Fri, 26 Sep 2014 13:55:43 +0000 (09:55 -0400)]
Merge branch '3168-crunch-git-fetch' closes #3168
Peter Amstutz [Fri, 26 Sep 2014 13:48:58 +0000 (09:48 -0400)]
Remove useless take() and untake() methods.
Peter Amstutz [Fri, 26 Sep 2014 13:47:52 +0000 (09:47 -0400)]
3168: Instead of crashing using save! log an error and go to the next job.
Peter Amstutz [Fri, 26 Sep 2014 13:01:22 +0000 (09:01 -0400)]
Merge remote-tracking branch 'origin/master' into 3899-crunch-use-job-state
Peter Amstutz [Fri, 26 Sep 2014 12:41:58 +0000 (08:41 -0400)]
3899: jobs_controller uses state = Queued instead of multiple state columns.
Updated fixture so that tests pass.
Tom Clegg [Fri, 26 Sep 2014 05:46:50 +0000 (01:46 -0400)]
Merge branch '3991-docker-workbench-address' closes #3991
radhika [Fri, 26 Sep 2014 02:25:16 +0000 (22:25 -0400)]
3889: update the fuse test to expect the newly added pipeline instances.
Tom Clegg [Fri, 26 Sep 2014 01:55:17 +0000 (21:55 -0400)]
3991: Merge branch 'master' into 3991-docker-workbench-address
Peter Amstutz [Fri, 26 Sep 2014 01:26:27 +0000 (21:26 -0400)]
3168: Fail on git tag collision instead of putting job back into the queue.
Peter Amstutz [Fri, 26 Sep 2014 00:41:41 +0000 (20:41 -0400)]
3899: Set :state in pipeline_instance_helper.rb and remove Job::state.
Tom Clegg [Thu, 25 Sep 2014 23:46:08 +0000 (19:46 -0400)]
3991: Fix config checks in admin_notifier.
radhika [Thu, 25 Sep 2014 21:12:55 +0000 (17:12 -0400)]
Merge branch 'master' into 3889-functional-testing
radhika [Thu, 25 Sep 2014 21:11:31 +0000 (17:11 -0400)]
3889: Since all offending tests are fixed, update test_helper to generate an error if any functional test performs more than one action in on test in the future.
radhika [Thu, 25 Sep 2014 20:43:54 +0000 (16:43 -0400)]
3889: update the test "update script_parameters one at a time using merge param" to use fixture instead of create a new pipeline instance.
Tom Clegg [Thu, 25 Sep 2014 20:30:33 +0000 (16:30 -0400)]
3991: Change docker default to "no root url redirect". Make "not found" message more friendly.
Tim Pierce [Thu, 25 Sep 2014 20:20:48 +0000 (16:20 -0400)]
Merge branch 'master' into 3901-component-rendering-errors
Tim Pierce [Thu, 25 Sep 2014 19:08:18 +0000 (15:08 -0400)]
3901: allow job to be either Hash or Job
Refactoring to ensure that a component "job" data structure may either
be a Hash (parsed directly from the component's JSON representation) or
a real Job object retrieved from the database.
When rendering a pipeline, parse the :started_at and :finished_at
timestamp fields, respectively, if necessary.