Tom Clegg [Sat, 9 Aug 2014 16:30:25 +0000 (12:30 -0400)]
3551: Fix source tree layout.
* Move $GOPATH out of the source tree. ($GOPATH is a workspace. Go
knows how to import source trees into $GOPATH/src/.) This avoids
replicating the Go workspace structure inside our source tree, and
allows Go programs to import our libraries the normal way.
* Add Go SDK documentation page showing how to import.
* Rename keep to keepstore.
* In Python tests, we assume keepproxy and keepstore binaries are
already installed in $GOPATH/bin/ rather than guessing how you want
them to be built.
* Delete go.sh wrappers. Dependencies are already installed
automatically by Go. GOPATH is left alone.
We previously relied on the docker_image_hash link to treat a
Collection as a Docker image. This was safer and simpler, but it
creates obstacles for project sharing. When we have a Collection
locator that we want to treat as a Docker image, we now check that it
has a single file with a single 64-hexdigit tar file in it, and use
that as the hash if so. This should still prevent clear mistakes
while removing some of the obstacles to sharing.
Tom Clegg [Thu, 7 Aug 2014 23:45:12 +0000 (19:45 -0400)]
3499: Improve Python SDK's ability to read apiserver's config files.
Use a hardcoded secret in the default "test" configuration, rather
than generating a random string with erb. Otherwise, the Python test
suite can't figure out what blob signing key the test server actually
ends up using.
Brett Smith [Wed, 6 Aug 2014 21:28:12 +0000 (17:28 -0400)]
3427: Restore arv-put's resume functionality.
The refactoring in 0d1a48e accidentally introduced a bug where arv-put
wipes its resume cache clean before building the uploader. Because
the refactor always arranges `resume_cache = None` when the user
doesn't want to resume, we can fix the bug by just skipping the wipe.
Closes #3427.
Brett Smith [Tue, 5 Aug 2014 19:18:14 +0000 (15:18 -0400)]
3415: API exceptions from Python SDK include more error information.
The apiclient module doesn't give us a lot of opportunities to
customize error handling. Request objects can have response
callbacks, but they only get access to the response headers, not body,
which we need to pass along JSON errors. After that, apiclient.http
imports apiclient.errors.HttpError directly, and raises that directly
whenever there's a permanent error in an HTTP response.
arvados.api already makes a few monkeypatches to apiclient, and this
commit adds one more: it customizes HttpError's __new__ method to
return a new customized subclass instead. This is pretty evil,
because it will mess with any other instantiations of HttpError in
client programs. Its only mitigating grace is that the new subclass
is fully API-compatible with the original.
Peter Amstutz [Mon, 4 Aug 2014 15:28:28 +0000 (11:28 -0400)]
Fixed "Tutorial align using bwa mem and SortSam" template. Tweaked
instructions for creating and editing template. Fixed docker image in template
provided on "writing a crunch script".
Ward Vandewege [Sun, 3 Aug 2014 21:23:14 +0000 (23:23 +0200)]
* Default to using the auth.curoverse.com SSO server. Add instructions
in config.yml.example for using a local SSO server.
* Do not prepopulate the config.yml file generated by build.sh with
random values for _PW and _SECRET variables, let config.rb deal with
that at build time.
* Make config.rb a bit more robust in choosing those values for _PW and
_SECRET by not depending on any particular key order in the config Hash.
Tim Pierce [Fri, 1 Aug 2014 21:03:28 +0000 (17:03 -0400)]
2769: code review comments
* DeleteHandler returns http.StatusNotFound when no blocks could be found at all,
and http.StatusMethodNotAllowed when all delete attempts
fail (e.g. read-only volumes)
* Unit test cleanup: "http://localhost:25107" is not actually necessary
to build a http.Request, and it is confusing, so leave it out.
Peter Amstutz [Fri, 1 Aug 2014 02:02:50 +0000 (22:02 -0400)]
Added special case to ArvadosModel#readable_by so that a name link going from a
readable group or user uuid confers permission to read the collection. Added
unit test.