[ARVADOS] updated: 1.1.3-43-g3d6d097

Git user git at public.curoverse.com
Mon Feb 12 17:36:52 EST 2018


Summary of changes:
 .gitignore                                         |   2 +
 .../app/assets/javascripts/application.js          |   1 +
 .../app/assets/javascripts/components/search.js    |  23 +-
 .../app/assets/javascripts/components/sessions.js  |  37 +-
 .../app/assets/javascripts/models/session_db.js    | 336 ++++++++---
 .../controllers/container_requests_controller.rb   |  11 +
 apps/workbench/app/models/container_work_unit.rb   |  36 +-
 .../app/models/pipeline_instance_work_unit.rb      |  18 +
 apps/workbench/app/models/proxy_work_unit.rb       |   4 +-
 .../container_requests/_show_recent_rows.html.erb  |   2 +-
 .../_show_components_running.html.erb              |   2 +
 .../app/views/projects/_show_dashboard.html.erb    |  15 +-
 apps/workbench/config/application.default.yml      |   2 +-
 apps/workbench/npm_packages                        |   1 +
 .../container_requests_controller_test.rb          |  16 +-
 .../test/integration/pipeline_instances_test.rb    |  30 +-
 apps/workbench/test/unit/work_unit_test.rb         |   3 +-
 build/libcloud-pin.sh                              |   2 +-
 build/run-tests.sh                                 |  39 +-
 doc/Rakefile                                       |  17 +-
 doc/_config.yml                                    |   2 +
 doc/_includes/_mount_types.liquid                  |   2 +-
 .../R.html.textile.liquid}                         |   4 +-
 doc/sdk/index.html.textile.liquid                  |   1 +
 sdk/R/.Rbuildignore                                |   4 +
 sdk/R/ArvadosR.Rproj                               |  20 +
 sdk/R/DESCRIPTION                                  |  20 +
 sdk/R/NAMESPACE                                    |  10 +
 sdk/R/R/Arvados.R                                  | 236 ++++++++
 sdk/R/R/ArvadosFile.R                              | 270 +++++++++
 sdk/R/R/Collection.R                               | 228 ++++++++
 sdk/R/R/CollectionTree.R                           | 119 ++++
 sdk/R/R/HttpParser.R                               |  53 ++
 sdk/R/R/HttpRequest.R                              |  98 ++++
 sdk/R/R/RESTService.R                              | 349 ++++++++++++
 sdk/R/R/Subcollection.R                            | 329 +++++++++++
 sdk/R/R/util.R                                     |  54 ++
 sdk/R/README.Rmd                                   | 298 ++++++++++
 sdk/R/man/Arvados.Rd                               |  62 ++
 sdk/R/man/ArvadosFile.Rd                           |  56 ++
 sdk/R/man/Collection.Rd                            |  51 ++
 sdk/R/man/Subcollection.Rd                         |  47 ++
 sdk/R/man/print.Arvados.Rd                         |  16 +
 sdk/R/man/print.ArvadosFile.Rd                     |  16 +
 sdk/R/man/print.Collection.Rd                      |  16 +
 sdk/R/man/print.Subcollection.Rd                   |  16 +
 sdk/R/run_test.R                                   |   7 +
 sdk/R/tests/testthat.R                             |   4 +
 sdk/R/tests/testthat/fakes/FakeArvados.R           |  35 ++
 sdk/R/tests/testthat/fakes/FakeHttpParser.R        |  56 ++
 sdk/R/tests/testthat/fakes/FakeHttpRequest.R       | 166 ++++++
 sdk/R/tests/testthat/fakes/FakeRESTService.R       | 167 ++++++
 sdk/R/tests/testthat/test-Arvados.R                | 306 ++++++++++
 sdk/R/tests/testthat/test-ArvadosFile.R            | 271 +++++++++
 sdk/R/tests/testthat/test-Collection.R             | 260 +++++++++
 sdk/R/tests/testthat/test-CollectionTree.R         | 102 ++++
 sdk/R/tests/testthat/test-HttpParser.R             |  92 +++
 sdk/R/tests/testthat/test-HttpRequest.R            |  28 +
 sdk/R/tests/testthat/test-RESTService.R            | 633 +++++++++++++++++++++
 sdk/R/tests/testthat/test-Subcollection.R          | 356 ++++++++++++
 sdk/R/tests/testthat/test-util.R                   |  85 +++
 sdk/cwl/arvados_cwl/__init__.py                    |  15 +-
 sdk/cwl/arvados_cwl/arvcontainer.py                |  23 +-
 sdk/cwl/arvados_cwl/arvtool.py                     |   9 +-
 sdk/cwl/arvados_cwl/pathmapper.py                  |  14 +-
 sdk/cwl/arvados_cwl/runner.py                      |   2 +-
 sdk/cwl/setup.py                                   |   2 +-
 sdk/cwl/tests/arvados-tests.sh                     |   3 +
 sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa      |   0
 sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.amb  |   0
 sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.ann  |   0
 sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.fai  |   0
 sdk/cwl/tests/test_make_output.py                  |   2 +
 sdk/go/arvadostest/fixtures.go                     |   1 +
 services/api/app/models/container.rb               |  24 +-
 services/api/app/models/container_request.rb       |  13 +-
 services/api/test/fixtures/container_requests.yml  |   4 +-
 services/api/test/fixtures/pipeline_instances.yml  |   2 +
 services/api/test/fixtures/users.yml               |  16 +
 services/api/test/unit/container_test.rb           |   4 +-
 services/crunch-run/crunchrun.go                   | 293 +++++++---
 services/crunch-run/crunchrun_test.go              |  84 +--
 services/keepstore/azure_blob_volume.go            |  16 +-
 services/keepstore/azure_blob_volume_test.go       |   5 +
 .../arvnodeman/computenode/dispatch/slurm.py       |   4 +-
 .../arvnodeman/computenode/driver/gce.py           |   4 +-
 services/nodemanager/arvnodeman/jobqueue.py        |   4 +-
 services/nodemanager/setup.py                      |   4 +-
 services/nodemanager/tests/integration_test.py     |   8 +-
 .../tests/test_computenode_driver_gce.py           |   2 +-
 services/nodemanager/tests/test_daemon.py          |   9 +-
 services/nodemanager/tests/testutil.py             |   2 +-
 tools/arvbox/bin/arvbox                            |   5 +-
 tools/arvbox/lib/arvbox/docker/Dockerfile.base     |   3 +-
 tools/arvbox/lib/arvbox/docker/Dockerfile.demo     |   5 +-
 tools/arvbox/lib/arvbox/docker/common.sh           |   1 +
 tools/arvbox/lib/arvbox/docker/crunch-setup.sh     |   9 +-
 tools/arvbox/lib/arvbox/docker/go-setup.sh         |  16 +
 tools/arvbox/lib/arvbox/docker/keep-setup.sh       |   9 +-
 .../docker/service/arv-git-httpd/run-service       |   9 +-
 .../lib/arvbox/docker/service/composer/run-service |  12 +-
 .../service/crunch-dispatch-local/run-service      |  15 +-
 .../lib/arvbox/docker/service/doc/run-service      |  16 +
 .../lib/arvbox/docker/service/keep-web/run-service |   9 +-
 .../arvbox/docker/service/keepproxy/run-service    |   9 +-
 .../arvbox/lib/arvbox/docker/service/postgres/run  |   2 +
 .../arvbox/docker/service/websockets/run-service   |   8 +-
 tools/sync-groups/sync-groups.go                   |  21 +-
 tools/sync-groups/sync-groups_test.go              |  33 +-
 109 files changed, 5882 insertions(+), 411 deletions(-)
 copy doc/sdk/{python/python.html.textile.liquid => R/R.html.textile.liquid} (86%)
 create mode 100644 sdk/R/.Rbuildignore
 create mode 100644 sdk/R/ArvadosR.Rproj
 create mode 100644 sdk/R/DESCRIPTION
 create mode 100644 sdk/R/NAMESPACE
 create mode 100644 sdk/R/R/Arvados.R
 create mode 100644 sdk/R/R/ArvadosFile.R
 create mode 100644 sdk/R/R/Collection.R
 create mode 100644 sdk/R/R/CollectionTree.R
 create mode 100644 sdk/R/R/HttpParser.R
 create mode 100644 sdk/R/R/HttpRequest.R
 create mode 100644 sdk/R/R/RESTService.R
 create mode 100644 sdk/R/R/Subcollection.R
 create mode 100644 sdk/R/R/util.R
 create mode 100644 sdk/R/README.Rmd
 create mode 100644 sdk/R/man/Arvados.Rd
 create mode 100644 sdk/R/man/ArvadosFile.Rd
 create mode 100644 sdk/R/man/Collection.Rd
 create mode 100644 sdk/R/man/Subcollection.Rd
 create mode 100644 sdk/R/man/print.Arvados.Rd
 create mode 100644 sdk/R/man/print.ArvadosFile.Rd
 create mode 100644 sdk/R/man/print.Collection.Rd
 create mode 100644 sdk/R/man/print.Subcollection.Rd
 create mode 100644 sdk/R/run_test.R
 create mode 100644 sdk/R/tests/testthat.R
 create mode 100644 sdk/R/tests/testthat/fakes/FakeArvados.R
 create mode 100644 sdk/R/tests/testthat/fakes/FakeHttpParser.R
 create mode 100644 sdk/R/tests/testthat/fakes/FakeHttpRequest.R
 create mode 100644 sdk/R/tests/testthat/fakes/FakeRESTService.R
 create mode 100644 sdk/R/tests/testthat/test-Arvados.R
 create mode 100644 sdk/R/tests/testthat/test-ArvadosFile.R
 create mode 100644 sdk/R/tests/testthat/test-Collection.R
 create mode 100644 sdk/R/tests/testthat/test-CollectionTree.R
 create mode 100644 sdk/R/tests/testthat/test-HttpParser.R
 create mode 100644 sdk/R/tests/testthat/test-HttpRequest.R
 create mode 100644 sdk/R/tests/testthat/test-RESTService.R
 create mode 100644 sdk/R/tests/testthat/test-Subcollection.R
 create mode 100644 sdk/R/tests/testthat/test-util.R
 copy sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa (100%)
 copy sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.amb (100%)
 copy sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.ann (100%)
 copy sdk/cwl/tests/{secondary/dir => hg19}/hg19.fa.fai (100%)
 create mode 100644 tools/arvbox/lib/arvbox/docker/go-setup.sh

       via  3d6d097f42128bde90b7bc184057a84e99ea3e0a (commit)
       via  de70e67d9bd06783f42ba5ab2408b5778e6573ff (commit)
       via  f35131cad37610298a6cdc52b4b213a29cb1e735 (commit)
       via  cfb929643f5f5d24fdc9f98c1c83c79ffd708f0e (commit)
       via  c0a5fa033d0a9bfbeab001f287969756e9e1d16d (commit)
       via  3c31a5e643b930d1cdf227d2f5b151df48f20601 (commit)
       via  8dd93ce870df1f438fab7fceebe6abdec9763199 (commit)
       via  55b80c76014dbcad964b3d9e0956ce93d4cfb00b (commit)
       via  5d164d74505c232cfa232d69a56273da2d02b72a (commit)
       via  f309b872cc064141d9fbf43a15067998603e2204 (commit)
       via  0fab8a581c4a711408150ed64ce909d9afda7829 (commit)
       via  53e11d8a5dde938b5ade8a1d96b04e039d15a0e2 (commit)
       via  a4b4dded53cb7056c31f4c55e1cd3fe333f699d1 (commit)
       via  06e690a125bf736d39f8994534cd7e75bb8bffad (commit)
       via  24e302ceb24fcf9f00340e1896729de45cde45dd (commit)
       via  2173fac2d9acd783b9306696ce6857b2c511e0cf (commit)
       via  4fca56d2393f754a0f8ff21225fd975ca4b1f782 (commit)
       via  80eedd862b4956ed840af233dce0c3608fe627b2 (commit)
       via  71e1465f6c7aa20a70bf46e56ac20f8b74423d4a (commit)
       via  d76c4ddfa1e964a8a1dfdafd127aa7735126caea (commit)
       via  f7d7147e97751d5a4514443a3dd6a264786c883e (commit)
       via  cfa10d90137e49008c08bc88bf2b79d1429fd0f8 (commit)
       via  2517c98e6835fef0a9e9829773f058d7ced00462 (commit)
       via  acb392d097b6dc72ce0953d22d245b039b62fccc (commit)
       via  47cb4506cc97c701639038a12f08374e8f06c41b (commit)
       via  1e00053e7bc962a827ae960c1953ac9bd63d503b (commit)
       via  4c7c4c13f51f99de535905ad02fe9239490a7956 (commit)
       via  8fb1de64d0caddc9fc533a964470de799b6044ff (commit)
       via  067ca04652413e2bacd76e9ac5c5c245aa27a291 (commit)
       via  10c8c1871bef6d88ae27797e4b389fbf8649f4b0 (commit)
       via  2bae361432ff8f975803495b4fd0acfae02cd3ef (commit)
       via  1b350dc780c38740819ff0dbb495557742aabd1a (commit)
       via  fa9f5461910fede92df37bfce1e46514a59861eb (commit)
       via  a6228b5228c807fcee897da58d18ee542e930d77 (commit)
       via  abdc3d88ac10b8f3b634b4f1edd46e3597d54ee2 (commit)
       via  0312a5e5aa076fa3458dd83a33e72663d23bb1ba (commit)
       via  948c4e583b89e28730f8a0d2ae3f94e459351b30 (commit)
       via  d20683e4d068d673c481191b56e770f61c3cb208 (commit)
       via  6331a6c3edee1fef0dc22eb2e2407f2c60168816 (commit)
       via  318d42f0d64cfca262eae5e902ea6fecb724c89a (commit)
       via  0e3c1f9c71f537d000459cbd3159ca6c198461c8 (commit)
       via  8ca0b1449607ded51e908481cc4660c20f43a777 (commit)
       via  bf97bb37d38df9d6edd1a6b0c4227ee9846a4905 (commit)
       via  b3e8a483835334becbef9cba2bebbcf08df47c15 (commit)
       via  75fd99e49f880aac55ae568c76c5151857e6beff (commit)
       via  5f6738f134e1abb359fc8e8c61751263db88d4b6 (commit)
       via  aa798e6915bd39296bca8f62fd3476293c25f436 (commit)
       via  23baab324564d36322b265c7fd904a0b4548c195 (commit)
       via  03c82ef2950a25085e8d8ec0dc5d261fa1ca7963 (commit)
       via  2eb85f70168d331e49e9d38bfbd2292d586dfcc1 (commit)
       via  dac01e1015f4d769a929651a74096e8a13592cf7 (commit)
       via  5857ebe3b0e512d76871020f1b08d49a9f4de70b (commit)
       via  06237272c9c8b3bfefe00308b2749c8df823ebdf (commit)
       via  c5795cc6f73d5affc55a332fcddc37fa56636f9a (commit)
       via  9359659d79a0c17265ff8a09e896920243a1b800 (commit)
       via  fd228a5ac00d71170eadef15560ced417b1d3909 (commit)
       via  d03facf18d724c52c09604710b074d465febfece (commit)
       via  086f6cc8645e655f75c84268e7e758856a07be87 (commit)
       via  bcb86b69fba693af210e82d40d92854e609157c4 (commit)
       via  23995e4bd823ff1a9f4986ac2b852fd35d740940 (commit)
       via  f64238be677ff7f67cb5ac71ecac534d0c4aa488 (commit)
       via  294e83e3d69e3da8dbced2059323d8680349f548 (commit)
       via  5c6b040cabe60623364f19dc35920a084d6c6fc6 (commit)
       via  69b7576df3796887ebe754a71437f6dc3032f119 (commit)
       via  62e5b36b38e9da03ea0c84256d433b4d21194da3 (commit)
       via  d3dd0147fc7c0e344b4cca1fb92d7c500924bd37 (commit)
       via  e1d26636c385f4c09484673b1b90eec6191ba6c5 (commit)
       via  14e0d031833b75c2bbbfe796294934aea2da3d19 (commit)
       via  29e4cf39674f54e5607d84d612ff867a4add0347 (commit)
       via  cd3bab6f91b89073c9b5646a69110a8b1a5e9e66 (commit)
       via  913baf3c2d96000ea564821a9ae9163e991105a3 (commit)
       via  ef2889f20ad25c30abb05c53cc5e08e2c2ed97d3 (commit)
       via  6459c61b9cca7d2382d01c20d1f749a7dc8d21e0 (commit)
       via  c98c533d5c971efd1d3b122076c5abe0736f8423 (commit)
       via  c8891a5eeec540404c7aff02a200fd95f6dbe64b (commit)
       via  3e51fd869e600fd3d60e892346896fd9ce3d8c9c (commit)
       via  4da7a9b5c11caf085c14cbf0eacdc16b6f6d7fa5 (commit)
       via  4e78fdb8c41ee73a0f14a349fe4edcfdb1523458 (commit)
       via  bf59702692c89a809f102d8bd4b9caf531f4c9be (commit)
       via  76a7dd09a977c109de100884500b531e6bbe2166 (commit)
       via  11eda09c7340da2c0a01259e3711758782c9b1c9 (commit)
       via  bd1378553152e98ffd0e9ecf68dc0f92ea3ff186 (commit)
       via  25da01646d0fc0d5b49cdeaa10173beabfd2e8b9 (commit)
       via  9482a917eef77ef64fc9fee27b0d107727f765ad (commit)
       via  b4351d725f01431856cbe1ea0e8faf8d4f91dd4e (commit)
       via  3a4434f8b767e05456eea248f645422b1ed670d0 (commit)
       via  1178add6cefa51f73dd9a229899ea906d297be5a (commit)
       via  44ab8ee44302102a7cd5289ef7336d7a94594558 (commit)
       via  5bd7108fed4a87eb7cc5a25844bb8c100977c968 (commit)
       via  1b7a6c0ca4fa348c313a0862cfca597319cfe08f (commit)
       via  90bffaaf5e537608c3a8d2520544bfdd9b98d286 (commit)
       via  7471c3fb9752482dccae508c34874f9b3c77dfb1 (commit)
       via  0b869f3fab26c33515cd9b2f44e0ed9c8c542698 (commit)
       via  0488e81c85948faa6a14ca437d9e594d91bcbbd8 (commit)
       via  14b4a1acc30cf4c84135ec7580d228ad1aacca17 (commit)
       via  8137793fcd26eed30004f62a0c9ed0f839a9bd5e (commit)
       via  59eb2058e7111581645c960ba868f49f0fed152b (commit)
       via  78de557466248e1a193e07ae1945b29a23fc56a8 (commit)
       via  3a6a89199e2478454905731ccef0868d5fdd6f8f (commit)
       via  5358498e3f2c0dd73231dca8ca82f9ad164854f7 (commit)
       via  3f5268c5a8d6a72597a05bba5dd6e0e5e67457a9 (commit)
       via  6f1b9ffa9cf4abe9f08455346c917f66b8c5e9a5 (commit)
       via  64aee8cfd4164f3c0dae26fe62cc9ee22b16782b (commit)
       via  c2a07597440e4db06481d2532adc317331df441b (commit)
       via  95c228e25cd1a483ec391a9b2c5d6fb048f620f1 (commit)
       via  4dda3a5b85afbac450d958d81e2acb013c5bae20 (commit)
       via  1499d395e3d2ef62334e349f7bc4ae2cfd0418aa (commit)
       via  2d451314078739464fbb754791bf6f1d4a8fad1c (commit)
       via  f1bde50ee2e8b8fa8533518006f09546a62f7a87 (commit)
       via  af17604c5a93830380fb50db93ce543926c116cf (commit)
       via  539f2b151c57a76c9a8c0d49ef7ee5c0bac39de7 (commit)
       via  d25be127db660e0c3c97bf53f8488d73e28b86d3 (commit)
       via  38ceac30a22ac3c506ca69263ff9e2640e5bd71e (commit)
       via  29df5af6f77c1f24593ecda397a56f0632876ce2 (commit)
       via  defe89ef5c3e8995b275120f060cf85296f6396b (commit)
       via  b5c2d27b55ff8490818548bc077975fbf37b3a1f (commit)
       via  68d1c59bc33df1b002754b958b6887896f2a40d5 (commit)
       via  b0f36fd28ee29321d368852bd14b61485e758af3 (commit)
       via  7f2de2ec1d52c8e5984b610c5930f2d9629bd357 (commit)
       via  67b46a6c360a18fee84846d75622539220eca211 (commit)
       via  937c64f38ff59f11616ea8932b24116530f2e60f (commit)
       via  ecb7d4501373a21ae69494beee8252f107ec1b56 (commit)
       via  1ece35a0faae97687c2dd370f6b8a61aaac505c2 (commit)
       via  2d3726dd11046146731f7f7391659a5eaf44702b (commit)
       via  7b76c49887aecdb2bf0be7eecf8f5b271d5f0c38 (commit)
       via  8daddfe53514b71ef229e9c2985e116fa6614858 (commit)
       via  d246f53c1d991f1572d6701569aa8c7eac4d722d (commit)
       via  b37da0c1488f68491f40bbe5bfbe2e00a12137e9 (commit)
       via  3b4520cc6aa20a3db3b469c32c2b29ccee8933c5 (commit)
       via  ec836ed648758619ed35153e52016079adce99b7 (commit)
       via  91801cb4c303db0fbf701aa34e646e0dc4187f05 (commit)
       via  76c2e8d11e3c644f1603adbef3222afaacd6a279 (commit)
       via  d645f41a7f082e92288cb07cfa4527ff3edb408a (commit)
       via  f4da35a4dc44a18c8371c9e42a03fa5dc96c53d3 (commit)
       via  99bec637f6d4384a8d6f3c2cb27eb32d13c14f21 (commit)
       via  3d51cb80240a582a901855d7a7e79b70dcf28bab (commit)
       via  c65dfd0d76b9432b1ca305d2bf39d8bb309124a2 (commit)
       via  082df78ff6abc6ecb5fb817649111e7e6ef967a2 (commit)
       via  7c8c1719232d0a5b96e6cbfa46c94faeee65cf05 (commit)
       via  693b1f491499c33d82c3950aaa8f0b754a50c219 (commit)
       via  e72f801012e68e7a223a64d4e90bfa2cc66a9254 (commit)
       via  074f020c32c55c017433ac5a294a5e0b73b360ad (commit)
       via  2fcdd3f845647243517af895d49c812f9c2eaae2 (commit)
       via  62a2ccba46cb5b83e510e727afa44eee2e893676 (commit)
       via  d5cb3c081c0e9a8d7698feb7c04ade6f385a5471 (commit)
       via  790a912ff48b90cba284a0a6b5b4e34db7b22078 (commit)
       via  9d633e1cc0f3842edf6cef1a9f6d7f4724ab81bf (commit)
       via  11b903121f9c9505e529bb4b8965d56c1f8f96e0 (commit)
       via  f15c8a8ef1af9d823030f4c6383ba2560a78a4fa (commit)
       via  df8b4a86d08b4da0f5959766257664c9af89343b (commit)
       via  7da8eaf51a23ab23369b6e65f0634448cc4aeb3b (commit)
       via  05d6f9301e863a2b0aad1178d629354601f14325 (commit)
       via  5c5ec11a744d47f7235e5a1862d2d22288ffe90f (commit)
       via  8b29c17f3dcbfa2601b6be4921316340967af17b (commit)
       via  f67c59f3fea793ed3ccea7f5a8106014ec2dc108 (commit)
       via  6e2965abc46832a4970b80bce84a64d932426285 (commit)
       via  a8c3d59c520942c14434cea310c2c8a2fe623a9c (commit)
       via  2204a8d9305c85d2f7d65621a66443e7104c5f6b (commit)
       via  a084df558c2bb054140a2bea08c973fa76209b97 (commit)
       via  6c2355d82da1326a125ce7adcb8945a1d8efd671 (commit)
       via  60ee2fc214c9712b1db5ad82670eadc534279685 (commit)
       via  7ff006ea5351259abe8edc89520996513652c147 (commit)
       via  f2a79e0cc9bffcbe941d9a05b78f102fa6f09d03 (commit)
       via  eb95e18a3f2686762a99723ba4d7f0803f9d3c5d (commit)
       via  aba085a3abd65bc86075839298526ab2f686117c (commit)
       via  c88643983aeb511eca21e1d9e36b919a63482fb8 (commit)
       via  c1d564b0e5f95c54d822d39cf1715d93d293c70b (commit)
       via  d859cab46630d46aa1ae7b1d8de7ec92d0a4b8fa (commit)
       via  58838a7cd8e142ce12a90f6cafb80ea0c09797d5 (commit)
       via  be76fcdd9aa19fbf8982df2543685816a4afb1e0 (commit)
       via  2295b8b5c11c0177ff927d147800f6174feb4b9e (commit)
       via  2d8d861fadc8f3e0e7d5524c78f980dedc56f759 (commit)
       via  eb93b9b3b9d05c566f886b9a46bad4043d0a8534 (commit)
       via  02ce18b74c42b34a86208a713e00dfa0e0fe39de (commit)
       via  723ccdb54a0fc58c3e636481c404ea95b8f38d46 (commit)
       via  15eda5715c312d12ec24c24db80448bee90e38ea (commit)
       via  fbb9221d9de4c4a27e0c8aefc48c7c9c7a80ceab (commit)
       via  29659ffa9e00efe7a845aa303c70ba543c23174d (commit)
       via  18f8fa743346e5ac2ddc48dfdf6fdb4788c5b271 (commit)
      from  20c51bfacc584f54083da0b3317116089e3af6b4 (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 3d6d097f42128bde90b7bc184057a84e99ea3e0a
Merge: de70e67 c0a5fa0
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Mon Feb 12 17:28:22 2018 -0500

    12199: Merge branch 'master' into 12199-dispatch-to-node-type
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>


commit de70e67d9bd06783f42ba5ab2408b5778e6573ff
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Mon Feb 12 17:06:13 2018 -0500

    12199: Improve race handling in busywait.
    
    The previous implementation was "call f() until it's truthy, then
    assert f()". The assertion fails if f() returns truthy but then
    returns falsy on the next call.
    
    The new implementation doesn't call f() again after it returns truthy
    once.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/services/nodemanager/tests/test_daemon.py b/services/nodemanager/tests/test_daemon.py
index ebe7408..50fa0aa 100644
--- a/services/nodemanager/tests/test_daemon.py
+++ b/services/nodemanager/tests/test_daemon.py
@@ -23,12 +23,13 @@ class NodeManagerDaemonActorTestCase(testutil.ActorTestMixin,
                                      unittest.TestCase):
 
     def busywait(self, f):
-        n = 0
-        while not f() and n < 200:
+        for n in xrange(200):
+            ok = f()
+            if ok:
+                return
             time.sleep(.1)
             self.daemon.ping().get(self.TIMEOUT)
-            n += 1
-        self.assertTrue(f())
+        self.assertTrue(ok) # always falsy, but not necessarily False
 
     def mock_node_start(self, **kwargs):
         # Make sure that every time the daemon starts a setup actor,

commit f35131cad37610298a6cdc52b4b213a29cb1e735
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Mon Feb 12 16:48:15 2018 -0500

    12199: Fix errant uses of size.name that should be size.id.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py b/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
index e948c51..1cf8f4e 100644
--- a/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
+++ b/services/nodemanager/arvnodeman/computenode/dispatch/slurm.py
@@ -31,7 +31,7 @@ class SlurmMixin(object):
     def _update_slurm_size_attrs(self, nodename, size):
         self._update_slurm_node(nodename, [
             'Weight=%i' % int(size.price * 1000),
-            'Features=instancetype=' + size.name,
+            'Features=instancetype=' + size.id,
         ])
 
     def _get_slurm_state(self, nodename):
@@ -109,7 +109,7 @@ class ComputeNodeUpdateActor(SlurmMixin, UpdateActorBase):
         """Keep SLURM's node properties up to date."""
         hostname = arvados_node.get("hostname")
         features = arvados_node.get("slurm_node_features", "").split(",")
-        sizefeature = "instancetype=" + cloud_node.size.name
+        sizefeature = "instancetype=" + cloud_node.size.id
         if hostname and sizefeature not in features:
             # This probably means SLURM has restarted and lost our
             # dynamically configured node weights and features.
diff --git a/services/nodemanager/arvnodeman/computenode/driver/gce.py b/services/nodemanager/arvnodeman/computenode/driver/gce.py
index 419557f..3f1d575 100644
--- a/services/nodemanager/arvnodeman/computenode/driver/gce.py
+++ b/services/nodemanager/arvnodeman/computenode/driver/gce.py
@@ -38,7 +38,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
         super(ComputeNodeDriver, self).__init__(
             auth_kwargs, list_kwargs, create_kwargs,
             driver_class)
-        self._sizes_by_name = {sz.name: sz for sz in self.sizes.itervalues()}
+        self._sizes_by_id = {sz.id: sz for sz in self.sizes.itervalues()}
         self._disktype_links = {dt.name: self._object_link(dt)
                                 for dt in self.real.ex_list_disktypes()}
 
@@ -120,7 +120,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
         # and monkeypatch the results when that's the case.
         if nodelist and not hasattr(nodelist[0].size, 'id'):
             for node in nodelist:
-                node.size = self._sizes_by_name[node.size]
+                node.size = self._sizes_by_id[node.size]
         return nodelist
 
     @classmethod
diff --git a/services/nodemanager/arvnodeman/jobqueue.py b/services/nodemanager/arvnodeman/jobqueue.py
index ebc90e4..0360bfc 100644
--- a/services/nodemanager/arvnodeman/jobqueue.py
+++ b/services/nodemanager/arvnodeman/jobqueue.py
@@ -75,14 +75,14 @@ class ServerCalculator(object):
             return fallback
 
     def cloud_size_for_constraints(self, constraints):
-        specified_name = constraints.get('instance_type')
+        specified_size = constraints.get('instance_type')
         want_value = lambda key: self.coerce_int(constraints.get(key), 0)
         wants = {'cores': want_value('min_cores_per_node'),
                  'ram': want_value('min_ram_mb_per_node'),
                  'scratch': want_value('min_scratch_mb_per_node')}
         for size in self.cloud_sizes:
             if (size.meets_constraints(**wants) and
-                (specified_name is None or size.name == specified_name)):
+                (specified_size is None or size.id == specified_size)):
                     return size
         return None
 
