[ARVADOS] updated: 742bbf8e00b104786a151d18bb300f955e2933eb

git at public.curoverse.com git at public.curoverse.com
Fri May 2 17:57:55 EDT 2014


Summary of changes:
 .gitignore                                         |   12 +-
 apps/workbench/.gitignore                          |   19 +-
 apps/workbench/Gemfile                             |    3 +-
 apps/workbench/Gemfile.lock                        |    2 +
 apps/workbench/README.textile                      |    6 +-
 .../app/assets/javascripts/application.js          |   11 +-
 .../app/assets/javascripts/collections.js          |   59 ++
 .../app/assets/javascripts/collections.js.coffee   |    3 -
 apps/workbench/app/assets/javascripts/selection.js |   10 +-
 .../app/assets/stylesheets/collections.css.scss    |   21 +-
 .../app/controllers/actions_controller.rb          |    2 -
 .../app/controllers/application_controller.rb      |   13 +-
 .../app/controllers/collections_controller.rb      |   49 ++-
 .../controllers/pipeline_instances_controller.rb   |   41 --
 apps/workbench/app/controllers/users_controller.rb |  161 +++++-
 .../app/controllers/websocket_controller.rb        |   10 +
 apps/workbench/app/helpers/application_helper.rb   |  171 ++++---
 apps/workbench/app/helpers/collections_helper.rb   |   33 ++
 .../app/helpers/pipeline_instances_helper.rb       |   18 +-
 .../app/helpers/pipeline_templates_helper.rb       |   24 -
 apps/workbench/app/models/arvados_api_client.rb    |    4 +-
 apps/workbench/app/models/arvados_base.rb          |   14 +-
 apps/workbench/app/models/group.rb                 |    4 +
 apps/workbench/app/models/link.rb                  |    2 +-
 apps/workbench/app/models/user.rb                  |    9 +
 .../views/application/_arvados_attr_value.html.erb |    2 +-
 .../views/application/_selection_checkbox.html.erb |   19 +-
 .../workbench/app/views/application/index.html.erb |   19 +-
 .../app/views/collections/_index_tbody.html.erb    |   18 +-
 .../app/views/collections/_show_files.html.erb     |   42 ++-
 .../app/views/collections/_show_recent.html.erb    |    8 +-
 .../app/views/collections/_toggle_persist.html.erb |    3 +
 .../app/views/layouts/application.html.erb         |    4 +-
 .../pipeline_instances/_show_components.html.erb   |   14 +-
 .../_show_components_editable.html.erb             |   48 ++
 .../app/views/pipeline_instances/show.js.erb       |   15 +-
 .../pipeline_templates/_show_components.html.erb   |    2 +-
 .../_show_components_template.html.erb             |   54 --
 .../app/views/users/_setup_popup.html.erb          |   69 +++
 .../app/views/users/_show_activity.html.erb        |    2 +-
 .../workbench/app/views/users/_show_admin.html.erb |   10 +
 apps/workbench/app/views/users/_tables.html.erb    |  120 +++--
 apps/workbench/app/views/users/activity.html.erb   |   16 +-
 apps/workbench/app/views/users/setup.js.erb        |    2 +
 apps/workbench/app/views/users/setup_popup.js.erb  |   44 ++
 apps/workbench/app/views/users/storage.html.erb    |   66 +++
 apps/workbench/app/views/websocket/index.html.erb  |   34 ++
 apps/workbench/config/application.default.yml      |    2 +
 apps/workbench/config/environments/test.rb         |    1 +
 apps/workbench/config/routes.rb                    |    9 +-
 .../pipeline_instances_controller_test.rb          |   70 +++
 .../test/functional/users_controller_test.rb       |   21 +
 .../workbench/test/integration/collections_test.rb |   42 ++
 apps/workbench/test/integration/logins_test.rb     |    8 +
 apps/workbench/test/integration/users_test.rb      |  219 ++++++++
 apps/workbench/test/integration_helper.rb          |   57 +--
 apps/workbench/test/test_helper.rb                 |   94 +++-
 apps/workbench/test/unit/user_test.rb              |   15 +-
 doc/_config.yml                                    |    5 +-
 doc/_includes/_tutorial_hash_script_py.liquid      |    8 +-
 doc/admin/cheat_sheet.html.textile.liquid          |    4 -
 doc/api/methods.html.textile.liquid                |   17 +-
 .../api_client_authorizations.html.textile.liquid  |   37 +--
 doc/api/methods/api_clients.html.textile.liquid    |   38 +--
 .../methods/authorized_keys.html.textile.liquid    |   37 +--
 doc/api/methods/collections.html.textile.liquid    |   38 +--
 doc/api/methods/groups.html.textile.liquid         |   34 +-
 doc/api/methods/humans.html.textile.liquid         |   37 +--
 doc/api/methods/job_tasks.html.textile.liquid      |   37 +--
 doc/api/methods/jobs.html.textile.liquid           |  143 ++++--
 doc/api/methods/keep_disks.html.textile.liquid     |   38 +--
 doc/api/methods/links.html.textile.liquid          |   39 +--
 doc/api/methods/logs.html.textile.liquid           |   37 +--
 doc/api/methods/nodes.html.textile.liquid          |   37 +--
 .../methods/pipeline_instances.html.textile.liquid |   37 +--
 .../methods/pipeline_templates.html.textile.liquid |   37 +--
 doc/api/methods/repositories.html.textile.liquid   |   37 +--
 doc/api/methods/specimens.html.textile.liquid      |   37 +--
 doc/api/methods/traits.html.textile.liquid         |   37 +--
 doc/api/methods/users.html.textile.liquid          |   33 +-
 .../methods/virtual_machines.html.textile.liquid   |   63 +--
 doc/api/resources.html.textile.liquid              |    4 +-
 doc/api/schema/ApiClient.html.textile.liquid       |   22 +-
 .../ApiClientAuthorization.html.textile.liquid     |   23 +-
 doc/api/schema/AuthorizedKey.html.textile.liquid   |   21 +-
 doc/api/schema/Collection.html.textile.liquid      |   11 +-
 doc/api/schema/Commit.html.textile.liquid          |   38 --
 doc/api/schema/CommitAncestor.html.textile.liquid  |   39 --
 doc/api/schema/Group.html.textile.liquid           |   23 +-
 doc/api/schema/Human.html.textile.liquid           |   23 +-
 doc/api/schema/Job.html.textile.liquid             |   60 +--
 doc/api/schema/JobTask.html.textile.liquid         |   10 +-
 doc/api/schema/KeepDisk.html.textile.liquid        |   21 +-
 doc/api/schema/Link.html.textile.liquid            |   18 +-
 doc/api/schema/Log.html.textile.liquid             |   14 +-
 doc/api/schema/Node.html.textile.liquid            |   23 +-
 .../schema/PipelineInstance.html.textile.liquid    |   23 +-
 .../schema/PipelineTemplate.html.textile.liquid    |  134 +++++-
 doc/api/schema/Repository.html.textile.liquid      |   21 +-
 doc/api/schema/Specimen.html.textile.liquid        |   23 +-
 doc/api/schema/Trait.html.textile.liquid           |   23 +-
 doc/api/schema/User.html.textile.liquid            |   23 +-
 doc/api/schema/VirtualMachine.html.textile.liquid  |   21 +-
 .../create-standard-objects.html.textile.liquid    |   12 +-
 doc/install/install-api-server.html.textile.liquid |   87 +++-
 .../install-crunch-dispatch.html.textile.liquid    |    2 +-
 .../install-workbench-app.html.textile.liquid      |   42 ++-
 .../getting_started/ssh-access.html.textile.liquid |   42 +-
 doc/user/index.html.textile.liquid                 |   10 +-
 doc/user/reference/api-tokens.html.textile.liquid  |    2 +-
 .../job-and-pipeline-reference.html.textile.liquid |  223 --------
 doc/user/topics/keep.html.textile.liquid           |    4 +-
 ...nning-pipeline-command-line.html.textile.liquid |    4 +-
 .../topics/tutorial-job-debug.html.textile.liquid  |    6 +-
 doc/user/topics/tutorial-job1.html.textile.liquid  |   10 +-
 .../topics/tutorial-parallel.html.textile.liquid   |    8 +-
 .../tutorial-trait-search.html.textile.liquid      |   46 +-
 .../tutorials/intro-crunch.html.textile.liquid     |    2 +-
 .../running-external-program.html.textile.liquid   |    6 +-
 .../tutorial-firstscript.html.textile.liquid       |   26 +-
 .../tutorials/tutorial-keep.html.textile.liquid    |    4 +-
 .../tutorial-new-pipeline.html.textile.liquid      |    8 +-
 sdk/cli/bin/arv-run-pipeline-instance              |   38 +-
 sdk/cli/bin/crunch-job                             |   98 +++--
 sdk/python/bin/arv-mount                           |   11 +-
 sdk/ruby/lib/arvados.rb                            |   62 ++-
 services/api/.gitignore                            |   20 +-
 services/api/Gemfile                               |    6 +-
 services/api/Gemfile.lock                          |  123 +++--
 .../api/app/controllers/api_clients_controller.rb  |    2 -
 .../api/app/controllers/application_controller.rb  |  377 ++++++-------
 .../v1/api_client_authorizations_controller.rb     |   32 +-
 .../arvados/v1/collections_controller.rb           |    7 -
 .../app/controllers/arvados/v1/jobs_controller.rb  |   60 ++-
 .../arvados/v1/keep_disks_controller.rb            |   17 +-
 .../app/controllers/arvados/v1/links_controller.rb |   61 ++-
 .../app/controllers/arvados/v1/logs_controller.rb  |   32 ++
 .../app/controllers/arvados/v1/nodes_controller.rb |   29 +-
 .../arvados/v1/repositories_controller.rb          |    2 +-
 .../controllers/arvados/v1/schema_controller.rb    |   12 +-
 .../arvados/v1/user_agreements_controller.rb       |   26 +-
 .../app/controllers/arvados/v1/users_controller.rb |   33 +-
 .../arvados/v1/virtual_machines_controller.rb      |   16 -
 .../api/app/controllers/collections_controller.rb  |    2 -
 .../app/controllers/commit_ancestors_controller.rb |    2 -
 services/api/app/controllers/commits_controller.rb |    2 -
 services/api/app/controllers/nodes_controller.rb   |   30 -
 .../controllers/pipeline_instances_controller.rb   |    2 -
 services/api/app/controllers/static_controller.rb  |    2 +-
 .../app/controllers/user_sessions_controller.rb    |   12 +-
 services/api/app/controllers/users_controller.rb   |    2 -
 services/api/app/mailers/user_notifier.rb          |    8 +
 services/api/app/middlewares/arvados_api_token.rb  |   61 +++
 services/api/app/middlewares/rack_socket.rb        |   86 +++
 .../api/app/models/api_client_authorization.rb     |   24 +
 services/api/app/models/arvados_model.rb           |  218 +++++++--
 services/api/app/models/blob.rb                    |   19 +-
 services/api/app/models/collection.rb              |    4 +
 services/api/app/models/group.rb                   |    1 +
 services/api/app/models/job.rb                     |   10 +-
 services/api/app/models/keep_disk.rb               |    6 +-
 services/api/app/models/link.rb                    |   24 +-
 services/api/app/models/log.rb                     |   64 ++-
 services/api/app/models/node.rb                    |    2 +-
 services/api/app/models/pipeline_instance.rb       |  104 ++++-
 services/api/app/models/user.rb                    |  115 +++--
 .../views/user_notifier/account_is_setup.text.erb  |   13 +
 services/api/config/application.default.yml        |    3 +
 services/api/config/application.rb                 |    2 +
 services/api/config/application.yml.example        |    7 +
 services/api/config/database.yml.sample            |   12 +-
 services/api/config/environments/test.rb.example   |    3 +
 services/api/config/initializers/authorization.rb  |    5 +
 services/api/config/initializers/eventbus.rb       |   18 +
 services/api/config/routes.rb                      |  163 ++----
 .../migrate/20140325175653_remove_kind_columns.rb  |   27 +
 ...20140407184311_rename_log_info_to_properties.rb |    5 +
 .../20140421140924_add_group_class_to_groups.rb    |    6 +
 .../20140421151939_rename_auth_keys_user_index.rb  |   11 +
 .../migrate/20140421151940_timestamps_not_null.rb  |   13 +
 .../20140422011506_pipeline_instance_state.rb      |   87 +++
 .../20140423132913_add_object_owner_to_logs.rb     |   27 +
 .../db/migrate/20140423133559_new_scope_format.rb  |   48 ++
 services/api/db/schema.rb                          |   37 +-
 services/api/lib/assign_uuid.rb                    |   11 +-
 services/api/lib/common_api_template.rb            |    1 -
 services/api/lib/current_api_client.rb             |   18 +-
 services/api/lib/eventbus.rb                       |  226 ++++++++
 services/api/lib/kind_and_etag.rb                  |    5 +-
 services/api/lib/load_param.rb                     |   88 +++
 services/api/lib/record_filters.rb                 |   75 +++
 services/api/script/crunch-dispatch.rb             |    2 +-
 services/api/script/setup-new-user.rb              |    9 +-
 .../test/fixtures/api_client_authorizations.yml    |   58 ++
 services/api/test/fixtures/groups.yml              |   30 +
 services/api/test/fixtures/jobs.yml                |   36 ++-
 services/api/test/fixtures/links.yml               |   80 ++--
 services/api/test/fixtures/logs.yml                |   32 ++
 services/api/test/fixtures/pipeline_instances.yml  |   20 +
 services/api/test/fixtures/pipeline_templates.yml  |   36 ++
 services/api/test/fixtures/repositories.yml        |    7 +-
 services/api/test/fixtures/specimens.yml           |   12 +
 services/api/test/fixtures/virtual_machines.yml    |    5 +
 .../api/test/functional/admin_notifier_test.rb     |    7 -
 .../api_client_authorizations_controller_test.rb   |   30 +-
 .../arvados/v1/collections_controller_test.rb      |    6 +-
 .../arvados/v1/groups_controller_test.rb           |  112 ++++
 .../arvados/v1/job_reuse_controller_test.rb        |  148 +++++-
 .../functional/arvados/v1/jobs_controller_test.rb  |   15 +
 .../arvados/v1/keep_disks_controller_test.rb       |    2 +-
 .../functional/arvados/v1/links_controller_test.rb |  254 +++++++++-
 .../functional/arvados/v1/logs_controller_test.rb  |   38 ++
 .../functional/arvados/v1/nodes_controller_test.rb |   13 +-
 .../v1/pipeline_instances_controller_test.rb       |   24 +
 .../functional/arvados/v1/users_controller_test.rb |  234 +++++++-
 .../functional/commit_ancestors_controller_test.rb |    7 -
 .../api/test/functional/commits_controller_test.rb |    7 -
 .../api_client_authorizations_api_test.rb          |    6 +-
 .../api_client_authorizations_scopes_test.rb       |   85 +++
 .../api/test/integration/collections_api_test.rb   |   68 ++-
 services/api/test/integration/errors_test.rb       |   27 +
 services/api/test/integration/jobs_api_test.rb     |    4 +-
 .../api/test/integration/login_workflow_test.rb    |   25 +
 services/api/test/integration/permissions_test.rb  |   34 +-
 .../api/test/integration/reader_tokens_test.rb     |   85 +++
 services/api/test/integration/valid_links_test.rb  |   39 ++
 services/api/test/integration/websocket_test.rb    |  570 ++++++++++++++++++++
 services/api/test/test_helper.rb                   |   36 ++-
 services/api/test/unit/application_test.rb         |   32 ++
 services/api/test/unit/blob_test.rb                |   27 +
 services/api/test/unit/log_test.rb                 |  247 +++++++++-
 services/api/test/unit/pipeline_instance_test.rb   |  141 +++++-
 services/api/test/unit/user_notifier_test.rb       |   24 +
 services/api/test/unit/user_test.rb                |  115 +++-
 services/api/test/websocket_runner.rb              |   42 ++
 services/keep/build.sh                             |   36 ++
 services/keep/keep.go                              |  139 -----
 services/keep/keep_test.go                         |  187 -------
 services/keep/src/keep/keep.go                     |  461 ++++++++++++++++
 services/keep/src/keep/keep_test.go                |  416 ++++++++++++++
 services/keep/src/keep/volume.go                   |  129 +++++
 services/keep/src/keep/volume_unix.go              |  295 ++++++++++
 services/keep/src/keep/volume_unix_test.go         |  245 +++++++++
 243 files changed, 8217 insertions(+), 3176 deletions(-)
 create mode 100644 apps/workbench/app/assets/javascripts/collections.js
 delete mode 100644 apps/workbench/app/assets/javascripts/collections.js.coffee
 create mode 100644 apps/workbench/app/controllers/websocket_controller.rb
 delete mode 100644 apps/workbench/app/helpers/pipeline_templates_helper.rb
 create mode 100644 apps/workbench/app/views/collections/_toggle_persist.html.erb
 create mode 100644 apps/workbench/app/views/pipeline_instances/_show_components_editable.html.erb
 delete mode 100644 apps/workbench/app/views/pipeline_templates/_show_components_template.html.erb
 create mode 100644 apps/workbench/app/views/users/_setup_popup.html.erb
 create mode 100644 apps/workbench/app/views/users/setup.js.erb
 create mode 100644 apps/workbench/app/views/users/setup_popup.js.erb
 create mode 100644 apps/workbench/app/views/users/storage.html.erb
 create mode 100644 apps/workbench/app/views/websocket/index.html.erb
 create mode 120000 apps/workbench/config/environments/test.rb
 create mode 100644 apps/workbench/test/integration/collections_test.rb
 create mode 100644 apps/workbench/test/integration/users_test.rb
 delete mode 100644 doc/api/schema/Commit.html.textile.liquid
 delete mode 100644 doc/api/schema/CommitAncestor.html.textile.liquid
 delete mode 100644 doc/user/reference/job-and-pipeline-reference.html.textile.liquid
 delete mode 100644 services/api/app/controllers/api_clients_controller.rb
 delete mode 100644 services/api/app/controllers/collections_controller.rb
 delete mode 100644 services/api/app/controllers/commit_ancestors_controller.rb
 delete mode 100644 services/api/app/controllers/commits_controller.rb
 delete mode 100644 services/api/app/controllers/nodes_controller.rb
 delete mode 100644 services/api/app/controllers/pipeline_instances_controller.rb
 delete mode 100644 services/api/app/controllers/users_controller.rb
 create mode 100644 services/api/app/mailers/user_notifier.rb
 create mode 100644 services/api/app/middlewares/arvados_api_token.rb
 create mode 100644 services/api/app/middlewares/rack_socket.rb
 create mode 100644 services/api/app/views/user_notifier/account_is_setup.text.erb
 create mode 100644 services/api/config/initializers/authorization.rb
 create mode 100644 services/api/config/initializers/eventbus.rb
 create mode 100644 services/api/db/migrate/20140325175653_remove_kind_columns.rb
 create mode 100644 services/api/db/migrate/20140407184311_rename_log_info_to_properties.rb
 create mode 100644 services/api/db/migrate/20140421140924_add_group_class_to_groups.rb
 create mode 100644 services/api/db/migrate/20140421151939_rename_auth_keys_user_index.rb
 create mode 100644 services/api/db/migrate/20140421151940_timestamps_not_null.rb
 create mode 100644 services/api/db/migrate/20140422011506_pipeline_instance_state.rb
 create mode 100644 services/api/db/migrate/20140423132913_add_object_owner_to_logs.rb
 create mode 100644 services/api/db/migrate/20140423133559_new_scope_format.rb
 create mode 100644 services/api/lib/eventbus.rb
 create mode 100644 services/api/lib/load_param.rb
 create mode 100644 services/api/lib/record_filters.rb
 create mode 100644 services/api/test/fixtures/logs.yml
 create mode 100644 services/api/test/fixtures/pipeline_instances.yml
 create mode 100644 services/api/test/fixtures/pipeline_templates.yml
 delete mode 100644 services/api/test/functional/admin_notifier_test.rb
 delete mode 100644 services/api/test/functional/commit_ancestors_controller_test.rb
 delete mode 100644 services/api/test/functional/commits_controller_test.rb
 create mode 100644 services/api/test/integration/api_client_authorizations_scopes_test.rb
 create mode 100644 services/api/test/integration/errors_test.rb
 create mode 100644 services/api/test/integration/login_workflow_test.rb
 create mode 100644 services/api/test/integration/reader_tokens_test.rb
 create mode 100644 services/api/test/integration/valid_links_test.rb
 create mode 100644 services/api/test/integration/websocket_test.rb
 create mode 100644 services/api/test/unit/application_test.rb
 create mode 100644 services/api/test/unit/user_notifier_test.rb
 create mode 100644 services/api/test/websocket_runner.rb
 create mode 100755 services/keep/build.sh
 delete mode 100644 services/keep/keep.go
 delete mode 100644 services/keep/keep_test.go
 create mode 100644 services/keep/src/keep/keep.go
 create mode 100644 services/keep/src/keep/keep_test.go
 create mode 100644 services/keep/src/keep/volume.go
 create mode 100644 services/keep/src/keep/volume_unix.go
 create mode 100644 services/keep/src/keep/volume_unix_test.go

       via  742bbf8e00b104786a151d18bb300f955e2933eb (commit)
       via  5454d6ad30e87ce6782e80682cb00cc8263db2d5 (commit)
       via  d5d577f3467fba4e3de43fb47da8369b4be0691e (commit)
       via  860042e2941a179b8ab2b985d83ba2e30d20dd4e (commit)
       via  7ce745d5645dc49c2833c1c617fd488bf3a62307 (commit)
       via  fb72864bb6f2ee3ca702b914c97d06a76e01ab0d (commit)
       via  cd08497d1c914cd75fd8be08f9f3ef3bc75485f2 (commit)
       via  681496f40864418fc1ee46277941a40d3445107c (commit)
       via  c6068bbeea3ea9bfee45204c2990caef0d4ec1ae (commit)
       via  33b49fa0be7d8e0774c80ec315985dcdf8535962 (commit)
       via  83781a4f423a3671a5ec6d4b1cd6a0bbeacef3a6 (commit)
       via  73d73c7b799ddb60363ddf409d8d301b27c82c00 (commit)
       via  02377152d7e368b6b73b2a94ceb68c99f9d55959 (commit)
       via  a6439c7ddc3407193889386051f06df2a1e74ea9 (commit)
       via  57b46f9b292e561739fde3ea098c366db8f4bc23 (commit)
       via  e8f81804c24307b6702b1897c80b4be832254454 (commit)
       via  1812950e91daaf7a1b02e3777c4e1d483b42d018 (commit)
       via  e87cfcde836ef572a722d645655c7a05fb3f473d (commit)
       via  4fb767326911e01898e5ae28a55a1491b9535b36 (commit)
       via  943feeec776bb75c685cbdee9466f8db3cdf5da7 (commit)
       via  1433693e08e2d4052cc94f6a5902523b08bbc1ac (commit)
       via  e20c9587ad703ae8e1f81251a6e209834a52d448 (commit)
       via  a4724fe92e651abb06acf8c5e75184561a55c854 (commit)
       via  208e172287aba3be7cb988a2c416e4281a2e5f60 (commit)
       via  b0c30631bceb2d1837b52d1d3475e52aee4c9c43 (commit)
       via  840e7d7f96f763ae139545dca5d6dfa5a54f6cc6 (commit)
       via  b421d5c4754315cdd8b70b6bbea5b5f23fb425de (commit)
       via  8adde5132926e8f9cc1b01d79f9307614cc6021e (commit)
       via  8eaad00b025167a7505ba11ad6a05b52a43c2399 (commit)
       via  30f834eef8916c0d613c098a4897ac932a2e0b37 (commit)
       via  c18bde8300e115b215e58d6930d0495b2c33b49f (commit)
       via  4e3ac7f8bafde72ae397f79bfc36409e682b13e5 (commit)
       via  7b9cff04eb463c666b8126ebc6c4dfcc00a536c0 (commit)
       via  f845c0645d9136a1e4ad993ecf34a156367e73b7 (commit)
       via  03e570095885982d23e234bce8e1c068314b63af (commit)
       via  5c2758ca38d01a905253f86e63be3a5fe03a3871 (commit)
       via  52c4f2b7fe631f3d7ad16105cb2f86cf6c004fc8 (commit)
       via  e54bdba73b65e31b03fd1d43bfe69d0f43bbd8d8 (commit)
       via  0eb59e3acf9f13e89bd010f7f65a4d31554183fc (commit)
       via  915de6c854cd559ebd029b24939149e37b18c8cf (commit)
       via  71b1b7b045419817d1c9dc62a3a296b746d9117c (commit)
       via  4ab25f3b39de88d6d2382bb91af9d67bd6de3bd3 (commit)
       via  2ea7a68942928d1d37166726be5114cb7fbdb75b (commit)
       via  f74cbd153b5cbe4e3678c9b86178019f593b553d (commit)
       via  7fbcd989af9949b11ddfec0c9ebfaa96a655eef4 (commit)
       via  f37f7c068b8d59934c7b0632d531c08470323123 (commit)
       via  c3457ad20bfd00c99facef396f1dbdbcbdbad241 (commit)
       via  e05f165ac12cb54faad707548b8b8f2005f2eef6 (commit)
       via  b860994fa83b9f11b7243220efb8f2fe9b2e2917 (commit)
       via  4fa5a3d3958eae7ecce681e0ea7a4ac8cc43e48d (commit)
       via  a28be6d77750a6cbded994612d95ee973cb4c01e (commit)
       via  58dd340f19c3e0225ad189e60a58872d3aa3f7c2 (commit)
       via  e537bd8dd1ac786164f192374e0d076bdc0327f3 (commit)
       via  b914818fb9e794dab68c428a52666507352a6770 (commit)
       via  995dd33ec5bc9ebb7cc4ff075a1f5e1a4e7db20c (commit)
       via  1c5176d87df0dbd25db6ff1fb2ab82ae17472145 (commit)
       via  6d2128ae15825ef03472897e09710b176e3cc1d9 (commit)
       via  5d356c84dcf8f3a2129cce0f4fbfc50f16a8a339 (commit)
       via  4eb42fd91dc5e50840e0d3db5d5201561602a508 (commit)
       via  7c12fc4d989dd2b4c47a174280a4f9526ecb0798 (commit)
       via  d61f56590d4c1bc2c965b640698217a5d4af1d8c (commit)
       via  62ce10f18cb083d701471d0fe27e964c85214200 (commit)
       via  f6f07b1856fc0aa32cdf1f96d5bdeb12e9e314ef (commit)
       via  919cf4c2c9f803f0cdb80619bcbf5d23b7c02d25 (commit)
       via  6c0b68255c0c66d90c0473561461d9215860f018 (commit)
       via  9e97504e5f65c8a3a6f1f34da678ac7e1828e8e1 (commit)
       via  62db3393df8d6bc7c48a3c5101468361cb2f3cf3 (commit)
       via  e062efe37ddf066af1c5c762b126bb72766fee25 (commit)
       via  dbce533271fca5a106ab8a00ad2621177445131f (commit)
       via  20334fa95bb7d554c09225c02fae3d4e83c6c6c5 (commit)
       via  f93ebd504f60b3055c254e23ba987ed29e8987b2 (commit)
       via  416374d4bbf381f5689fe2d1c72705d0796e8382 (commit)
       via  f078a2d38f8bfe17732d171895fa23471f8217c1 (commit)
       via  288ea0d2e35bf94d8a9f0bc609bac1467c1c5b9e (commit)
       via  1ba54c139354125459f3a25ad7a2894a02c7d1f4 (commit)
       via  0a72fd5c9f764eba4fc295d8beb24ac3d01885c5 (commit)
       via  87f17f28080eef37ad940a039fd1623e72e3058e (commit)
       via  660ebe707d2f7c28648b38ff9be826622fbefd39 (commit)
       via  41863948b43264bbd09358d145177a7fadd864cf (commit)
       via  c72f1de32f688690d1161a1852e471e88919e057 (commit)
       via  25e42ea5b6e0751d930ee8ca8e76316eaa04d577 (commit)
       via  f0ca76acaa3a4e3713f7aef6a6bb778e6e71e562 (commit)
       via  19c292c1757bf98ecb3f1979c0b759f54c0aad7a (commit)
       via  1f9df3c7140d4eacf58d4e19a7ddc81260296229 (commit)
       via  78b5bfcb1fa832e4460cfaa41f7815ce1d07a9a4 (commit)
       via  93db9aecb724964a37474104243a6d619b56769f (commit)
       via  725b9459d878b11d8d45fa12c99a06b400171574 (commit)
       via  b6a0ff1443bb40b52df7b30fd269aa6f05591b31 (commit)
       via  475c550e2ee1377b2f7b2ad9fcfdf392ecbd983b (commit)
       via  da3e84a0984d60a2f4bec00672eb766e2e978859 (commit)
       via  ad79a64bd1503e1e47d3849a00b894c4a6bc9810 (commit)
       via  4aef6531076e8c9d00252050d0757b32a22519c1 (commit)
       via  73e28547278ddff84847c12ad7f926e717ae553a (commit)
       via  6f918d1fc451f1ad72350677155a0d67f40a9628 (commit)
       via  2ed4ec45553b9931f78ca88b694f590102ed2bbd (commit)
       via  ca0d33c522fad9b3467f4a58b8fe336665ed493b (commit)
       via  c0aeec88f6507f441796d25ad2dfb49c78185731 (commit)
       via  d6399c117f03f45e83648dca6e23dd7174793253 (commit)
       via  8905037aede017ccdb66dd2850bfbd2284904e4e (commit)
       via  17e1d2d431280a8911ecd1f028de1924a7dc3aed (commit)
       via  22db59393203f550e0c77e65c650e664667492ab (commit)
       via  6a0ce3e88fc2122fe7749b6e4bc3eb01fb37b97c (commit)
       via  a955d5a89402d4b68ccec2d00c1ecf7d86334875 (commit)
       via  aaa65e9d351284278ccb6d3e803fd3dd4f748c31 (commit)
       via  73cf2bb90245787fbbd7c18da51329524c40f6af (commit)
       via  1059fd1f9e22ebcae51413d2b0fde0416c71c79b (commit)
       via  7f7cd27d5fc31dc5bbec7f95905fd394a5b317c7 (commit)
       via  da1614ac6d9b1b2aeba6267b304ce70c1726b608 (commit)
       via  7130989e6493555eba3491cfc9c8dddd1e1a545a (commit)
       via  923e2bd7d962f1a0feefc73ae4f4531c8235a591 (commit)
       via  8a0051a6fdd00f83e566cc87b88d2ac23ad5487d (commit)
       via  0e7a1577b51111a9d503f21d40582da62c2dd7b9 (commit)
       via  eca0d3d0a6938e08dde6067c4565754c45f5ebb7 (commit)
       via  04cc77648cc62c73433801475c27ede4ceb76c8b (commit)
       via  49aaa9f26dfaf50056abd7527976b681be26208b (commit)
       via  f03e21f7d50e34e7f7f7e7f570e8604fbd4d27da (commit)
       via  35295980b918232db8a8f3321e3bf02729e26c9f (commit)
       via  fa257c28461627fe6700dd8fd2152e380f8725d4 (commit)
       via  cb52a672642bdec7c6a97868a68bbb9b8daa0efb (commit)
       via  074147b4138f7a29ed9ff054b916ac1856b71e9f (commit)
       via  beef5fec7c77e3de84902969f877f1b4d5b89eef (commit)
       via  8072742e6557966b3e3d699e18fd3ee8656ed5b7 (commit)
       via  d07a96a0f0c11b98ecc927f0b3e0b052f8ef99f7 (commit)
       via  007a1e6edf9125990e286c71b00f51405470a4a6 (commit)
       via  c92d3fcdc2ab6bc3ec9bb03567de9203ff9b1f79 (commit)
       via  3aa0915d0b9b0affd9a784df3d138f0d13df303b (commit)
       via  7cbc35ccbc4d78bb43c901e197a1746a325173c0 (commit)
       via  b66ad0b212a80c117b5b344a715331962d0bfe2d (commit)
       via  e484a466d78c87114779b596d6ecd79f22088ee2 (commit)
       via  5cb205c567c312345376bcd2b7104075b5710d7f (commit)
       via  7fc48a11da8740deb01b0063faa2ceb687709205 (commit)
       via  694e4fdd124150f1b0a237ce6a698f3d00d92eb9 (commit)
       via  a3c5fac3f7849cab38bedd313b522b994be17b15 (commit)
       via  7efcc87e3cba4f03429751f9f3d109cc88e6926c (commit)
       via  75fa6afdd3f0f85d48e7a95372dd8cf094811221 (commit)
       via  d2d9ff48a6c111293340ac351f94428e5204366f (commit)
       via  d325f035a861d1421f6e2fe0d2f01e9f3e93d749 (commit)
       via  aa920f1659aa830861c196617fe664f35b5c12ef (commit)
       via  61f4536217e0beeafab54a8b66d40f859fdd1306 (commit)
       via  04e99ad773e4a47dabc7f0e1b624f67a00ff00b9 (commit)
       via  c283713dc8762c396407f68129fb276dc4a746fc (commit)
       via  6f6c9a2c6e7b871ad9ee592f45ebfdb7f5f26ee1 (commit)
       via  4e047434f0c6958db039cf9ab55e3f7f44da44c9 (commit)
       via  deed6e331c70c4410b161f260e2b93fa71b39d50 (commit)
       via  44480d99e71e1868f61024035d7d58acd69eac50 (commit)
       via  448cff33fc343a54caa1a33f4a536d88e3e4eaa1 (commit)
       via  5588c452453499d0aa130abe6421df5e85cf5703 (commit)
       via  8bd2381e50d3c575cef3bc0f0d4c10a9bafaf292 (commit)
       via  8d6efcbfb559e377a8f21873b736390035bc44ed (commit)
       via  309e25a64fe994867db8459543af372f850e25b9 (commit)
       via  7bc20af4935fee1caa566e86a074022f0b60d166 (commit)
       via  cc6030b1b1b2f056ee63873e042077fe0f0dd64f (commit)
       via  2c157382b1ecf0175f0356d6c3a457dca942f5f3 (commit)
       via  39e3f82b53db6a86f17ef1f7aa63a6c4ba155a1c (commit)
       via  eded84b99309a2cc84ba5cabb29c8f218cbcb599 (commit)
       via  5d83a6b6e8a76bfa79a9929c0658eeb7409c4574 (commit)
       via  153056777f77f09a6d29543e73db315a7fb6b0fb (commit)
       via  172496748cb0a149426e8a10cb4fd1c64e20dbe7 (commit)
       via  61ddcaf192e3f39ed8a1242f35bf1b28ff1fe121 (commit)
       via  3e7478a9a822686e1b5291fb0909a2ee2fcfeace (commit)
       via  441549528f2fcea8e55fde62416a69f2bfc6816d (commit)
       via  8f03c71e76376e8fa767d049a06d55836c94444c (commit)
       via  b49b532b27ec9013e088eb48d43de75b5e5a7d9c (commit)
       via  8202cb5f1682588e35dcf90519f53d74c06d4aa6 (commit)
       via  afe657cad834e66867b11bef08a5e9a372f525a4 (commit)
       via  3a1eb3b2205c10236faa28ad9731c8b515533500 (commit)
       via  4f4c0d83cee7cd6783cfb20ac8d79687b8912e4a (commit)
       via  bef270550d49533c46df8741db9f9dfa67afc1b8 (commit)
       via  c3e86c9c7d6c01929152259f8b53a8f48853380c (commit)
       via  56b07eaa6ad92b04d31098913632a397c4aa62d5 (commit)
       via  edc4704eb45c67aaad8428dc493e4e07480b86e3 (commit)
       via  a1a8d260132fc8884c0296fd925b531ef9cc575d (commit)
       via  aab0fe9d849952d926a252fac1fedd7e643f5a00 (commit)
       via  21e96241f20ddec17d6d122a489902204a2a0781 (commit)
       via  4d629923847cac25ed6bdaf5c96e1f33a1a8e0c8 (commit)
       via  30b02581c938c05b804f7510a1fc8e850830b9cd (commit)
       via  c0deafee7a8c1938af6592b488a46fca2f0c1688 (commit)
       via  86b78741c1d70ae5551a68dbee0cb51a5749edaf (commit)
       via  d0fce657daf5b12744538f8364faf7c6d352f280 (commit)
       via  2340ebeaf34778645e6071e8b077df50e5ae3df5 (commit)
       via  1881da329b33f722e35bef267c616a784163e482 (commit)
       via  fe046f1313fe9a0d56d4a000347b64f8686b7b48 (commit)
       via  2f91702d89b7a64093465a1923b87acade6b9715 (commit)
       via  89fcf2b60968558a6994ee14c202bc2c76f1d8fe (commit)
       via  8048da32800fab790b68f502c52dd00c89b5b690 (commit)
       via  51c1390ce92353a4fcf1adfe3643729eff5d6a8a (commit)
       via  dc51a3a6a2915d66f1b8f82580637b5733bb49f5 (commit)
       via  ea7c6effed14cd80a444c6e4d5b89c8b99c17d59 (commit)
       via  340bd4f69f320d541b6c352953ca9ac2336da470 (commit)
       via  b346f8754f5d4840ad80aa97bd910f3a6844b413 (commit)
       via  e6815764c940968ed825e8b2e4d984824a68fd23 (commit)
       via  52b3716d78c410806e8aaea89994b39015694258 (commit)
       via  d9f6071c52c33831be88546475480920fe7e1a60 (commit)
       via  eb7227693e8847a65798afa7f7e8a4ffe8a199a4 (commit)
       via  7c5ae57edcd37b5be47e0578b709f41cb97f0748 (commit)
       via  1452044e468074674b5a16c1990ada4f2c1485ec (commit)
       via  05d6da1868a2ecef39bcf17bbc336e1c58eba7ea (commit)
       via  481e341b75f1c6c0015171539c008e540dea2c2d (commit)
       via  0589ee6c2384e9a38720d67c8b86f5adf1d27902 (commit)
       via  f64a44536ad550ba4424a7f34f7358938b0e4dcc (commit)
       via  60a660385c1643efbdf11a8e5fa1deae1f008d2b (commit)
       via  4729ceb08aa3846326d1729f766f8f10179a2a78 (commit)
       via  c2aeaa729c350a33ec47ae1b012e50a6685ac2d2 (commit)
       via  c9f04f87062eec4097dc74dcc79b364fb905851c (commit)
       via  1b7d5cef1b7890994826a44102b589124a2a2340 (commit)
       via  7a98271d94163cdc4afa5bfcf275db353bc062d2 (commit)
       via  bb45025e80abc00f8da524d9a78c0bab976d4f3a (commit)
       via  3a76b55556740564b8cfb44c7e430975cca6bf96 (commit)
       via  ad2984e6eaf029ba7b6e35ae875bb78cfb76dfb6 (commit)
       via  5df09e707c313fd88c32ad40f2d99030ecc2e639 (commit)
       via  28c07cc661b01747d4a3b090d0cac2e68067ad80 (commit)
       via  d66cd99b144e949dc7128e7299689ca567a761c8 (commit)
       via  9067fd12d2c4259a2988286663098c59af18c854 (commit)
       via  eeeceb21a479780dfa7d550523ab961f477e39ad (commit)
       via  8e69317214ad56a6255f56725fa3b966c663eda3 (commit)
       via  0510460e9c5ad8f3d8cf20aa9428115e43284659 (commit)
       via  97279656db75b9b7f8282e3b98774a60935d39f3 (commit)
       via  2a73947440a58ce3a63adac1b903421ea911c5cf (commit)
       via  6c76e5ce6520a465ff741e4510eafc757738e9ba (commit)
       via  dcea5126ac48ecb3916bc8c245d59b1ca4439677 (commit)
       via  065620721d198894d80f5d3ed409a1d158f0f41b (commit)
       via  ea6dd70f3178eb38afa4eda7ce49e1bfe8328c40 (commit)
       via  6a210c4771acb18751e48f7e7c0841eb68469d90 (commit)
       via  f580cf6d3d86f6591e68b4501279fc45cbf847e0 (commit)
       via  4f4f0f57721d854aaddec8ab7dbc8759075717b5 (commit)
       via  bd11c0a9ff6ce23f0992af11d7dc7aef32860e22 (commit)
       via  f9578ab5cacc544dc1a5c3fa0fbea5fd627efdf9 (commit)
       via  9f3211fd8de463cb68febb4e3333721e026605b8 (commit)
       via  c2ccba382871ecad4f9336f250a90a95d8f5b987 (commit)
       via  658465e22d198a453646f0d845a9ccd50fb0a689 (commit)
       via  ee7753f7095f175c095f94794dd3e33f68d3fcc6 (commit)
       via  2e86954da9d4561cc42d52e8505eb12aa95f6470 (commit)
       via  10b0009bb8d4a5bf30f521f2e7fac6e69dd09a68 (commit)
       via  2d743356fb98a857f31be21eb398688d9ba96d71 (commit)
       via  085e614c8e7d1a29e675cf839a1ce9d92ffc5d5c (commit)
       via  bdb591e730fffb6aba7c01d93528c59da91b05b0 (commit)
       via  239093640609a2267eb49a90d2f96ffcb2a462fe (commit)
       via  0f5d86d25f1e66723bbfe1f912d892f8a66321b8 (commit)
       via  b7d408dfa43a15c6b97e35a72a54b23e8880d8c9 (commit)
       via  df05c261c2b3b3a20f77dcaf8d481a5a113e67e8 (commit)
       via  2b571044517c19a2d3d20e5d4a3197a653667425 (commit)
       via  a27dd6c9ab51311af2fbe194a7e5e0b592b78e79 (commit)
       via  4e0ddde525c5568dfb5e09e8530be484b6ea5995 (commit)
       via  75df7deca434d9b3b161dc2d7d13ae21b1fe4b08 (commit)
       via  18afe83690fd311ff7019abdad7b63a02574d9a8 (commit)
       via  4c7323ea090e7570f962d821fa24c3ab20308e1e (commit)
       via  cc5023d40182e503e8ba109fc86e09efd6337836 (commit)
       via  db59e780872b7e7e5c9b1ee94f8e0ae136043d74 (commit)
       via  ab32ff89cfdca64de9765e85fbc15d621e847f88 (commit)
       via  9fd58497a867ae3846a5c4761eb724d1d1b91fc7 (commit)
       via  e3c48fef662408636cb49fe1bb0a3c1040269e7c (commit)
       via  94c762ed797f2567c1dcc70d12582c7d640da7bb (commit)
       via  45ff1f04cf0a562b870e18ca13b02d914db6bcb3 (commit)
       via  17c335f710c5f855f61c13fe69594d7ec439b007 (commit)
       via  ad6e6f2457f354b666cdc322915d591743a4cd2f (commit)
       via  9bcbc09d57774d068a3867c2630a4b69a59b4812 (commit)
       via  27cb596cfbff2f81210260d49f824bfdbac6dd5d (commit)
       via  1bb8374adcc014d4898d8ebfadf2bcb119262f0b (commit)
       via  aa75c6199c209d9967e3eff976039494f58ff6bc (commit)
       via  4f552c0187f8c31d94ff74485c57ef7f9888597e (commit)
       via  966ab8387e2762d1720e6104a5f5f6d1e0cc52fe (commit)
       via  a2ebfeadbbdba03dc6e4a02cb5d4e6b85fa747f3 (commit)
       via  51db46ba942baf7f718ae12544008e6f6b2f7ea4 (commit)
       via  c6763b5de6a0dc98493bf288472134db0ac22ffa (commit)
       via  c4b51836d29d37cb75c6432ce056d844cf27c3ac (commit)
       via  506e5678188ff5a51d4e38558fe8fc0fb4357be2 (commit)
       via  3420c2d2c55eb9466b04bc3c4ca3073caf66aba0 (commit)
       via  88e682e6fc472fcc4fd2d9a0ab39ee6ba6252de0 (commit)
       via  e3193d31ed03056cff6c9d21e0b3cc8898d184a4 (commit)
       via  013ced576824a05cd9a162fbd11e65d4d183a6d5 (commit)
       via  3c554a995e2b4f716106876ffbd311e87cce4091 (commit)
       via  0a09da628d4d7f1ced2daaa55603bea940b9211c (commit)
       via  38dea652d11a2a562623d80328d270707ed44887 (commit)
       via  b452636351b19ed5641a20eabc68881bd8905ca4 (commit)
       via  bb3a7e08a90ea7826c0b0e1289c64b395b472151 (commit)
       via  442e5c6553061ef1bbb8d9194bb5b8d9cdb68545 (commit)
       via  2386475f3bf86824e320ad121838955278ed3083 (commit)
       via  de3768fdd71eb58cf040d72b0d989deeb0bb75ae (commit)
       via  44df50add91dc3117291e3a6a908fa442b883106 (commit)
       via  bb3b70b2435a0886b4a2ace9070e24903b04c8a9 (commit)
       via  91f2216807f5b7fb521d61f1a110484a6e5aa2e7 (commit)
       via  e37caee5e3cfc165c6505ea5f3b55a4b8b07fe5e (commit)
       via  c7b155c06452315396ec98f42cf5b502be38b221 (commit)
       via  283dbf37a1b7d32332e295070de48b5e6e459248 (commit)
       via  b16daa6053ebc15d306c29c01a2134f420e3dab1 (commit)
       via  9c40a72521dbfb4244d48069e4754a342f800492 (commit)
       via  04581ab4e5cea0389be8e641a1123381f0f7217c (commit)
       via  e35ed29187d83ebd4cbc493b9251119013825ac1 (commit)
       via  c2bd59c55177f431d91c21521196f421d5ffb88f (commit)
       via  e9ee7a48d3f95d41f5b17d4c1c5c65471ff0b598 (commit)
       via  635a2b59e4a9a3ec147b7064a932e4db17bc3955 (commit)
       via  e93b022d02fa68cc3cf34afb8d5448cf984789ac (commit)
       via  71b0d0fb51e3c54a7959f51fd4dbf523fbaf57db (commit)
       via  6ea2e62b70a015226c4f3361ab3591509100a820 (commit)
       via  7e28b26cc58f9d5833ffac6760a99a6a037e4770 (commit)
       via  c6bc2555aae64b937e022637f1fe2c279e1e4936 (commit)
       via  e4b0ff638bb41ce55ab3770c4f2b7f744d653aac (commit)
       via  50ee9817061629f9ffe2568f937149f6e877df04 (commit)
       via  b288ebe08b16204d97c4911106bd5ca57fb2b36b (commit)
       via  54978ac2108a5b1913f641d480143356659a413a (commit)
       via  19f8cc45bfbe938c0988a719a146a577c2ca7ca5 (commit)
       via  a6c0c9dccbe036132c110817d69c08b757aab5fa (commit)
       via  7ca1198b2e64cdd823f424c1bd009f364abfe2d0 (commit)
       via  7488683807205fdfebd3c52e6ba50a0879ef1da7 (commit)
       via  351718c4524ede8442f1cc078d61ced8839440c5 (commit)
       via  0c632a2429105322f793809f1ab5bb158050ed56 (commit)
       via  da1c3891473b02f891eaa0af3d9d799ec6b6ed54 (commit)
       via  6783336d968c8e47ad63e929086aa704299bb403 (commit)
       via  3dd13d1a0643fdcc9e4f391b74b2496ca2ebbc7c (commit)
       via  dcbdaf47dd1486f58893413c07a9cb5c6d180923 (commit)
       via  c7b2768cd590b633fe4154dedec2d8ad387a9d9b (commit)
       via  a0d41ce990cf0a6fcd516a6a10f662a85258238c (commit)
       via  19d60097652447fe7c71ec78f5c8d52a7002b3b8 (commit)
       via  4c179135909d37a6cd9722af909785393d9e117d (commit)
       via  64d449da29bbbe6bce2b54a2ed67eb4cb44243c9 (commit)
       via  c7f17227456c27d71bca83895c84bc83fb3b4ec5 (commit)
       via  2908852ef9d52b12eb715474c5f31e35f7c44b18 (commit)
       via  11a9f64426c1fc50529e694fead97f81e6eb4457 (commit)
       via  e9339eb1983e33798270f61f57d90cde4b656bd8 (commit)
       via  8ea149362539b3d50e14a7fbd8831c7cbf347446 (commit)
       via  847b4a5d6e179dde49295a7118962e764d63e544 (commit)
       via  1d6d51202a936a28eee2384ceaa7c725813a2b03 (commit)
       via  d0dc31b9feb56c026f7c7ae0d46e63434b46742f (commit)
       via  a6724f72c5a93edf2b8a456783a474024743f1ff (commit)
       via  cbdb5dc18ccbd8cd2cdc4ebeaace82aa33b36f70 (commit)
       via  1418580063cbe02ab3376adb27928c5325ba10b3 (commit)
       via  a3212e71057712af58a7d2b849d69915b4fd79b1 (commit)
       via  59b0a3a8e5209ef85967a93c500167b7cf882757 (commit)
       via  9349484f1e607064cf96fa7f7212979d30e58448 (commit)
       via  0f92cdd76a8ecc456e0ab068abce468e3a169bc0 (commit)
       via  fdbdc0cdecb027265dccef0810b189e578cb8c60 (commit)
       via  0b76b475d2e1dc33bd80de9923d99009231e6671 (commit)
       via  4d918da1c7f7499d19491d44ecead48008d2fe1e (commit)
       via  38f8414fb8357b57ab3b859b7721676d62dfe984 (commit)
       via  eba6e6988be540b8d6015903e58d8acf71476149 (commit)
       via  7043cad00647bc44f83586d895b70f950d5a26c2 (commit)
       via  043a17b21c0f18eaaddcdd5d1144989c1d48e3e2 (commit)
       via  2c5412052d38751d538696c9d5cbb0b8adbfd1a6 (commit)
       via  4e3dca8c84d77baaa1a58c195204f91da5f4176d (commit)
       via  2c292c1942746dfa7b93411d76a8374e1b0aff16 (commit)
       via  c267f657aae5d43389a41861c2b9649c30482468 (commit)
       via  b8ee1ea826cd2f02233893e8e06bac5fc44bb473 (commit)
       via  55684214f941cf73ce1eb542943dea24a17d48e5 (commit)
       via  cb2c6a830abda3390146a4933b8cd8ce6ed55d31 (commit)
       via  8f8feb2866fd36bbc44188116d3bed6e4a4109a4 (commit)
       via  190fe9cdc4ea41267a89f8c0e54dbc179cd1e4b8 (commit)
       via  9d9b194941e7d3c9b459d27657e3c3c67bf388b8 (commit)
       via  835332abdd0fb8d0046529ff4d2f026f67736418 (commit)
       via  e8dea4fda0347c612ba6b0d4a8045916febeb680 (commit)
       via  a2164fe94a9909e5b38856b881a1d856f822747d (commit)
       via  47d130ae61a2aa0c637060d4a5be9f3728af30b7 (commit)
       via  5a7b7aa6a6a11b5e0a397d01a6fe527169ed5f15 (commit)
       via  4efa06e83f82096b70c03192bce74df96ed230c5 (commit)
       via  9f87668ecf0768f83b95253d8888481b1d8ff95e (commit)
       via  e6e7736641231fe43b5f68bf4d0653d4321bbc36 (commit)
       via  4882cd9ebd6311c4f84d8efff21561b1a229e244 (commit)
       via  33d7da6903a0fc2c9570a11c939dce6a4894f66e (commit)
       via  a992c11d76c013d42470a5142714d68e918bccfa (commit)
       via  20e876e9d9809d6097da440453c20f737229ee28 (commit)
       via  1697fcdd746eb5a30127275e533c3d799aa9f681 (commit)
       via  921ec0ddab4c949659d54490204acdd431986450 (commit)
       via  c6cb3423e9ca2b421bda3bb97c1448dcde19df97 (commit)
       via  3ca0861ae65a9c61f0db226bbe9f70cfc0a4ec7b (commit)
       via  fe0d9b8e3a46c610deb95b9a8b501e8c2aad9f54 (commit)
       via  cb19d007add188f2c83a082c419ee0b523fb664b (commit)
       via  a15ff495c8c576378f55f58fe22ce9f3c49121e8 (commit)
       via  4eba2cb5d7d6a5d76b9ce4d3f535a1de911400cd (commit)
       via  bc4eea1e54651c507b8add0f5edc80968673c6fc (commit)
       via  61f1066c9ff0114b5c321832a8002cb2511480ca (commit)
       via  c4a50125bec07063e91be6ca7c7ce209d5840642 (commit)
       via  2b5d9607892a48d32401ff59516e8d73234eee89 (commit)
       via  92f572b9c49ecbdd8f2884e52fa8e814e23daab8 (commit)
       via  f6b24b30e9f3794943f628c22ee4dabcadca5a1a (commit)
       via  a7ef84a9780f37b7ea27f29df6326d67869a03ac (commit)
       via  1a825caf53f352f63cafe10ef6211f4f689177e0 (commit)
       via  2c2d5fc62029b559669c860ab1d083eed44cf30e (commit)
       via  6287b16dd4fa87f5828387987514e21e00c33f4c (commit)
       via  c817aafff76211ac69ef7c7650f88dd5002e6ffe (commit)
       via  4177bcc9b935391630c874a2abcedb81efa350f0 (commit)
       via  d334bf63821506a63afddb24c28ba86896958b03 (commit)
       via  3da41130c997f36f462feb1b34efbec53697d91e (commit)
       via  f60df78aec5cdc02ad50661f41a7d422e63742fc (commit)
       via  ff5f11f345307397d3d817f2bdef398d1660c22d (commit)
       via  de298e4e20a7ed07e16ed3cac87a18a66c0ceb83 (commit)
       via  417ff385d9e6bf111ebb1d5889c2081977dfe955 (commit)
       via  d1396b9eee6a939f5c675d5922d3708392d04936 (commit)
       via  6d59f29ba37c608e4b01b27a2fa78bc065fdc2a6 (commit)
       via  b6ee74d757dc98b558dfdb420be46d0b954dc446 (commit)
       via  f7bec4b4fde3c9cdec0823719f4d0806ee27021a (commit)
       via  7b3f8ace626fa8fe401742fd9b2a616d651d6c2b (commit)
       via  0d4ddf36fb71ecf7cc981c67c07584a3a7fcac46 (commit)
       via  5f3de04d46dd4aeec45731b4e5c479c689eee7b6 (commit)
      from  d2e7e88cd08179d1f60236a2f9eb860c81af14cb (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 742bbf8e00b104786a151d18bb300f955e2933eb
Author: Brett Smith <brett at curoverse.com>
Date:   Fri May 2 17:46:19 2014 -0400

    arv-mount: Add --allow-other option.
    
    We need this to support running job tasks in Docker containers.  We
    rely on the allow_other mount option to make the Keep mount available
    to the container.

diff --git a/sdk/cli/bin/crunch-job b/sdk/cli/bin/crunch-job
index 722705e..681349b 100755
--- a/sdk/cli/bin/crunch-job
+++ b/sdk/cli/bin/crunch-job
@@ -635,7 +635,7 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
       $command .=
 	  "&& perl -";
     }
