[ARVADOS] updated: c7515954731c6b7c0d8fb241ec4316a5e6d62d0c

Git user git at public.curoverse.com
Mon Mar 13 19:48:58 EDT 2017


Summary of changes:
 .../install-keep-balance.html.textile.liquid       |  15 +-
 doc/install/install-keepstore.html.textile.liquid  |   4 +-
 sdk/cli/bin/crunch-job                             |  24 ++-
 sdk/go/arvados/client.go                           |   7 +
 sdk/go/arvados/collection.go                       |   4 +-
 sdk/go/arvados/log.go                              |  12 +-
 sdk/go/arvados/workflow.go                         |  22 ++
 sdk/go/arvadostest/fixtures.go                     |  26 ++-
 sdk/python/arvados/api.py                          |   2 +-
 sdk/python/arvados/collection.py                   |   1 +
 .../api/app/controllers/application_controller.rb  |   6 +-
 .../v1/api_client_authorizations_controller.rb     |   4 +-
 .../controllers/arvados/v1/groups_controller.rb    |   8 +-
 .../arvados/v1/keep_disks_controller.rb            |  32 ++-
 services/api/app/models/arvados_model.rb           |  15 ++
 services/api/app/models/container.rb               |   9 +-
 services/api/app/models/job.rb                     |   2 +
 services/api/config/initializers/lograge.rb        |   4 +-
 .../20170301225558_no_downgrade_after_json.rb      |   9 +
 services/api/db/structure.sql                      | 134 ++++++------
 services/api/lib/create_superuser_token.rb         |  13 +-
 services/api/lib/eventbus.rb                       |   9 +-
 services/api/lib/load_param.rb                     |   8 +-
 services/api/lib/safe_json.rb                      |   8 +
 services/api/lib/serializers.rb                    |  55 +++++
 .../api/test/functional/arvados/v1/filters_test.rb |  52 +++++
 .../integration/collections_performance_test.rb    |   5 +-
 services/api/test/integration/websocket_test.rb    |  40 ++--
 .../api/test/unit/create_superuser_token_test.rb   |   3 +-
 services/api/test/unit/seralizer_test.rb           |  22 ++
 services/crunch-run/crunchrun.go                   |   2 +
 services/crunch-run/crunchrun_test.go              |   2 +
 services/fuse/arvados_fuse/command.py              |   4 +
 services/fuse/tests/test_mount_type.py             |  23 ++
 services/nodemanager/arvnodeman/config.py          |   3 +-
 services/nodemanager/arvnodeman/jobqueue.py        |   8 +-
 services/nodemanager/arvnodeman/launcher.py        |   3 +-
 services/nodemanager/doc/azure.example.cfg         |   6 +
 services/nodemanager/doc/ec2.example.cfg           |   6 +
 services/nodemanager/doc/gce.example.cfg           |   6 +
 services/nodemanager/tests/test_config.py          |   4 +
 services/nodemanager/tests/test_jobqueue.py        |  16 ++
 services/ws/event_source.go                        |  38 +++-
 services/ws/event_source_test.go                   | 108 ++++++++++
 services/ws/event_test.go                          |  21 ++
 services/{keepstore => ws}/gocheck_test.go         |   3 +-
 services/ws/main.go                                |  32 +--
 services/ws/permission.go                          |  28 ++-
 services/ws/permission_test.go                     |  71 ++++++
 services/ws/server.go                              |  71 ++++++
 services/ws/server_test.go                         |  61 ++++++
 services/ws/session_v0_test.go                     | 238 +++++++++++++++++++++
 tools/arvbox/bin/arvbox                            |  78 ++++---
 .../arvbox/docker/service/websockets/run-service   |  39 ++--
 54 files changed, 1163 insertions(+), 263 deletions(-)
 create mode 100644 sdk/go/arvados/workflow.go
 create mode 100644 services/api/db/migrate/20170301225558_no_downgrade_after_json.rb
 create mode 100644 services/api/lib/safe_json.rb
 create mode 100644 services/api/lib/serializers.rb
 create mode 100644 services/api/test/unit/seralizer_test.rb
 create mode 100644 services/fuse/tests/test_mount_type.py
 create mode 100644 services/ws/event_source_test.go
 create mode 100644 services/ws/event_test.go
 copy services/{keepstore => ws}/gocheck_test.go (76%)
 create mode 100644 services/ws/permission_test.go
 create mode 100644 services/ws/server.go
 create mode 100644 services/ws/server_test.go
 create mode 100644 services/ws/session_v0_test.go

       via  c7515954731c6b7c0d8fb241ec4316a5e6d62d0c (commit)
       via  2ab1b540a710fd454f33e9ba22db601e67f3d217 (commit)
       via  f63c160fd1cec8dddc673900f5cda824bed30d88 (commit)
       via  605d11f27e73ce60794fa9858aeed8ed961261e8 (commit)
       via  fa8c5cdb36fa89af92087d6465b207d65ffc9618 (commit)
       via  82697fea93b1c87cdee27d2b9a76c1b7ac07497e (commit)
       via  a15fc58f280171660afd2b9f1938f0a6bc5ede4a (commit)
       via  c7143dc92806d7b0c6f434e91744a04e5283284d (commit)
       via  005595fb1a7da851a863118fba7e3d00026fb3a3 (commit)
       via  533a50bbcee4ece451a65e87066563a5b33ef150 (commit)
       via  c97408a51dab3e968c76cf8c1d873fbe0f99a0dd (commit)
       via  4812b5639cfaf724540786fcd331aaa227635c77 (commit)
       via  101e3227b25c16874fa73660bfd7e338fbfe0da2 (commit)
       via  9dae71315a83504493952f9039de958594e45f31 (commit)
       via  a1b0149879593df786807afbefb26d4687ebe161 (commit)
       via  b6423b5e5261f1ddaa88db2548e2190f82de21e8 (commit)
       via  cb0b666f86ce87d35667e8e23e3775b703a37841 (commit)
       via  a4a3227c634d8cfd54a23205be727e910032cbe9 (commit)
       via  47c56297f949a1bebaa758cb8ce1684ffed22744 (commit)
       via  2e5c44a64ea51f7ae61e286f2c88b057af1bc22f (commit)
       via  660a6143ecf1e777f33bd84183ba9e821e1d7a8e (commit)
       via  f7d32ebcf2e0641cf92d079387dc325d65e35879 (commit)
       via  07e4083ea451913b988d77e8e4c926da8ad844a4 (commit)
       via  dd08615e98e656ae07c6ca26eaa635f6ce8f01b7 (commit)
       via  594e00f9311da95f73843f55b6e1c7c3ad55d8df (commit)
       via  6fe6fb4a307dade78b4f64a3f0f06a9caa8a056d (commit)
       via  c7a44e530c2ecb036ac46d71a0306c6f64c439ee (commit)
       via  345dfd5a605c9171182cd8acb2918e899f64160b (commit)
       via  766ddd6d958826049c2811f6d058480246e423a6 (commit)
       via  d7c84d69bb62d61bc671b2d5e0ad4ed42dbeb7c0 (commit)
       via  2db0c3a44d8f12e3a566c796bdecaa1de150b155 (commit)
       via  a58e9ca25aaa0963545f256985eb75b2f840e80f (commit)
       via  f36162457a771824059fefa098a3ffb89c59263f (commit)
       via  b3fa9983ac0b7b38a5b3787af56a7bb1502ae3be (commit)
       via  aea8596a74dabdc894fc1139c4d8dc195e6c86b2 (commit)
       via  ca812f58e63bd4673bb62aa8528e07d6020bfc9a (commit)
      from  cad4856b84ff09f8d66faf16cc02ce68ef87995f (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 c7515954731c6b7c0d8fb241ec4316a5e6d62d0c
Author: radhika <radhika at curoverse.com>
Date:   Mon Mar 13 18:05:26 2017 -0400

    11071: test count=none in groups#contents method.

diff --git a/services/api/app/controllers/arvados/v1/groups_controller.rb b/services/api/app/controllers/arvados/v1/groups_controller.rb
index 1b74af7..7d4bca5 100644
--- a/services/api/app/controllers/arvados/v1/groups_controller.rb
+++ b/services/api/app/controllers/arvados/v1/groups_controller.rb
@@ -93,19 +93,19 @@ class Arvados::V1::GroupsController < ApplicationController
 
     seen_last_class = false
     klasses.each do |klass|
-      @offset = 0 if seen_last_class  # reset offset for the new type being processed
+      @offset = 0 if seen_last_class  # reset offset for the new next type being processed
 
       # if current klass is same as params['last_object_class'], mark that fact
-      seen_last_class = true if params['count'] == 'none' and (params['last_object_class'].empty? or params['last_object_class'] == klass.to_s)
+      seen_last_class = true if(params['count'].andand.==('none') and (params['last_object_class'].nil? or params['last_object_class'].empty? or params['last_object_class'] == klass.to_s))
 
-      # if a klasses are specified, skip all other klass types
+      # if klasses are specified, skip all other klass types
       next if wanted_klasses.any? and !wanted_klasses.include?(klass.to_s)
 
       # don't reprocess klass types that were already seen
       next if params['count'] == 'none' and !seen_last_class
 
       # don't process rest of object types if we already have needed number of objects
-      break ifparams['count'] == 'none' and @objects.size == @limit
+      break if params['count'] == 'none' and all_objects.size >= limit_all
 
       # If the currently requested orders specifically match the
       # table_name for the current klass, apply that order.
diff --git a/services/api/test/functional/arvados/v1/filters_test.rb b/services/api/test/functional/arvados/v1/filters_test.rb
index 2b1b675..b0660f9 100644
--- a/services/api/test/functional/arvados/v1/filters_test.rb
+++ b/services/api/test/functional/arvados/v1/filters_test.rb
@@ -95,4 +95,56 @@ class Arvados::V1::FiltersTest < ActionController::TestCase
       end
     end
   end
+
+  test "full text search with count='none'" do
+    @controller = Arvados::V1::GroupsController.new
+    authorize_with :admin
+
+    get :contents, {
+      format: :json,
+      count: 'none',
+      limit: 1000,
+      filters: [['any', '@@', Rails.configuration.uuid_prefix]],
+    }
+
+    assert_response :success
+
+    all_objects = Hash.new(0)
+    json_response['items'].map{|o| o['kind']}.each{|t| all_objects[t] += 1}
+
+    assert_equal true, all_objects['arvados#group']>0
+    assert_equal true, all_objects['arvados#job']>0
+    assert_equal true, all_objects['arvados#pipelineInstance']>0
+    assert_equal true, all_objects['arvados#pipelineTemplate']>0
+
+    # Perform test again mimicking a second page request with:
+    # last_object_class = PipelineInstance
+    #   and hence groups and jobs should not be included in the response
+    # offset = 5, which means first 5 pipeline instances were already received in page 1
+    #   and hence the remaining pipeline instances and all other object types should be included in the response
+
+    @test_counter = 0  # Reset executed action counter
+
+    @controller = Arvados::V1::GroupsController.new
+
+    get :contents, {
+      format: :json,
+      count: 'none',
+      limit: 1000,
+      offset: '5',
+      last_object_class: 'PipelineInstance',
+      filters: [['any', '@@', Rails.configuration.uuid_prefix]],
+    }
+
+    assert_response :success
+
+    second_page = Hash.new(0)
+    json_response['items'].map{|o| o['kind']}.each{|t| second_page[t] += 1}
+
+    assert_equal false, second_page.include?('arvados#group')
+    assert_equal false, second_page.include?('arvados#job')
+    assert_equal true, second_page['arvados#pipelineInstance']>0
+    assert_equal all_objects['arvados#pipelineInstance'], second_page['arvados#pipelineInstance']+5
+    assert_equal true, second_page['arvados#pipelineTemplate']>0
+  end
 end

commit 2ab1b540a710fd454f33e9ba22db601e67f3d217
Merge: cad4856 f63c160
Author: radhika <radhika at curoverse.com>
Date:   Thu Mar 2 18:12:03 2017 -0500

    Merge branch 'master' into 11071-fts-perf-test


-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list