Brett Smith [Tue, 24 Jun 2014 19:02:39 +0000 (15:02 -0400)]
Fix bad interaction between llfuse and daemonization in arv-mount.
Following PEP 3143, daemon.DaemonContext drops all open file
descriptors by default. This causes arv-mount to fail, because
llfuse.init() opens /dev/fuse, and llfuse.main() uses that file
descriptor. We now daemonize before doing real work to prevent this
unintentional breakage.
This effectively reverts 83c873af. An alternative approach would've
been to call DaemonContext with a preserve_files argument. I decided
against that because I couldn't find a reliable way to determine
which file descriptors llfuse needs. If we really need the daemon to
report errors, and debugging with --foreground isn't sufficient, I
think we should implement proper logging to a file or syslog.
Brett Smith [Mon, 23 Jun 2014 14:43:02 +0000 (10:43 -0400)]
2891: Refactor Workbench API token filters.
Remove dead code and simplify the implementation, especially the
relationship between the "required" and "optional" filters, per
discussion with Peter.
Brett Smith [Fri, 20 Jun 2014 18:31:33 +0000 (14:31 -0400)]
2891: Workbench handles expired tokens more consistently.
Previously Workbench would behave differently depending on whether an
expired token was provided as a query parameter, or living in a
session. This makes it do the same thing in all cases. It also fixes
some small bugs around removing api_token from URL paths.
Peter Amstutz [Fri, 20 Jun 2014 21:10:10 +0000 (17:10 -0400)]
2986: Handles collection ids in 'arv edit' (tells the user collections are not
editable.) Added error message when subcommand or resource is
unrecognized. Removed old reference to removed command line parameter
global_opts[:resources].
Brett Smith [Fri, 20 Jun 2014 14:40:02 +0000 (10:40 -0400)]
3031: Improve "Docker image not found" error message.
Rails automatically adds the column name to rendered error message, so
the old version was coming out as "Docker image locator Docker image
not found." This version reads better. Refs #3031.
Peter Amstutz [Thu, 19 Jun 2014 19:35:01 +0000 (15:35 -0400)]
2986: Implemented "arv edit" command. Refactored 'arv' to be easier to follow.
Changed control flow of command line processing so that trollop gets a chance
to see command line before subcommands. Improved help text for subcommands.
Brett Smith [Thu, 19 Jun 2014 19:14:07 +0000 (15:14 -0400)]
2937: Make sure Collection share links end with /.
This is necessary to prevent wget from saving a plain HTML file with
the name of the reader token. With a file there, it's not possible to
make a directory tree for recursive downloads.
Tim Pierce [Tue, 17 Jun 2014 19:03:07 +0000 (15:03 -0400)]
2936: fix job progress bars
Add edge case settings for when a crunch job could not be started, or
when no tasks were ever created.
Calculate percent_total_tasks as a float, to ensure that it will be
nonzero even if there are more than 100 tasks altogether. Calculate
percentages of individual task progress with .ceil to ensure that there
will be at least 1% shown for each nonzero task status.
Tim Pierce [Tue, 17 Jun 2014 13:57:00 +0000 (09:57 -0400)]
2936: improve progress bar for failed jobs
Ensure that:
* All job progress bars reflect at least one task. If a job has no
tasks at all (done, failed, finished, or todo) that should be
considered a failed job, so render a progress bar as though one task
ran and failed.
* A failed job (j[:success] == false) always shows at least one failed
task. If a job is marked as failed but has no failed tasks, then
pretend there was one failed task so at least some red will appear in
the progress bar.
Peter Amstutz [Tue, 17 Jun 2014 13:43:48 +0000 (09:43 -0400)]
Ajax load of tab panels now includes any query parameters the page was
originally loaded with. Also fixed related problem where the 'compare' route
of pipeline_instances controller wasn't aware of tab partials. closes #3013
Brett Smith [Wed, 11 Jun 2014 21:43:27 +0000 (17:43 -0400)]
2879: API server maps Job Docker image constraints to Collections.
Doing this translation in the API server helps ensure that one piece
of software makes one consistent decision about which Docker image
should be used to run the Job.
Tim Pierce [Mon, 16 Jun 2014 17:19:32 +0000 (13:19 -0400)]
2934: document stderr messages for commit tests
Some unit tests for the Commit models issue alarming but expected git
error messages on stderr. Added comments documenting these in
commits_controller_test.rb.
Tim Pierce [Fri, 13 Jun 2014 19:08:48 +0000 (15:08 -0400)]
2934: add "bar" repository to test fixture
Add the "bar" repository to test/fixtures/repositories.yml so
CrunchDispatchTest may create a job using a commit from that
repository. (Change lost in a bad rebase.)