Brett Smith [Sat, 1 Aug 2015 19:03:15 +0000 (15:03 -0400)]
6591: Improve install docs around $external_client variable.
Our Nginx configuration uses this variable to automatically set
X-External-Client: 1 in API request headers when clients don't have
direct access to Keep stores.
* Document the variable definition, and how to customize it, in the
suggested API server configuration.
* Remove the variable from the Workbench configuration. Workbench
does not currently read this header, so it isn't necessary.
Brett Smith [Sun, 2 Aug 2015 14:07:16 +0000 (10:07 -0400)]
6847: Handle Docker DNS in Docker daemon configuration.
crunch-job currently uses the host's public IP address as a DNS
resolver for containers. This requires all compute nodes to run DNS,
which isn't strictly necessary. Remove this code, and document how to
set nameservers in the Docker daemon configuration.
Brett Smith [Sat, 1 Aug 2015 20:24:54 +0000 (16:24 -0400)]
Merge branch '6590-api-config-docs'
I am breaking our own rules here, since this merge includes a
non-trivial commit from me that hasn't been reviewed. I'm going ahead
with it because I understand the driving motivation of branch reviews
is to make sure two sets of eyes see changes that could impact future
work, and I think that's been accomplished here. My changes only
touch what Peter had already changed.
Plus, with Peter out for a week, the benefits of merging outweigh the
value of holding back. Users get the benefit of improved
documentation immediately; we'll look better at sprint review; and
documentation mistakes are comparatively easy to fix after the fact.
Brett Smith [Sat, 1 Aug 2015 20:02:15 +0000 (16:02 -0400)]
6590: Aesthetic improvements to the API install guide.
This implements the flow and grammar fixes requested in
<https://arvados.org/issues/6590#note-7>. It also separates the
documentation for git_repositories_dir and git_internal_dir, and adds
a note that git_internal_dir should not be a subdirectory of
git_repositories_dir.
Brett Smith [Fri, 31 Jul 2015 14:26:42 +0000 (10:26 -0400)]
Fix type checks in arv-copy recursive collection copying.
This is necessary follow-up from 79564b0ac7d03327cc351bbd6df544ab1f776380. API objects are now
OrderedDicts instead of dicts, so `type(obj) == dict` is never true,
and calling this function on an API object is a noop.
No issue #. I found this after receiving a user report that arv-copy
did not copy dependent collections from a pipeline template.
Instruments the find_commit_range function such that it logs an
explanatory warning in any case when it fails to find any refs.
When no refs are found, find_commit_range returns an empty list
which typically causes its caller to throw an exception. Without
these added warnings, that exception is not at all helpful in
tracking down the underlying issue.
Brett Smith [Thu, 30 Jul 2015 21:34:50 +0000 (17:34 -0400)]
RVM setup instructions tell you to install Bundler after activation.
On hosts that do not have any Ruby installed, the previous
instructions won't work, because the `gem` tool is only available
through RVM. RVM needs to be activated in the shell first.
Tom Clegg [Thu, 30 Jul 2015 14:04:02 +0000 (10:04 -0400)]
6663: Admins and repository owners can_manage, not just can_write
(even though that might not translate to any additional functions with
the current gitolite config).
Tom Clegg [Tue, 28 Jul 2015 22:11:59 +0000 (18:11 -0400)]
6663: Fix repository permissions.
Users with is_active==false (except anonymous_user) are not listed by
get_all_permissions.
A repository that is shared with a group is only shared with users who
have permissions on that group, not all users who have permissions on
*any* group.
{User --can_write--> group --can_read--> repo} is correctly listed as
{User --can_read--> repo}, not can_write.
Tests check that the permissions reported by get_all_permissions do
not exceed the API server's interpretation of the current permission
set.
Peter Amstutz [Fri, 24 Jul 2015 18:08:18 +0000 (14:08 -0400)]
6706: Bonus websockets bugfix, close connection immediately instead of waiting
for server shutdown response that might never come, then block until websocket
thread is in terminate state.
refs #6279
Increased timeout to 2000ms; with the previous 1000ms value, the login to shell account was failing
sometimes as the token is being sent too early. With this value, it seems to work consistently.
Peter Amstutz [Thu, 23 Jul 2015 20:02:20 +0000 (16:02 -0400)]
6681: When input file is "-", get data directly from sys.stdin and use
CollectionWriter.write() instead of opening /dev/stdin and trying to write like
a normal file.
Peter Amstutz [Thu, 23 Jul 2015 15:22:32 +0000 (11:22 -0400)]
6705: Use EventMachine::next_tick (which always pushes task into work queue)
instead of EventMachine::schedule (which calls recursively). Also lower limit
of number of rows to fetch at a time.
Peter Amstutz [Thu, 23 Jul 2015 15:21:04 +0000 (11:21 -0400)]
6705: PollClient checks if there are more items and sends another query
immediately instead of waiting. Better error reporting from events.py on
failure to connect to websockets.
Brett Smith [Thu, 23 Jul 2015 14:11:48 +0000 (10:11 -0400)]
6750: API install guide doesn't tell users to copy omniauth.rb.example.
This completes the work started in 2ecf7efbab5ceb082739dcffd98c18bb4b14447e. omniauth.rb.example doesn't
exist anymore, so users can't copy it. The application.yml
configuration method is preferred. Closes #6750.