Tim Pierce [Tue, 13 May 2014 15:06:00 +0000 (11:06 -0400)]
2755: Verify permission signatures on create.
Phase 1 of #2755: when creating a new collection, verify any permission
signatures found in the manifest. Unsigned locators in the manifest are
implicitly permitted (to be disabled in Phase 4)
* New "Locator" class to parse, examine and manipulate Keep locators.
* Collections.create checks permission signatures in a manifest.
* Collections.show signs locators in a manifest.
* collections_controller_test.rb: new unit tests to exercise signed
manifests and related features:
- "create collection with signed manifest"
- "create collection with signed manifest and explicit TTL"
- "create fails with invalid signature"
- "create fails with uuid of signed manifest"
- "multiple locators per line"
- "multiple signed locators per line"
* application.yml.example: new configuration variables
- Rails.configuration.blob_signing_key
- Rails.configuration.blob_signing_ttl
Brett Smith [Fri, 9 May 2014 18:37:07 +0000 (14:37 -0400)]
2803: Split arvados and arvados_fuse Python modules.
Prior commits tried to make separate SDK and FUSE packages from the
same sdk/python source tree. However, this didn't work as intended
once the packages were installed. Python modules don't work like Ruby
namespaces. If you ask Python to import arvados.fuse, it finds the
arvados module, then looks for the fuse submodule under it. So you
can't have arvados.fuse installed somewhere completely differently.
In addition, Python packages assume the installation script is called
setup.py. So they wouldn't find setup_fuse.py.
We still want to have the FUSE module separate, so in discussion on
IRC we decided that the least worst option was to rename the module to
arvados_fuse. This commit implements that. If accepted, the new
build procedure will be:
Peter Amstutz [Thu, 8 May 2014 20:54:18 +0000 (16:54 -0400)]
Merge branch 'master' of git.clinicalfuture.com:arvados
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Peter Amstutz [Thu, 8 May 2014 20:52:45 +0000 (16:52 -0400)]
- Added MANIFEST.in to include setup_header.py in the source package. Now gets
the version number from PKG-INFO metadata if available, or git if not, which
should handle all the cases of using sdist, pip install, or install from git
checkout.
- Improved run_test_server.py and fixed Python SDK tests to use it.
Brett Smith [Thu, 8 May 2014 20:38:46 +0000 (16:38 -0400)]
2759: Workbench shouldn't try to make links from Link names.
Because the name attribute can include arbitrary text, it might
resemble an Arvados object UUID. If that happens, the
_arvados_attr_value partial will try to make a link from it. All
sorts of weirdness could happen as a result (our specific bug was a
bad URL fed to Workbench's API client), so don't even try. Just
render the name directly as editable text.
radhika [Thu, 8 May 2014 18:06:04 +0000 (14:06 -0400)]
2525: getAvailableParametersForMethod includes properties from request also.
This is required for create and update methods which have no other parameters.
Brett Smith [Thu, 8 May 2014 17:15:16 +0000 (13:15 -0400)]
Bugfix: Don't crash trying to render a new log buffer.
If you submit a Job and then try to load your Workbench Dashboard,
Workbench will likely crash because the log_buffer is a symbol at that
time. This check guards to make sure that we only try to render
actual log content.
radhika [Thu, 8 May 2014 17:02:55 +0000 (13:02 -0400)]
2352: when a running pipeline_instance is stopped in workbench, put it in Paused state.
Similar behavior as when run with --run-here at command prompt.
Brett Smith [Wed, 7 May 2014 15:28:16 +0000 (11:28 -0400)]
crunch: Install Docker images on demand.
Ward requested this to simplify the installation and testing
procedure. This is sort of temporary scaffolding; we expect that in
the future Docker images will be stored in, and read from, Keep.
Peter Amstutz [Wed, 7 May 2014 14:32:54 +0000 (10:32 -0400)]
Eliminated build.sh and sed in favor of a common setup_header.py script which
call popen to get the git revision directly. Removed spurious server_pid > 0
and added except Execption: on run_test_server.py.
Tom Clegg [Wed, 7 May 2014 03:15:40 +0000 (23:15 -0400)]
Refuse to run rake tasks without "bundle exec".
Otherwise you can accidentally load (or dump) schemas without having
the pg_power gem loaded, which will leave you with incorrect indexes
in your database (or schema.rb).
Peter Amstutz [Tue, 6 May 2014 15:25:34 +0000 (11:25 -0400)]
Improved fresh/stale handling with base class, added property fuse inode cache
invalidation. Added common merge function for handling directory updates.
arv-mount now daemonizes by default.