Tom Clegg [Wed, 10 Dec 2014 05:00:51 +0000 (00:00 -0500)]
3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Tue, 9 Dec 2014 21:44:50 +0000 (16:44 -0500)]
3781: Add singletest function.
Tom Clegg [Tue, 9 Dec 2014 21:44:00 +0000 (16:44 -0500)]
3781: Add test cases: empty files, renaming, and error reporting.
Brett Smith [Tue, 9 Dec 2014 15:21:28 +0000 (10:21 -0500)]
4027: Update arvados-cli in API server bundle.
Refs #4027.
Brett Smith [Tue, 9 Dec 2014 15:14:30 +0000 (10:14 -0500)]
Merge branch '4027-crunch-sdk-install-wip'
Closes #4027, #4667.
Brett Smith [Mon, 8 Dec 2014 15:45:23 +0000 (10:45 -0500)]
4027: crunch-job logs its own version information.
By request in code review, to help detect situations where
crunch-dispatch and crunch-job are out of sync.
Brett Smith [Mon, 24 Nov 2014 21:55:38 +0000 (16:55 -0500)]
4027: Crunch installs jobs' requested arvados_sdk_version.
* crunch-dispatch fetches the requested SDK version into its internal
git repository, just like it does for the Crunch script. Refactored
crunch-dispatch to make that code reusable.
* crunch-job's main script archives the sdk subdirectory as of that
commit, sending it along to compute nodes in the same .tar as the
Crunch script, under .arvados.sdk.
* crunch-job's __DATA__ dispatch section looks for the SDK under
.arvados.sdk, and installs it as much as possible.
Since I was messing with it so much already, I changed the semantics
of crunch-job's __DATA__ section: it is now either in installation
mode or run mode, based on whether there's anything in @ARGV. I
confirmed that this is consistent with current calls to the section.
Brett Smith [Mon, 8 Dec 2014 23:15:39 +0000 (18:15 -0500)]
4027: arvados/jobs includes virtualenv.
This lets you use the arvados/jobs image with the arvados_sdk_version
feature of Crunch.
Brett Smith [Mon, 24 Nov 2014 20:53:44 +0000 (15:53 -0500)]
4027: Bugfix update-gitolite.rb in Docker.
* Load a YAML library.
* Support ARVADOS_API_HOST_INSECURE, and set it in normal Docker use.
Brett Smith [Mon, 24 Nov 2014 20:53:00 +0000 (15:53 -0500)]
4027: Revamp SSH use in our Docker images.
* Don't install or run SSH in most of our Docker images. `docker
exec` is now preferred to inspect running images.
* Do run SSH on the API server, always, for Gitolite.
There is a feature regression here: the user's SSH key is not
automatically installed on the shell account. This needs to be fixed
another way. In the meantime, it's not difficult to run
`docker exec -ti --user=self shell /bin/bash`, and you can clone the
repository from the host system.
Tom Clegg [Tue, 9 Dec 2014 08:37:48 +0000 (03:37 -0500)]
3781: Fix trigger() usage: second argument is an array of handler args.
Tom Clegg [Tue, 9 Dec 2014 08:02:15 +0000 (03:02 -0500)]
3781: Fix progress% (100, not NaN) and manifest format (>=1 data locator) for zero-byte files.
Tim Pierce [Mon, 8 Dec 2014 22:02:33 +0000 (17:02 -0500)]
Merge branch '4269-no-collection-uuid-in-script-params'
Refs #4269.
Tim Pierce [Mon, 8 Dec 2014 21:44:17 +0000 (16:44 -0500)]
4269: clean up uuid regex matching
Code review feedback:
* Improved name for validation "no_collection_uuids" to
"ensure_no_collection_uuids_in_script_params"
* Added ArvadosModel.uuid_regex (along the lines of uuid_like_pattern)
and substituted it for hardcoded uuid regexes throughout the code.
Radhika Chippada [Mon, 8 Dec 2014 21:34:05 +0000 (16:34 -0500)]
closes #4477
closes #4719
Merge branch '4477-no-job-log'
Tom Clegg [Mon, 8 Dec 2014 20:26:52 +0000 (15:26 -0500)]
3781: Go to "Done!" state when the last upload completes despite a late call to stop().
Tom Clegg [Mon, 8 Dec 2014 18:59:45 +0000 (13:59 -0500)]
3781: Fix use of committed flag. That is now called state==="Done".
Tom Clegg [Mon, 8 Dec 2014 18:58:25 +0000 (13:58 -0500)]
3781: Fix exaggerated claims of being finished.
Tom Clegg [Mon, 8 Dec 2014 18:49:27 +0000 (13:49 -0500)]
3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Sun, 7 Dec 2014 23:09:00 +0000 (18:09 -0500)]
Reset listener=nil before running main() from test cases, so
waitForListener() does not get confused by listener!=nil left over
from previous tests. Fixes intermittent test failures.
refs #3828
Tom Clegg [Sun, 7 Dec 2014 08:06:04 +0000 (03:06 -0500)]
4533: Wait up to 10s for "lock tables". refs #4533
Tom Clegg [Sat, 6 Dec 2014 02:13:31 +0000 (21:13 -0500)]
3781: Update tests.
Tom Clegg [Sat, 6 Dec 2014 01:46:05 +0000 (20:46 -0500)]
3781: Merge branch 'master' into 3781-browser-upload
Tom Clegg [Sat, 6 Dec 2014 01:36:23 +0000 (20:36 -0500)]
3781: Add ng-cloak style.
Tom Clegg [Sat, 6 Dec 2014 01:02:28 +0000 (20:02 -0500)]
3781: Add Uploaded state, fix handling of Pause during appendToCollection.
Tom Clegg [Fri, 5 Dec 2014 23:00:40 +0000 (18:00 -0500)]
3781: Do not portray "stopped" state as an error if it was reached by clicking Pause.
Tom Clegg [Fri, 5 Dec 2014 22:45:05 +0000 (17:45 -0500)]
3781: Tweak link text. Remove redundant title attributes.
Tom Clegg [Fri, 5 Dec 2014 18:25:12 +0000 (13:25 -0500)]
Merge branch '4156-no-gemfile-lock-for-gem' refs #4156
Tom Clegg [Fri, 5 Dec 2014 18:24:49 +0000 (13:24 -0500)]
4533: Lock all tables, not just the ones with fixtures. refs #4533
Tom Clegg [Fri, 5 Dec 2014 18:07:48 +0000 (13:07 -0500)]
3781: Fix more {==,!=} -> {===,!==}.
Peter Amstutz [Fri, 5 Dec 2014 15:44:07 +0000 (10:44 -0500)]
Merge branch '4314-trigger-job-update' closes #4314
Radhika Chippada [Fri, 5 Dec 2014 15:15:44 +0000 (10:15 -0500)]
closes #4559
Merge branch '4559-long-component-names'
Radhika Chippada [Fri, 5 Dec 2014 15:14:42 +0000 (10:14 -0500)]
4559: missing quote
Radhika Chippada [Fri, 5 Dec 2014 15:10:01 +0000 (10:10 -0500)]
Merge branch 'master' into 4559-long-component-names
Radhika Chippada [Fri, 5 Dec 2014 14:58:04 +0000 (09:58 -0500)]
closes #4638
Merge branch '4638-ssh-notification'
Radhika Chippada [Fri, 5 Dec 2014 14:57:39 +0000 (09:57 -0500)]
Merge branch 'master' into 4638-ssh-notification
Radhika Chippada [Fri, 5 Dec 2014 14:57:12 +0000 (09:57 -0500)]
4638: update test to reflect link text change.
Radhika Chippada [Fri, 5 Dec 2014 14:34:32 +0000 (09:34 -0500)]
closes #4638
Merge branch '4638-ssh-notification'
Radhika Chippada [Fri, 5 Dec 2014 14:33:33 +0000 (09:33 -0500)]
4638: update link text
Radhika Chippada [Fri, 5 Dec 2014 14:22:53 +0000 (09:22 -0500)]
Merge branch 'master' into 4638-ssh-notification
Tom Clegg [Fri, 5 Dec 2014 06:49:26 +0000 (01:49 -0500)]
4465: Link to arvados.org revision history instead of github.com code view.
Also, remove spurious helper inclusions, and fix 'locally modified'
detection (it was broken because "" is truthy).
refs #4465
Tom Clegg [Thu, 4 Dec 2014 22:58:51 +0000 (17:58 -0500)]
3781: One less Regexp.
Tom Clegg [Thu, 4 Dec 2014 22:43:49 +0000 (17:43 -0500)]
3781: Use regexp instead of split: avoid making big arrays when working on big manifests.
Tim Pierce [Thu, 4 Dec 2014 22:12:57 +0000 (17:12 -0500)]
4269: added job validation forbidding collection uuids
Added Job validation no_collection_uuids, searching recursively through
script_parameters for any field matching a collection uuid pattern.
Radhika Chippada [Thu, 4 Dec 2014 21:38:52 +0000 (16:38 -0500)]
4719: change "There are currently no job in the queue" to "your" queue.
Radhika Chippada [Thu, 4 Dec 2014 21:28:50 +0000 (16:28 -0500)]
4477: don't crash on no job log
Tom Clegg [Thu, 4 Dec 2014 21:24:55 +0000 (16:24 -0500)]
3781: Fix push-to-bottom-when-Done so it works on the last item, too.
Radhika Chippada [Thu, 4 Dec 2014 21:05:27 +0000 (16:05 -0500)]
closes #4525
closes #4694
Merge branch '4525-remove-stale-clippy-code'
Tom Clegg [Thu, 4 Dec 2014 21:00:03 +0000 (16:00 -0500)]
3781: Fix up dropdown: match appearance of other buttons, tweak wording,
remove min-width style (which was added for clippy, but has been
affecting all dropdowns).
Radhika Chippada [Thu, 4 Dec 2014 20:58:00 +0000 (15:58 -0500)]
4525: when dataclass is Class, return attrvalue similar to the Array case.
Radhika Chippada [Thu, 4 Dec 2014 20:23:11 +0000 (15:23 -0500)]
4525: delete assets/stylesheets/selection.css
Tom Clegg [Thu, 4 Dec 2014 20:04:44 +0000 (15:04 -0500)]
3781: Use $.each for simple loops.
Tom Clegg [Thu, 4 Dec 2014 19:59:57 +0000 (14:59 -0500)]
3781: Deobfuscate.
Tom Clegg [Thu, 4 Dec 2014 19:34:23 +0000 (14:34 -0500)]
3781: Use ===, !== instead of ==, !=
Tom Clegg [Thu, 4 Dec 2014 19:03:13 +0000 (14:03 -0500)]
3781: Fix error message, and add actual error detection.
Radhika Chippada [Thu, 4 Dec 2014 18:48:10 +0000 (13:48 -0500)]
4525: link_to to be used when dataclass is a String or Fixnum
Tom Clegg [Thu, 4 Dec 2014 18:39:04 +0000 (13:39 -0500)]
3781: Fix up comments.
Tom Clegg [Thu, 4 Dec 2014 18:34:59 +0000 (13:34 -0500)]
3781: Disable start button when there is nothing to do.
Tom Clegg [Thu, 4 Dec 2014 18:16:27 +0000 (13:16 -0500)]
3781: Report as KiB instead of K.
Radhika Chippada [Thu, 4 Dec 2014 18:32:00 +0000 (13:32 -0500)]
4525: keep link_to in application_helper, which will be used when attr value is a String or Fixnum etc
radhika [Thu, 4 Dec 2014 18:12:23 +0000 (13:12 -0500)]
4525: remove add_form_selection_sources (one more time) and all references.
Tom Clegg [Thu, 4 Dec 2014 18:03:20 +0000 (13:03 -0500)]
3781: Merge branch 'master' into 3781-browser-upload
Conflicts:
apps/workbench/app/assets/javascripts/application.js
apps/workbench/app/views/projects/show.html.erb
radhika [Thu, 4 Dec 2014 17:25:51 +0000 (12:25 -0500)]
Merge branch 'master' into 4525-remove-stale-clippy-code
Tim Pierce [Thu, 4 Dec 2014 16:48:27 +0000 (11:48 -0500)]
Merge branch '4465-workbench-version-links'
Fixes #4465.
Tim Pierce [Thu, 4 Dec 2014 16:47:22 +0000 (11:47 -0500)]
4465: add trailing /? to regexes
Per code review @ #4465-7
Tim Pierce [Thu, 4 Dec 2014 16:26:58 +0000 (11:26 -0500)]
4465: test for regex link targets
The goal of this story is that the "report issue" dialog includes links
to a Github or Redmine page corresponding to the software versions for
Workbench and the API server, so the test should ensure not just that
there's a link with a given text, but that its target is a Github page
corresponding to a hexadecimal commit hash.
Tim Pierce [Thu, 4 Dec 2014 15:50:44 +0000 (10:50 -0500)]
4465: added api_version_text helper.
Per code review: the source_version returned in the discovery document
may include the string "-modified" if the API server is running from a
locally modified repository. The api_version_link that we generate for
this version must take that into account.
Peter Amstutz [Thu, 4 Dec 2014 14:55:06 +0000 (09:55 -0500)]
Touch the "crunch_refresh_trigger" file when the state changes. This notifies
all crunch-job instances to check the cancelled and state flags, so if a
running job changes state unexpectedly, it will be treated as a cancellation. refs #4314
Tom Clegg [Thu, 4 Dec 2014 01:50:46 +0000 (20:50 -0500)]
4533: Fix wrong lock mode. refs #4533
radhika [Wed, 3 Dec 2014 23:45:45 +0000 (18:45 -0500)]
4525: remove select_form_sources function
radhika [Wed, 3 Dec 2014 23:21:19 +0000 (18:21 -0500)]
Merge branch '4525-remove-stale-clippy-code-TC' into 4525-remove-stale-clippy-code
radhika [Wed, 3 Dec 2014 23:16:08 +0000 (18:16 -0500)]
4525: restore add_form_selection_sources function
Tom Clegg [Wed, 3 Dec 2014 22:26:23 +0000 (17:26 -0500)]
4525: Call enable_disable_selection_actions once per container to
avoid crosstalk between containers.
Also, separate event binding setup from enable/disable hook, and avoid
binding many copies of the selection dispatch click handler.
Tom Clegg [Wed, 3 Dec 2014 21:54:51 +0000 (16:54 -0500)]
Merge branch '4533-lock-tables-first' refs #4533
Peter Amstutz [Wed, 3 Dec 2014 21:08:58 +0000 (16:08 -0500)]
Update version pin of arvados-cli gem. refs #3698
radhika [Wed, 3 Dec 2014 20:53:39 +0000 (15:53 -0500)]
4525: add test to verify selection on tab switching.
Tom Clegg [Wed, 3 Dec 2014 20:40:18 +0000 (15:40 -0500)]
4533: Lock all tables before deleting contents.
radhika [Wed, 3 Dec 2014 18:00:35 +0000 (13:00 -0500)]
4525: remove stale clippy code
Tim Pierce [Wed, 3 Dec 2014 16:56:08 +0000 (11:56 -0500)]
4465: add API/Workbench Github links to help modal
Updated the help modal dialog to use the following links for API version
and Workbench version:
https://github.com/curoverse/arvados/tree/#{api_version}/services/api
https://github.com/curoverse/arvados/tree/#{wb_version}/apps/workbench
Refactored some code into a VersionHelper to simplify testing.
Also updated the Rails.configuration.source_version settings for both
API server and Workbench to strip trailing newlines (which were
screwing up the URLs).
Brett Smith [Wed, 3 Dec 2014 16:55:38 +0000 (11:55 -0500)]
Merge branch '4291-workbench-collection-sharing-button-wip'
Closes #4291, #4676, #4688.
Brett Smith [Wed, 3 Dec 2014 15:28:42 +0000 (10:28 -0500)]
4291: Workbench says explicitly when collection sharing is disabled.
Brett Smith [Thu, 27 Nov 2014 02:35:07 +0000 (21:35 -0500)]
4291: Workbench Collection sharing buttons are actual buttons.
This prevents users from trying to open them in new windows/tabs and
getting a 404 response.
I had to rework the pipeline instance comparison JavaScript because it
was disabling the collection share button on page load. All that was
really necessary was making sure the event only fires when there
actually is a form#compare, but I did some other cleanup in the
process of learning that.
Brett Smith [Mon, 1 Dec 2014 16:07:07 +0000 (11:07 -0500)]
4676: Collection sharing popup is always JavaScript.
This fixes an issue where the response would sometimes be sent with
Content-Type: text/html. We thought it might be a race condition with
AJAX, but the browser was sending a correct Accept: header.
Brett Smith [Wed, 3 Dec 2014 16:24:52 +0000 (11:24 -0500)]
4291: Add Workbench controller tests for collection sharing.
I wrote these while diagnosing another problem.
Brett Smith [Wed, 26 Nov 2014 16:34:53 +0000 (11:34 -0500)]
4291: Workbench uses .prop() to set element disabled property.
Per <http://api.jquery.com/prop/>: "The .prop() method should be used
to set disabled and checked instead of the .attr() method."
Brett Smith [Tue, 25 Nov 2014 22:57:47 +0000 (17:57 -0500)]
4291: Clean up HTTP methods in Workbench URL generators.
According to the docs at
<http://api.rubyonrails.org/files/actionview/lib/action_view/helpers/url_helper_rb.html>:
* `button_to` and `form_for` take :method as a symbol.
* `link_to` takes :method as a symbol, and only supports :delete,
:post, :patch, and :put. Any link that should be done with GET
should not have a method specified.
* Note that `form_tag` *does* take a string, so not every method
should be symbolized.
Brett Smith [Wed, 3 Dec 2014 16:10:23 +0000 (11:10 -0500)]
Merge branch '4705-fuse-collections-from-keep-wip'
Closes #4705, #4708.
Brett Smith [Wed, 3 Dec 2014 15:07:26 +0000 (10:07 -0500)]
4705: FUSE driver can read Collections that only exist in Keep.
Brett Smith [Wed, 3 Dec 2014 15:12:40 +0000 (10:12 -0500)]
4705: Fix FUSE exception logging.
logger.exception() doesn't take the exception as an argument, it takes
a message like all the other logger methods. It gets the exception
information from sys.exc_info().
Brett Smith [Wed, 3 Dec 2014 13:59:22 +0000 (08:59 -0500)]
4705: Refactor mount creation in FUSE tests.
Brett Smith [Wed, 3 Dec 2014 14:45:44 +0000 (09:45 -0500)]
4705: Add CollectionReader.api_response() to PySDK.
The FUSE driver wants this information.
Ward Vandewege [Wed, 3 Dec 2014 15:25:43 +0000 (10:25 -0500)]
Docker: passenger only needs to support ruby, so specify that explicity
when building the apache module.
No issue #
Tom Clegg [Tue, 2 Dec 2014 23:56:25 +0000 (18:56 -0500)]
4533: use "extend" when calling module methods from class methods. refs #4533
Seems to matter only in production: config.cache_classes?
Brett Smith [Tue, 2 Dec 2014 21:28:49 +0000 (16:28 -0500)]
Merge branch '4591-websockets-raise-oom-wip'
Closes #4591, #4701.
Brett Smith [Tue, 2 Dec 2014 15:23:21 +0000 (10:23 -0500)]
4591: Websockets server fetches fewer logs at a time.
Most of the out of memory errors we're seeing happen in the PostgreSQL
driver, which runs out of space to store results. Because Log records
are relatively large (holding two other records as JSON text),
fetching fewer in a batch should noticeably improve memory use. I
don't expect this to end the crashing, though—it seems like the
Websockets server grows large for a variety of reasons. Hopefully
this change will help make some of the others clearer.
Brett Smith [Tue, 2 Dec 2014 14:59:55 +0000 (09:59 -0500)]
4591: Avoid capturing critical exceptions in Websockets server.
Based on the current logs, the troubles we're currently hitting in
Websockets happen in push_events, where all the database work
happens. These exceptions wrap PostgreSQL driver errors; they inherit
from StandardError, so they're being caught by the rescue block.
This commit re-raises those exceptions, which will cause the server to
crash (and presumably be restarted by a supervisor like runit).
We do sometimes see NoMemoryError, but the block to catch is in
ineffective because it usually manifests earlier in on_connect, when
the connection is first made. In this case, Ruby's default exception
handling provides the behavior we want, so just remove the block.
In keeping with the theme of improved exception handling, I tightened
up the bad request detection.
Tim Pierce [Tue, 2 Dec 2014 21:17:26 +0000 (16:17 -0500)]
Merge branch '4621-crunch-memory-usage'
Refs #4621.
Tim Pierce [Tue, 2 Dec 2014 21:12:42 +0000 (16:12 -0500)]
4621: undo lean_uri_escape changes
radhika [Tue, 2 Dec 2014 21:10:53 +0000 (16:10 -0500)]
closes #4645
Merge branch '4645-log-in-graph'
Tim Pierce [Tue, 2 Dec 2014 21:06:02 +0000 (16:06 -0500)]
4621: drop unused variable $output_in_keep