Tom Clegg [Thu, 21 Jan 2016 19:35:34 +0000 (14:35 -0500)]
8281: Fix KeepClient retry bugs.
get() and put() were both handling all Curl exceptions -- including
timeouts -- by marking the keep service as unusable. For example, if a
single proxy is the only service available, a single timeout was
fatal. This is fixed by setting the retry loop status to None instead
of False after curl exceptions.
put() was repeating its retry loop until it achieved the desired
number of replicas _in a single iteration_. For example, when trying
to store 2 replicas, 6 loop iterations with a single success in each
iteration would result in 6 copies being stored but put() declaring
failure. This is fixed by checking against a cumulative "done" counter
instead of the "copies done in this loop iteration" counter.
Tom Clegg [Thu, 21 Jan 2016 09:01:16 +0000 (04:01 -0500)]
8281: Fix arv-mount ignoring --retries argument when writing file data.
"num_retries" arguments get passed around extensively in arvfile.py
and collection.py in the Python SDK, but ultimately the writing of
file data is done by a _BlockManager which doesn't have any way to
accept that argument or pass it along to a KeepClient, so PUT requests
always use the CollectionWriter's KeepClient's default num_retries.
In arv-mount's case, we have been telling CollectionWriter the
num_retries we want. When CollectionWriter creates a KeepClient,
num_retries gets passed along -- normally this works around the fact
that num_retries gets lost by the _BlockManager layer. However, we
provided our own KeepClient to use instead of letting CollectionWriter
create one, and we forgot to set num_retries on our own KeepClient, so
we weren't retrying PUT requests.
Ward Vandewege [Thu, 14 Jan 2016 16:01:04 +0000 (11:01 -0500)]
8189: Fix too-small page size in "fetch all pages" code.
Python SDK and workbench effectively default to the API server's
MAX_LIMIT when requesting a list of objects, in those cases where no
explicit limit is set in the client code.
Brett Smith [Thu, 31 Dec 2015 16:23:34 +0000 (11:23 -0500)]
8095: Make install guide bundle commands more consistent.
* Always instruct the user to use `sudo -u`. This prevents the
commands from generating cache files that the web server can't write
later.
* Always execute the command in the server's main directory. This
helps people run on automatic: if they leave a shell session open at
the API server directory, they can paste in a combination of Rails
console and script commands without `cd`ing around.
* Always give both RVM and non-RVM instructions. There might be a
good way to streamline this, e.g., by telling them to use rvmsudo
when available, but that can be a later optimization.
radhika [Mon, 4 Jan 2016 23:42:34 +0000 (18:42 -0500)]
7607: Update application layout tests; by default getting_started is disabled and hence the help menu will not include this option.
Also, added an additional test case for user with profile but no getting_started flag and expect the popup upon first login.
Brett Smith [Thu, 31 Dec 2015 17:08:17 +0000 (12:08 -0500)]
7957: Update Software Collections instructions in install guide.
* Document the process we currently follow on CentOS 6.
* Add a reference for RHEL instructions.
* Move noteboxes up, so people can follow the instructions
linearly ("enable Software Collections, then install the packages").
Brett Smith [Fri, 1 Jan 2016 20:26:22 +0000 (15:26 -0500)]
8014: Add #configure anchors to API server and Workbench install guides.
Package postinst scripts will use these to point people to the right
places in the documentation to read what steps they need to take
manually. The SSO server docs+package already follow this
convention. Refs #8014.
Brett Smith [Wed, 30 Dec 2015 23:53:12 +0000 (18:53 -0500)]
8082: Ensure consistent column widths in Workbench job banner.
4dcf4e849f242a929ce03b5d529e0e1a63fbaeb0 is the commit that introduced
the column inconsistencies. This is the smallest patch I could find
to address the issue. It may be less than ideal because it always
allocates a column to something that may not be displayed, but the
logic to keep track of column widths is already hairy and there are so
many conditions here that it stood to get a lot worse. Closes #8082.
Brett Smith [Wed, 30 Dec 2015 23:10:38 +0000 (18:10 -0500)]
8077: Tutorial suggests using the arvados/jobs Docker image.
This is all the hash script needs, and clusters are more likely to
have it than arvados/jobs-java-bwa-samtools, which is more of an
internal thing. Closes #8077.
Tom Clegg [Thu, 17 Dec 2015 06:07:32 +0000 (01:07 -0500)]
7884: Detect when a "download log" response has a JSON-encoded redirect
to keep-web, and convert it to POST to avoid a second redirect that
would be forbidden by SOP.