diff --git a/services/nodemanager/tests/test_computenode_driver_gce.py b/services/nodemanager/tests/test_computenode_driver_gce.py
index cfc4add..f0942e9 100644
--- a/services/nodemanager/tests/test_computenode_driver_gce.py
+++ b/services/nodemanager/tests/test_computenode_driver_gce.py
@@ -211,7 +211,7 @@ class GCEComputeNodeDriverTestCase(testutil.DriverTestMixin, unittest.TestCase):
         # patches that up in listings.
         size = testutil.MockSize(2)
         node = testutil.cloud_node_mock(size=size)
-        node.size = size.name
+        node.size = size.id
         self.driver_mock().list_sizes.return_value = [size]
         self.driver_mock().list_nodes.return_value = [node]
         driver = self.new_driver()
diff --git a/services/nodemanager/tests/testutil.py b/services/nodemanager/tests/testutil.py
index d13475b..555144c 100644
--- a/services/nodemanager/tests/testutil.py
+++ b/services/nodemanager/tests/testutil.py
@@ -80,7 +80,7 @@ class MockShutdownTimer(object):
 class MockSize(object):
     def __init__(self, factor):
         self.id = 'z{}.test'.format(factor)
-        self.name = self.id
+        self.name = 'test size '+self.id
         self.ram = 128 * factor
         self.disk = factor   # GB
         self.scratch = 1000 * factor # MB