-    $command .= "&& exec arv-mount $ENV{TASK_KEEPMOUNT} --exec ";
+    $command .= "&& exec arv-mount --allow-other $ENV{TASK_KEEPMOUNT} --exec ";
     if (defined($docker_image))
     {
       $command .= "$docker_bin run -i -a stdin -a stdout -a stderr ";
diff --git a/sdk/python/bin/arv-mount b/sdk/python/bin/arv-mount
index 5e773df..cc7e288 100755
--- a/sdk/python/bin/arv-mount
+++ b/sdk/python/bin/arv-mount
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-from arvados.fuse import * 
+from arvados.fuse import *
 import arvados
 import subprocess
 import argparse
@@ -15,6 +15,8 @@ mountpoint before --exec, or mark the end of your --exec arguments
 with "--".
 """)
     parser.add_argument('mountpoint', type=str, help="""Mount point.""")
+    parser.add_argument('--allow-other', action='store_true',
+                        help="""Let other users read the mount""")
     parser.add_argument('--collection', type=str, help="""Collection locator""")
     parser.add_argument('--debug', action='store_true', help="""Debug mode""")
     parser.add_argument('--exec', type=str, nargs=argparse.REMAINDER,
@@ -35,12 +37,9 @@ with "--".
         operations.inodes.add_entry(MagicDirectory(llfuse.ROOT_INODE, operations.inodes))
 
     # FUSE options, see mount.fuse(8)
-    opts = []
+    opts = [optname for optname in ['allow_other', 'debug']
+            if getattr(args, optname)]
 
-    # Enable FUSE debugging (logs each FUSE request)
-    if args.debug:
-        opts += ['debug']    
-    
     # Initialize the fuse connection
     llfuse.init(operations, args.mountpoint, opts)
 

commit 5454d6ad30e87ce6782e80682cb00cc8263db2d5
Author: Brett Smith <brett at curoverse.com>
Date:   Fri May 2 17:27:51 2014 -0400

    crunch-job: Manually configure containers' DNS.
    
    All the compute nodes run dnsmasq to enable friendly names for
    different hosts on the private Arvados network.  Crunch jobs will need
    to talk to that DNS server to reach, e.g., the local Keep servers.
    This makes that happen.

diff --git a/sdk/cli/bin/crunch-job b/sdk/cli/bin/crunch-job
index fa4550d..722705e 100755
--- a/sdk/cli/bin/crunch-job
+++ b/sdk/cli/bin/crunch-job
@@ -639,6 +639,12 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
     if (defined($docker_image))
     {
       $command .= "$docker_bin run -i -a stdin -a stdout -a stderr ";
+      # Dynamically configure the container to use the host system as its
+      # DNS server.  Get the host's global addresses from the ip command,
+      # and turn them into docker --dns options using gawk.
+      $command .=
+          q{$(ip -o address show scope global |
+              gawk 'match($4, /^([0-9\.:]+)\//, x){print "--dns", x[1]}') };
       foreach my $env_key (qw(CRUNCH_SRC CRUNCH_TMP TASK_KEEPMOUNT))
       {
         $command .= "-v \Q$ENV{$env_key}:$ENV{$env_key}:rw\E ";

commit d5d577f3467fba4e3de43fb47da8369b4be0691e
Merge: 860042e 7ce745d
Author: Brett Smith <brett at curoverse.com>
Date:   Fri May 2 11:18:19 2014 -0400

    Merge branch 'master' into 2492-docker-crunch-jobs


commit 860042e2941a179b8ab2b985d83ba2e30d20dd4e
Author: Brett Smith <brett at curoverse.com>
Date:   Fri May 2 11:18:02 2014 -0400

    crunch-job: Install Docker images on demand.

diff --git a/sdk/cli/bin/crunch-job b/sdk/cli/bin/crunch-job
index 284a916..927f534 100755
--- a/sdk/cli/bin/crunch-job
+++ b/sdk/cli/bin/crunch-job
@@ -488,7 +488,28 @@ if (!$have_slurm)
   must_lock_now("$ENV{CRUNCH_TMP}/.lock", "a job is already running here.");
 }
 
-
+# If this job requires a Docker image, install that.
+my $docker_bin = "/usr/bin/docker.io";
+my $docker_image = $Job->{runtime_constraints}->{docker_image};
+if (defined($docker_image)) {
+  my $docker_pid = fork();
+  if ($docker_pid == 0)
+  {
+    srun (["srun", "--nodelist=" . join(' ', @node)],
+          [$docker_bin, 'pull', $docker_image]);
+    exit ($?);
+  }
+  while (1)
+  {
+    last if $docker_pid == waitpid (-1, WNOHANG);
+    freeze_if_want_freeze ($docker_pid);
+    select (undef, undef, undef, 0.1);
+  }
+  if ($? != 0)
+  {
+    croak("Installing Docker image $docker_image returned exit code $?");
+  }
+}
 
 foreach (qw (script script_version script_parameters runtime_constraints))
 {
@@ -593,7 +614,6 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
       qw(-n1 -c1 -N1 -D), $ENV{'TMPDIR'},
       "--job-name=$job_id.$id.$$",
 	);
-    my @execargs = qw(sh);
     my $build_script_to_send = "";
     my $command =
 	"if [ -e $ENV{TASK_WORK} ]; then rm -rf $ENV{TASK_WORK}; fi; "
@@ -606,10 +626,9 @@ for (my $todo_ptr = 0; $todo_ptr <= $#jobstep_todo; $todo_ptr ++)
 	  "&& perl -";
     }
     $command .= "&& exec arv-mount $ENV{TASK_KEEPMOUNT} --exec ";
-    my $docker_image = $Job->{runtime_constraints}->{docker_image};
     if (defined($docker_image))
     {
-      $command .= "docker run -i -a stdin -a stdout -a stderr ";
+      $command .= "$docker_bin run -i -a stdin -a stdout -a stderr ";
       foreach my $env_key (qw(CRUNCH_SRC CRUNCH_TMP TASK_KEEPMOUNT))
       {
         $command .= "-v \Q$ENV{$env_key}:$ENV{$env_key}:rw\E ";

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list