Tim Pierce [Thu, 22 Jan 2015 22:05:36 +0000 (17:05 -0500)]
4889: improve error message, unit test
Per review in #4889-17:
Updated the CopyPipeToChan error message to be more descriptive, for the
benefit of anyone reading log output.
Corrected the test to confirm that the error message is received even if
the child process does not close the stderr log (which matches the usage
patterns in production).
Tim Pierce [Thu, 22 Jan 2015 20:40:46 +0000 (15:40 -0500)]
4889: added CopyPipeToChan unit test
Added TestCopyPipeToChanLongLines test to confirm that when
CopyPipeToChan attempts to read a line too long for bufio.Scanner, that
it generates an error message on the output channel.
Tim Pierce [Wed, 21 Jan 2015 20:18:16 +0000 (15:18 -0500)]
4889: close the child stderr pipe before returning
Updated CopyPipeToChan to close the child's stderr pipe before
returning, so that even if it returns for some reason other than
EOF (e.g. line too long) the child will not deadlock on writing stderr
output.
Brett Smith [Thu, 15 Jan 2015 22:30:28 +0000 (17:30 -0500)]
4840: Workbench selection actions are submitted by POST.
The previous implementation could get 414 Request URI Too Long
responses by stuffing a large number of selections into the link href.
This commit sidesteps that problem by POSTing the data with a hidden
form instead. It's based on rails-ujs' strategy for handling links
with data-method that we were already using for some selection
actions, so it should be minimally disruptive.
Tim Pierce [Fri, 16 Jan 2015 19:51:28 +0000 (14:51 -0500)]
4922: force google-api-python-client install
Install google-api-python-client with 'pip install -I' to fix the case
where the Docker image already has an older version of
google-api-python-client installed.
Brett Smith [Wed, 14 Jan 2015 20:22:24 +0000 (15:22 -0500)]
3835: PySDK raises NotFoundError when all Keep services report such.
Previously, we raised this error when >= 75% of services reported
such, as the most reasonable available cutoff to make the
distinction. Now that Keep exceptions include detailed information
about the error from each service, it seems useful to make this
threshold stricter, and only raise NotFoundError when we're sure
that's the problem. See further discussion from
<https://arvados.org/issues/3835#note-11>.
Brett Smith [Fri, 9 Jan 2015 18:15:07 +0000 (13:15 -0500)]
3835: Improve error reporting in PySDK Keep client.
* Create a KeepRequestError base exception to store information about
errors encountered when talking to Keep services, and include those
in the default formatting.
* Include Keep service error information in exceptions raised by the
Keep client.
Brett Smith [Wed, 14 Jan 2015 17:47:38 +0000 (12:47 -0500)]
Python packages use python-daemon<2.
It's good to see python-daemon under active development, but they're
working out so many little issues so rapidly that we're having a hard
time keeping on top of them in our builds. We're pinning the version
until things settle down a little. No issue #.
Radhika Chippada [Wed, 14 Jan 2015 16:10:27 +0000 (11:10 -0500)]
3686: Support sharing pane in repository show page.
Refactor current project sharing work into application area and reuse it for sharing repositories.
Refactor methods used by tests into helper and reuse in repository sharing tests.
Peter Amstutz [Mon, 12 Jan 2015 17:23:40 +0000 (12:23 -0500)]
4924: Update prints uuid from results, not the uuid originally specified.
Catch Oj::ParseError as well as JSON::ParserError. Titleize only HTTP status
messages, not every error message.
Peter Amstutz [Fri, 9 Jan 2015 20:37:42 +0000 (15:37 -0500)]
4924: Distinguish between errors the user can do something about (syntax errors
or well-formed server errors) and errors that the user probably can't recover
from (everything else.) Prints "Updated object" on success.
Peter Amstutz [Thu, 8 Jan 2015 15:26:35 +0000 (10:26 -0500)]
4924: Refactor arv edit and arv create to improve error handling.
* Error messages are now added in a comment block at the top of the file, and
the file is re-opened in the user's editor.
* Does not try to update attributes that are not changed.
* Exiting the editor with the file unchanged exits the editing loop.