commit cfb929643f5f5d24fdc9f98c1c83c79ffd708f0e
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Mon Feb 12 16:39:23 2018 -0500

    12199: Update integration tests.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/services/nodemanager/tests/integration_test.py b/services/nodemanager/tests/integration_test.py
index 7b129f5..7b8ba39 100755
--- a/services/nodemanager/tests/integration_test.py
+++ b/services/nodemanager/tests/integration_test.py
@@ -84,7 +84,7 @@ def job_cancelled(g):
             ['event_type', '=', 'stderr'],
         ]).execute()['items'][0]
     if not re.match(
-            r"Requirements for a single node exceed the available cloud node size",
+            r"Constraints cannot be satisfied",
             log_entry['properties']['text']):
         return 1
     return 0
@@ -94,7 +94,7 @@ def node_paired(g):
     compute_nodes[g.group(1)] = g.group(3)
 
     update_script(os.path.join(fake_slurm, "sinfo"), "#!/bin/sh\n" +
-                  "\n".join("echo '%s alloc'" % (v) for k,v in compute_nodes.items()))
+                  "\n".join("echo '%s|alloc|(null)'" % (v) for k,v in compute_nodes.items()))
 
     for k,v in all_jobs.items():
         if v == "ReqNodeNotAvail":
@@ -107,7 +107,7 @@ def node_paired(g):
 
 def remaining_jobs(g):
     update_script(os.path.join(fake_slurm, "sinfo"), "#!/bin/sh\n" +
-                  "\n".join("echo '%s alloc'" % (v) for k,v in compute_nodes.items()))
+                  "\n".join("echo '%s|alloc|(null)'" % (v) for k,v in compute_nodes.items()))
 
     for k,v in all_jobs.items():
         all_jobs[k] = "Running"
@@ -119,7 +119,7 @@ def remaining_jobs(g):
 
 def node_busy(g):
     update_script(os.path.join(fake_slurm, "sinfo"), "#!/bin/sh\n" +
-                  "\n".join("echo '%s idle'" % (v) for k,v in compute_nodes.items()))
+                  "\n".join("echo '%s|idle|(null)'" % (v) for k,v in compute_nodes.items()))
     return 0
 
 def node_shutdown(g):

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list