[ARVADOS] updated: 2918ed81152a1fe8607f433e36dceddc1cb78f74
Git user
git at public.curoverse.com
Wed Jul 26 16:07:16 EDT 2017
Summary of changes:
.../app/controllers/collections_controller.rb | 27 +-
.../app/controllers/healthcheck_controller.rb | 35 ++
apps/workbench/app/helpers/collections_helper.rb | 6 +-
apps/workbench/config/application.default.yml | 6 +-
apps/workbench/config/routes.rb | 2 +
.../controllers/healthcheck_controller_test.rb | 30 +
.../test/helpers/collections_helper_test.rb | 3 +
.../test/integration/anonymous_access_test.rb | 23 +
.../workbench/test/integration/collections_test.rb | 42 ++
.../test/integration/container_requests_test.rb | 5 +
build/build.list | 60 +-
build/package-build-dockerfiles/Makefile | 6 +-
build/package-build-dockerfiles/centos7/Dockerfile | 15 +-
build/package-build-dockerfiles/debian8/Dockerfile | 7 +-
.../package-build-dockerfiles/debian9/D39DC0E3.asc | 692 +++++++++++++++++++++
.../{debian8 => debian9}/Dockerfile | 20 +-
.../ubuntu1204/Dockerfile | 7 +-
.../ubuntu1404/Dockerfile | 9 +-
.../ubuntu1604/Dockerfile | 7 +-
build/package-test-dockerfiles/centos7/Dockerfile | 2 +-
build/package-test-dockerfiles/debian8/Dockerfile | 6 +-
.../package-test-dockerfiles/debian9/D39DC0E3.asc | 692 +++++++++++++++++++++
.../{debian8 => debian9}/Dockerfile | 13 +-
.../package-test-dockerfiles/ubuntu1204/Dockerfile | 6 +-
.../package-test-dockerfiles/ubuntu1404/Dockerfile | 6 +-
.../package-test-dockerfiles/ubuntu1604/Dockerfile | 4 +-
...n-test-packages.sh => test-packages-debian9.sh} | 0
build/run-build-packages-sso.sh | 3 +
build/run-build-packages.sh | 7 +-
build/run-tests.sh | 2 +
sdk/cwl/setup.py | 4 +-
sdk/go/health/handler.go | 109 ++++
sdk/go/health/handler_test.go | 137 ++++
sdk/python/arvados/commands/put.py | 16 +-
sdk/python/tests/test_arv_get.py | 43 +-
sdk/python/tests/test_arv_put.py | 26 +
.../arvados/v1/healthcheck_controller.rb | 35 ++
services/api/app/models/container_request.rb | 5 +
services/api/config/application.default.yml | 4 +
services/api/config/routes.rb | 2 +
services/api/test/fixtures/container_requests.yml | 19 +
services/api/test/fixtures/containers.yml | 17 +
.../arvados/v1/healthcheck_controller_test.rb | 30 +
services/api/test/integration/errors_test.rb | 2 +-
services/api/test/unit/container_request_test.rb | 24 +
services/fuse/README.rst | 2 +-
services/fuse/arvados_fuse/__init__.py | 6 +-
services/fuse/setup.py | 2 +-
services/fuse/tests/integration_test.py | 5 +
services/fuse/tests/mount_test_base.py | 4 +
services/keepstore/config.go | 2 +
services/keepstore/handler_test.go | 31 +
services/keepstore/handlers.go | 6 +
services/ws/permission.go | 3 +-
services/ws/router.go | 46 +-
services/ws/session_v0.go | 43 +-
services/ws/session_v0_test.go | 176 ++++--
tools/crunchstat-summary/MANIFEST.in | 1 +
.../crunchstat_summary/chartjs.js | 31 -
.../crunchstat_summary/chartjs.py | 88 ---
.../crunchstat_summary/dygraphs.js | 63 ++
.../crunchstat_summary/dygraphs.py | 33 +
.../crunchstat_summary/summarizer.py | 10 +-
.../crunchstat_summary/webchart.py | 61 ++
64 files changed, 2526 insertions(+), 303 deletions(-)
create mode 100644 apps/workbench/app/controllers/healthcheck_controller.rb
create mode 100644 apps/workbench/test/controllers/healthcheck_controller_test.rb
create mode 100644 build/package-build-dockerfiles/debian9/D39DC0E3.asc
copy build/package-build-dockerfiles/{debian8 => debian9}/Dockerfile (59%)
create mode 100644 build/package-test-dockerfiles/debian9/D39DC0E3.asc
copy build/package-test-dockerfiles/{debian8 => debian9}/Dockerfile (55%)
copy build/package-testing/{deb-common-test-packages.sh => test-packages-debian9.sh} (100%)
create mode 100644 sdk/go/health/handler.go
create mode 100644 sdk/go/health/handler_test.go
create mode 100644 services/api/app/controllers/arvados/v1/healthcheck_controller.rb
create mode 100644 services/api/test/functional/arvados/v1/healthcheck_controller_test.rb
delete mode 100644 tools/crunchstat-summary/crunchstat_summary/chartjs.js
delete mode 100644 tools/crunchstat-summary/crunchstat_summary/chartjs.py
create mode 100644 tools/crunchstat-summary/crunchstat_summary/dygraphs.js
create mode 100644 tools/crunchstat-summary/crunchstat_summary/dygraphs.py
create mode 100644 tools/crunchstat-summary/crunchstat_summary/webchart.py
via 2918ed81152a1fe8607f433e36dceddc1cb78f74 (commit)
via 12319740a7d95c099a5521fd85a3200528307de1 (commit)
via 1dd3f0e144b5102128f18974f48f620aaf7b78b3 (commit)
via 9997ada67ce36d2fbe831bce473aa61250727aff (commit)
via 3574793a2104d523f924d3ce3f6d1eab049835a1 (commit)
via da037c1372879cb0ebc221c42ebdb86af669295b (commit)
via fc2705f7015381705bd06e7f9578e4ba3fac682a (commit)
via c834c3463440d07ad528241d7910682cb374103d (commit)
via 0e0dc3c8ebf442a35c41816fed42fdddb53aed53 (commit)
via a2fc189f7a50964340bc60704c5cd3bef9114c7d (commit)
via 2835665e43a3b85c85fefcd348015b5dee829cba (commit)
via 34c4b3001b3aafc91213f02689d6e61977ad29b3 (commit)
via 4feae2077b224dfd7e690da72bbe62aefebec431 (commit)
via 49b9c5f4917468f2b23267fe045cbc94323210ce (commit)
via 0b51ce6bfc3c50155de18eb4440021688462fb6a (commit)
via 236a667953bc828576faa50af9d4d4225038f9e7 (commit)
via 6cc4c2ed2e9503c07b33b8fb8469516af80b8a26 (commit)
via 5e5bc2b2153a0af624d75a3c348b996ddf458ef2 (commit)
via 07cd679b6526fcc9f2d3295f10751906e91872c9 (commit)
via ec20efc4ff681e8af7ce61d9e48296cd52be41b8 (commit)
via 7e7ada63bca240416584871398076c1bafc90f76 (commit)
via ff56222d3f589a0c33ec7b06e092e7481bbdf1e5 (commit)
via 3f7bde601546dc898975fbe7d56957794985fe43 (commit)
via ed27ef88210f7fd23f0eafc55a44babd5f6c55fe (commit)
via b210f531c6db76f5f9bc5dac948a32eb52ad7e03 (commit)
via a143375dc725aa517c091c6826bf37b4caa69161 (commit)
via 85d5f916501c05e1bb980690f2d2712a3413e975 (commit)
via 10138c15c015c3c0c3546e5083642cf2145dfe82 (commit)
via 818daa27b9911bb360d80662b3beb86d1ca2188d (commit)
via da94fc33ede86bf19fec91e6d5c2abeb8bbfd165 (commit)
via 2397c4a4ab0dd9cad3eaeb77a4ef0cc37bd80a23 (commit)
via 4442b72c3b18e2ada857dd66f18754ccc95854ca (commit)
via e65fffb60a5697ce1991ceb01a15001eb7adb101 (commit)
via b9411e85079a76573f722febfdd5ab5e4c85c9f7 (commit)
via 943b3e807126ba5dc936ceeeddbee9801dab7308 (commit)
via 5b7be380a48b83c2c87427892db209483ab193af (commit)
via 10e2711b4202cc2a6d2a4844b9a096a989eaf4f3 (commit)
via fd50115d7e01a595f65e47dd95b129362d18e975 (commit)
via 3bbe6cfeb45325554c97c674770ca64f2d367b83 (commit)
via 247d202b57d7c65e4192e0667446d533e552bed7 (commit)
via 67a56c0f797826ae5a8ac2410f9e5abe607a868b (commit)
via 529d3d900b308a72fc34c57e6b9deea18add9238 (commit)
via 18f6483ffe8d6191bce55c464070f9f5c08b9b01 (commit)
via 85bd5f3272cfc8ba8e54f4f47ea9865d7de62779 (commit)
via 3a5b003b5cf784e96799d8ddadc939834620fd34 (commit)
via 63e12fa3f15d417526db4f743108fe4eedcfcad0 (commit)
via bf87f4aba81caff15b174393faf074cf9d8ba554 (commit)
via 41f48ea20b33e59ced47a6e96f8198a76d43b619 (commit)
via 6ff6c7a392a7064cba408b566a8ce5b86dadbc78 (commit)
via 96ae27be78eeee85d9462123367b1221d5b96350 (commit)
via eb66b34d22cef6c98ad9ebdc228cf784b3136b72 (commit)
via d3700e50bcaa9db177346199298913b54e37a2d5 (commit)
via 938a0cc22ad9d520c653b8b41d5b1bb2163a1020 (commit)
via 03eee1573c7301b038306d6b6a1272c710317ef4 (commit)
via 5d081c423f314060cefafc7149850ea1dcbe098a (commit)
via d1562916e4792c0a9b4b2a4aea842e7c2848d38a (commit)
via 1be8ac0f887cb1c639ac502c47438a8260735069 (commit)
via 1e7fda3fcfb9b3030c65f56e06764d20496a0610 (commit)
via 446e64dc143148e52a126fa502bf63299c94197e (commit)
via 7777370ae3c0815c266148f097355f70bdd1a0e3 (commit)
via 187382bb88eee65d887c004d73eddf46cbd86bc2 (commit)
via 0041af13b61716fb9044c050b2ef34a3315566d6 (commit)
via a3bfffe950102b82b6655b91038bba9e6b085f03 (commit)
from 8f3070e16d4eaa581555f63e74ebe578927bfcce (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 2918ed81152a1fe8607f433e36dceddc1cb78f74
Author: Lucas Di Pentima <lucas at curoverse.com>
Date: Mon Jul 24 19:09:14 2017 -0300
11167: Re-added another removed integration test, adjusted to work
with keep-web.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at curoverse.com>
diff --git a/apps/workbench/test/integration/anonymous_access_test.rb b/apps/workbench/test/integration/anonymous_access_test.rb
index d69de2c..fef83ba 100644
--- a/apps/workbench/test/integration/anonymous_access_test.rb
+++ b/apps/workbench/test/integration/anonymous_access_test.rb
@@ -123,11 +123,11 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
magic = rand(2**512).to_s 36
token = api_fixture('api_client_authorizations')['admin']['api_token']
- logblock = `echo -n #{magic.shellescape} | ARVADOS_API_TOKEN=#{token.shellescape} arv-put --no-progress --raw -`.strip
+ datablock = `echo -n #{magic.shellescape} | ARVADOS_API_TOKEN=#{token.shellescape} arv-put --no-progress --raw -`.strip
assert $?.success?, $?
col = nil
use_token 'admin' do
- mtxt = ". #{logblock} 0:#{magic.length}:Hello\\040world.txt\n"
+ mtxt = ". #{datablock} 0:#{magic.length}:Hello\\040world.txt\n"
col = Collection.create(
manifest_text: mtxt,
owner_uuid: api_fixture('groups')['anonymously_accessible_project']['uuid'])
diff --git a/apps/workbench/test/integration/collections_test.rb b/apps/workbench/test/integration/collections_test.rb
index abe34ac..71cfe38 100644
--- a/apps/workbench/test/integration/collections_test.rb
+++ b/apps/workbench/test/integration/collections_test.rb
@@ -6,6 +6,8 @@ require 'integration_helper'
require_relative 'integration_test_utils'
class CollectionsTest < ActionDispatch::IntegrationTest
+ include KeepWebConfig
+
setup do
need_javascript
end
@@ -52,6 +54,46 @@ class CollectionsTest < ActionDispatch::IntegrationTest
end
end
+ test "can download an entire collection with a reader token" do
+ use_keep_web_config
+
+ token = api_fixture('api_client_authorizations')['active']['api_token']
+ data = "foo\nfile\n"
+ datablock = `echo -n #{data.shellescape} | ARVADOS_API_TOKEN=#{token.shellescape} arv-put --no-progress --raw -`.strip
+ assert $?.success?, $?
+
+ col = nil
+ use_token 'active' do
+ mtxt = ". #{datablock} 0:#{data.length}:foo\n"
+ col = Collection.create(manifest_text: mtxt)
+ end
+
+ uuid = col.uuid
+ token = api_fixture('api_client_authorizations')['active_all_collections']['api_token']
+ url_head = "/collections/download/#{uuid}/#{token}/"
+ visit url_head
+ # It seems that Capybara can't inspect tags outside the body, so this is
+ # a very blunt approach.
+ assert_no_match(/<\s*meta[^>]+\bnofollow\b/i, page.html,
+ "wget prohibited from recursing the collection page")
+ # Look at all the links that wget would recurse through using our
+ # recommended options, and check that it's exactly the file list.
+ hrefs = page.all('a').map do |anchor|
+ link = anchor[:href] || ''
+ if link.start_with? url_head
+ link[url_head.size .. -1]
+ elsif link.start_with? '/'
+ nil
+ else
+ link
+ end
+ end
+ assert_equal(['foo'], hrefs.compact.sort,
+ "download page did provide strictly file links")
+ click_link "foo"
+ assert_text "foo\nfile\n"
+ end
+
test "combine selected collections into new collection" do
foo_collection = api_fixture('collections')['foo_file']
bar_collection = api_fixture('collections')['bar_file']
commit 12319740a7d95c099a5521fd85a3200528307de1
Author: Lucas Di Pentima <lucas at curoverse.com>
Date: Mon Jul 24 17:53:58 2017 -0300
11167: Reverted deletion of integration test. Modified it so it
can work with keep-web instead of arv-get.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at curoverse.com>
diff --git a/apps/workbench/test/integration/anonymous_access_test.rb b/apps/workbench/test/integration/anonymous_access_test.rb
index 92e3cf5..d69de2c 100644
--- a/apps/workbench/test/integration/anonymous_access_test.rb
+++ b/apps/workbench/test/integration/anonymous_access_test.rb
@@ -5,6 +5,8 @@
require 'integration_helper'
class AnonymousAccessTest < ActionDispatch::IntegrationTest
+ include KeepWebConfig
+
# These tests don't do state-changing API calls. Save some time by
# skipping the database reset.
reset_api_fixtures :after_each_test, false
@@ -116,6 +118,27 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
end
end
+ test 'view file' do
+ use_keep_web_config
+
+ magic = rand(2**512).to_s 36
+ token = api_fixture('api_client_authorizations')['admin']['api_token']
+ logblock = `echo -n #{magic.shellescape} | ARVADOS_API_TOKEN=#{token.shellescape} arv-put --no-progress --raw -`.strip
+ assert $?.success?, $?
+ col = nil
+ use_token 'admin' do
+ mtxt = ". #{logblock} 0:#{magic.length}:Hello\\040world.txt\n"
+ col = Collection.create(
+ manifest_text: mtxt,
+ owner_uuid: api_fixture('groups')['anonymously_accessible_project']['uuid'])
+ end
+
+ visit '/collections/' + col.uuid
+ find('tr,li', text: 'Hello world.txt').
+ find('a[title~=View]').click
+ assert_text magic
+ end
+
[
'running anonymously accessible cr',
'pipelineInstance'
commit 1dd3f0e144b5102128f18974f48f620aaf7b78b3
Author: Lucas Di Pentima <lucas at curoverse.com>
Date: Mon Jul 24 17:52:39 2017 -0300
11167: Removed conditional that check is keep_web is configured
because workbench already do this at start.
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at curoverse.com>
diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb
index 6dd190e..151b3a5 100644
--- a/apps/workbench/app/controllers/collections_controller.rb
+++ b/apps/workbench/app/controllers/collections_controller.rb
@@ -141,23 +141,18 @@ class CollectionsController < ApplicationController
return
end
- # If we are configured to use a keep-web server, just redirect to
- # the appropriate URL.
- if Rails.configuration.keep_web_url or
- Rails.configuration.keep_web_download_url
- opts = {}
- if usable_token == params[:reader_token]
- opts[:path_token] = usable_token
- elsif usable_token == Rails.configuration.anonymous_user_token
- # Don't pass a token at all
- else
- # We pass the current user's real token only if it's necessary
- # to read the collection.
- opts[:query_token] = usable_token
- end
- opts[:disposition] = params[:disposition] if params[:disposition]
- return redirect_to keep_web_url(params[:uuid], params[:file], opts)
+ opts = {}
+ if usable_token == params[:reader_token]
+ opts[:path_token] = usable_token
+ elsif usable_token == Rails.configuration.anonymous_user_token
+ # Don't pass a token at all
+ else
+ # We pass the current user's real token only if it's necessary
+ # to read the collection.
+ opts[:query_token] = usable_token
end
+ opts[:disposition] = params[:disposition] if params[:disposition]
+ return redirect_to keep_web_url(params[:uuid], params[:file], opts)
end
def sharing_scopes
commit 9997ada67ce36d2fbe831bce473aa61250727aff
Merge: 8f3070e 3574793
Author: Lucas Di Pentima <lucas at curoverse.com>
Date: Mon Jul 24 10:15:23 2017 -0300
11167: Merge branch 'master' into 11167-wb-remove-arvget
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas at curoverse.com>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list