[ARVADOS] updated: 1693dc615e67c1bae3b6b52c0631fc58d8475d8f
git at public.curoverse.com
git at public.curoverse.com
Fri Oct 31 13:28:38 EDT 2014
Summary of changes:
apps/workbench/app/assets/javascripts/dates.js | 2 +-
apps/workbench/app/assets/javascripts/tab_panes.js | 48 +-
.../app/controllers/actions_controller.rb | 2 +-
.../app/controllers/collections_controller.rb | 94 +--
.../controllers/pipeline_instances_controller.rb | 12 +-
apps/workbench/app/helpers/application_helper.rb | 2 +
.../app/helpers/pipeline_components_helper.rb | 2 +-
.../views/application/_title_and_buttons.html.erb | 2 +-
.../app/views/collections/hash_matches.html.erb | 23 +
apps/workbench/app/views/collections/show.html.erb | 14 +-
.../pipeline_instances/_show_components.html.erb | 2 +-
.../test/functional/collections_controller_test.rb | 8 +
.../workbench/test/integration/collections_test.rb | 53 ++
.../test/integration/pipeline_instances_test.rb | 53 +-
apps/workbench/test/integration/projects_test.rb | 24 +-
apps/workbench/test/integration/websockets_test.rb | 22 +-
apps/workbench/test/test_helper.rb | 15 +-
doc/_includes/_skip_sso_server_install.liquid | 6 +
doc/api/methods/nodes.html.textile.liquid | 2 +-
doc/images/workbench-dashboard.png | Bin 44822 -> 94257 bytes
doc/install/install-api-server.html.textile.liquid | 17 +-
doc/install/install-keep.html.textile.liquid | 2 +
doc/install/install-sso.html.textile.liquid | 15 +
.../install-workbench-app.html.textile.liquid | 9 +-
...tutorial-pipeline-workbench.html.textile.liquid | 11 +-
sdk/cli/bin/arv | 2 +-
sdk/cli/bin/arv-copy | 1 +
sdk/python/arvados/commands/arv_copy.py | 665 +++++++++++++++++++++
sdk/python/arvados/commands/keepdocker.py | 31 +-
sdk/python/arvados/config.py | 27 +-
sdk/python/arvados/keep.py | 5 +-
sdk/python/bin/arv-copy | 4 +
sdk/python/setup.py | 1 +
sdk/python/tests/test_keep_client.py | 7 +
.../app/controllers/arvados/v1/nodes_controller.rb | 7 -
services/api/app/models/node.rb | 54 --
services/api/config/application.default.yml | 9 -
services/api/lib/eventbus.rb | 147 +++--
services/api/script/crunch-dispatch.rb | 336 ++++++-----
services/api/test/fixtures/collections.yml | 12 +
services/api/test/fixtures/groups.yml | 4 +-
services/api/test/fixtures/jobs.yml | 4 +-
services/api/test/fixtures/pipeline_instances.yml | 26 +-
services/api/test/fixtures/pipeline_templates.yml | 1 +
.../functional/arvados/v1/nodes_controller_test.rb | 2 +-
services/api/test/integration/websocket_test.rb | 43 ++
services/crunchstat/crunchstat.go | 483 +++++++++------
services/crunchstat/crunchstat_test.go | 50 ++
services/fuse/tests/test_mount.py | 1 +
services/nodemanager/arvnodeman/clientactor.py | 38 +-
.../nodemanager/arvnodeman/computenode/__init__.py | 130 ++--
services/nodemanager/arvnodeman/daemon.py | 23 +-
services/nodemanager/arvnodeman/jobqueue.py | 17 +-
services/nodemanager/arvnodeman/timedcallback.py | 3 +-
services/nodemanager/tests/test_clientactor.py | 25 +
services/nodemanager/tests/test_computenode.py | 8 +
services/nodemanager/tests/test_daemon.py | 97 ++-
services/nodemanager/tests/test_jobqueue.py | 9 +-
58 files changed, 2027 insertions(+), 685 deletions(-)
create mode 100644 apps/workbench/app/views/collections/hash_matches.html.erb
create mode 100644 doc/_includes/_skip_sso_server_install.liquid
create mode 120000 sdk/cli/bin/arv-copy
create mode 100755 sdk/python/arvados/commands/arv_copy.py
create mode 100755 sdk/python/bin/arv-copy
create mode 100644 services/crunchstat/crunchstat_test.go
via 1693dc615e67c1bae3b6b52c0631fc58d8475d8f (commit)
via e6d161cc976f253863c4b0788ce91c5955046972 (commit)
via 31e1d10eb4a54b13f55b3c9638f46032be633ff9 (commit)
via 2d244defaaa4f5f663a5ac11cf507d7203f704e3 (commit)
via 846ac5d419862e2b0051ec0843e71c601b35da44 (commit)
via f923effe2e0ae0b704b9236b4165866b171b6e81 (commit)
via fff7228b347fd12c15a18d6de47e37c2f72ae795 (commit)
via e68bf42e440545bd2b760635039a232c4ef35fae (commit)
via 8c492b3940f398dddea54792f67a7a0e9d2383a6 (commit)
via af2ca91daa4cb9550226be5fad80da24ee426fb7 (commit)
via 2776ad1bd8f05cf58a2bab436db932289d80549a (commit)
via a3db87c5a23f3a1e72ea82304d24db8c1757c095 (commit)
via 6ed159925434818e3da1f7ff9f6a777815f2a5a4 (commit)
via f1eb092c311510b60b8c9b00b64407780e2a0302 (commit)
via ef56ac56a0bac0710a486c0e5e9cdd3199eddc61 (commit)
via fb01e30424d20a3430f45826e57410b8e2e5440d (commit)
via 35ade8a042094a27e2ca5cfd5e9754aa3513410c (commit)
via 0862d7206c66e8cc435de1d379c1a3ed389c1c87 (commit)
via cf1097ef1225c05eb4431093a4971739a3ee5a37 (commit)
via 563b588da606aa38cdfd8a35fbc70c7414678747 (commit)
via e3fe23ff86e3f5f19c0a76779f957adf1310b949 (commit)
via 87b2e5da50efa25671f1368e6cb162a5584fe030 (commit)
via 7086db26dce2ed43098daf1198a37412a5e42e48 (commit)
via 587fcc936d7b5b0b8c16220a5932cf9441e02ab0 (commit)
via 6a40678734cd727a4c3be41f06bb4019fc1c6222 (commit)
via 358045151388f4c5d4078a96e1391b7f02e4ce88 (commit)
via 016ecd4c969e5bfa560702843c8e381eb3a33060 (commit)
via 091d56d4e04e5b1051787fdfcc27dd1d5a6f0ec7 (commit)
via 22db612b913e6b4d68b3600c04d06e4898a2f1a9 (commit)
via fcfd4428e2889ceb847b64b0819207c421de1abd (commit)
via ae4948ee3a6e2d55a44a31272d1f67b669b0345f (commit)
via 140012f16cc5945a8c469db3e11f13cc4493cc22 (commit)
via 4a774fdb7a95a241d4b95649ea57b505784f3362 (commit)
via 95b0d8142d04199eae27eea17e4a5353d6e3f141 (commit)
via 7149ee5d616b932a73fb7a311136e6db75020666 (commit)
via 1ed38089f9d9969abde1849743f0fdf52d3d2d93 (commit)
via 0311a59f177bd18fb46fc0ceefde5fc9ad07af63 (commit)
via 34471863720a9e301be1604c2bd546627d435606 (commit)
via 1a20f5f5423dfab4e03d267680da30125487425a (commit)
via 4265a54aa0d505c5c35b9b290e2c6600a2766709 (commit)
via de3bb6cb95b9699ff6eea6ac836c4598cec331a5 (commit)
via 93ffb7c3e8c369a1ee7d5f8da08c92ee478f5ea4 (commit)
via fdaaff3165642f03d46a628050d6dfb04cd37565 (commit)
via 9feeea1226399a9fc28acc53eafc45d884f7db65 (commit)
via 351895cf665a1cc26ab0f39fed696909331c99c4 (commit)
via 91738b3c2331a102e4aefd4be580e0e979bc514f (commit)
via 789e479916a89e57cdf1d65c49923449c4fb1bcf (commit)
via ea80735a2ea4067d682cde533565dc42920f8d5c (commit)
via 21ccdae70baaca0c7aeca8542f2a0a431f06c313 (commit)
via 74e7f636d3ec2f3a20640b721a3fd76fd23cd788 (commit)
via 21d6720325e567f78329662c286fa693a8688ff4 (commit)
via 2def202591164c9ade2c2b7ab6f67dc892d10557 (commit)
via e8451457c28477a5c3716e878d09d0be147186d6 (commit)
via 11085f87c952c7e46a15c88e144190cac32b95a8 (commit)
via 34a9171fa5b01bb206543576947c3300faac280a (commit)
via 81cb0b6ac320caf7098c735ee06c610d73953ab5 (commit)
via c6056f6f1bb99fa10bc2046266accc4a85f66aad (commit)
via a008743d5471a30c96159b68ea60371a86ef4c0c (commit)
via 789e1eb86b5286f3d34b112e0ab802bd3a2793b2 (commit)
via a124a5350d31001a7c66381fa853dfcd78dddd06 (commit)
via 3ca013aedeae5b2085b8fb37ca80501117f0f918 (commit)
via 3bf2514da60ab2e0b7639959b650cc4d93784080 (commit)
via d3dbc2c0557801f0e269a035e257beb09fd53618 (commit)
via f2ba19f987bfe7de245176e9fb4ea5e783564494 (commit)
via a8b3df3d2c5fa8fa66484d6bb0d20a37a0863d90 (commit)
via 6eaaae29a7af005e417673d79e0951122065e685 (commit)
via ff36aa7e753a28cb36bd13e3cd3bbbe4c6617265 (commit)
via 83fc1e7b7e621be38e43d3d97bd32447ef846eae (commit)
via 58ead50fe4b7014562c0697290cf933a956ab852 (commit)
via 5870334b03237f04df6de35193f78b838f7ac7dc (commit)
via 99ad159b229c312ef6625e6ef042c33d0db524b9 (commit)
via e6359fe13c6b3b4558d703fecdd2f5f1713dc0e9 (commit)
via 89f38df7ce6e3af8e6119a111cdf985de6e0a0e9 (commit)
via fe5ee2e37364330b4a58c0c41e8a0b627e8cb1f2 (commit)
via 1aabac3cbaf0d701696ffabceb992826abeea8c5 (commit)
via 8d2639525417aaa02240777454405f2249d505b0 (commit)
via ca1ddb913b35eaa4aea43a88501c5b7c6ab95e2c (commit)
via 3ff1b002f559933d5856fb260a7381ba4fb44e6b (commit)
via a15315b96439f2971d4ac6f6868c9de05877cd7c (commit)
via 06686c47a0f99f5b5f292cde2d391024bf107514 (commit)
via 7d6bf71834622c22fd65faecbff29ba8a333c636 (commit)
via 6ad9adc1224f1c45a652258d43b7b4b92898e2d1 (commit)
via b25d2ec2950f6e2ffa9943a15c87441ebd6672b2 (commit)
via 0c6f7b227f95394fd4fffadfe7cfa022e32e5fae (commit)
via e102efba3f46986b6a2abaee2cc222db8c85198a (commit)
via 86e8d9a338e3947337898256479fc904b36949c7 (commit)
via b5c04e9b23c7292ea8b976d3614a172241eabaad (commit)
via 9362030c75c09e363f95dcf742f79570107928d1 (commit)
via 4fb27993c2989648fab6fa29e2073a65b395379d (commit)
via 15f367505326b375b17f03e4c54a751337155df0 (commit)
via 183df814d5cb49d11614acb73b07e4e2809524e2 (commit)
via de79b73c55c5b1c469766ac8f930f335ac3fc246 (commit)
via 6d3a88841b58eb02f6f6aedd38a40ed02cc42d1f (commit)
via 19c0f65c05c4a4d01bc69d98a33cab6ce61b806b (commit)
via 3254f0a981f72decc49f2fbd43d4cffb47dfb4b4 (commit)
via 972974d7f305426854ad6c2e271c33730905dee1 (commit)
via cef5c3f1b3bf267aedc3ff6ed92778040efb3882 (commit)
via 2e76e6ae877fb528d666071075afe2bf4ab21035 (commit)
via 81c3241d08ced11ea118c7f68db62032ad5bc469 (commit)
via 8bd432b7fe67766d6f92902e20b5e63c9f18146d (commit)
via cdaf5c71016d2cad54d54e9b4b87bafe4554d376 (commit)
via 2556bf9a17d39e658f91cd9b180848526415ce92 (commit)
via 41887dd213cfa165925e94d4f3bb120edeb1a30d (commit)
via c744c6cecd4f049ce5a2f6e922ca9f74b03fa3a3 (commit)
via 06d0338d638ce74b51ca3cfe10523e5515269fdf (commit)
via ae670519e4075b75346d6152abedf87d41e2cea7 (commit)
via 85c6c9ee95ce15f6a12b987fe611e917f043e589 (commit)
via d599adb390dddea375cd8f79626678d0db5c2027 (commit)
via 59807e4ab334f7aec9772bf63f186974fba96821 (commit)
via 12df2994c114b62b0d07a267fdeeaea389e5adb1 (commit)
via b81c434401a503746ec54e53bf7058cf42beaa2f (commit)
via 36bf949652cf8544f6176f77e07273cd3bf9df77 (commit)
via 41c5cc5a3731417a31c8db685e78cb795bbbe91b (commit)
via db0472215ce261406503d7336006bcd64c9feacd (commit)
via b7f67c80916c2efa0c234ab5f4e92c24d47223c5 (commit)
via a5ec4164873e4972aaaf943e48603daa61a044b7 (commit)
via 75b8b796ee88196ca1b99dcfed0533565c52dce7 (commit)
via 90057cfa2c19091b0d627a1df978014998e187c6 (commit)
via becd16125599abeefa3d2d1203279bf7eee69669 (commit)
via 2b08ab24b496f14d2ef97167a2e78e92b179f226 (commit)
via 5de6c0630a455eb29d83f97e6787a83c8332b1e5 (commit)
via b435064a0085044993c5c0f5b8156a61b3e32c54 (commit)
via 8aeba61dc1cf17b680d6cd3e6bcc4c01f40ff5a3 (commit)
via 5bce0483011b58a97dded8874491c7b266a850fc (commit)
via fd8ed1da05708932eb3e654e333053e1940dc29c (commit)
via ee45ddfb506f72a021f772af6477bfeab1204b3a (commit)
via c83d732301d7f192895db6c112e0bee29614e314 (commit)
via 41270a7c0897f2183b6e58674c450a34b65818e9 (commit)
via d7e558d103f5620c3c0243c0590dd80b470226ed (commit)
via 548683db5343421b9abf3ad629054c6da6237928 (commit)
via d12f645c2be4e9fd6f89689852efe668bc7d1d83 (commit)
via 4be40a40a509d1eaad11c442d137f5ecdeb45e25 (commit)
via 3e4c6eab6c4ed13071fd665aaec8a626a180e6f5 (commit)
via 7b2a3050d98153329e7a51c3b4fdfdde0859a555 (commit)
via 1e43af7e01b61945d94ef26c25a1a14b231d605b (commit)
via 3b0de2173e005deacc22d083a4aea23f9a648865 (commit)
via e69a5874b880b9b591e533e2c5f4bc4c3e2ff5d1 (commit)
via d0b0a2baec96a678284e3004b13dce85f36ba190 (commit)
via edf8405b6a3bbce4a7e11118bb9c706d36856460 (commit)
via d8bfa56903897394775f39b612f8dd84372c5433 (commit)
via 91a44b10f8c7eb1bee8fcd23a577a1969bcdb2e4 (commit)
via f4008e9c662be5b576f5e785a4c90cc1e2cfb5fa (commit)
via 153020da61fa3ca2341aaf5d279e56d8c489aaaa (commit)
via a7f12322bab34a27863d90de9ddb95f69697bf29 (commit)
via 72d24b26cac507988ba6583064451b81d1854d78 (commit)
via 12d990a6590e5f23a5998d29a2d8efdb0f733688 (commit)
via ab7c97818a088e7205d4d01db1e8a0c0709b9aa0 (commit)
via 8c5f7a869e1d7a7c8f6338d1836987567c32f626 (commit)
via 9cff4a0bf758ebb2e1a63df6a25c83f11752f8d8 (commit)
via fdbf1d6a692ae5991346e352916e8b37bd62cf19 (commit)
via 518e0fab098eb8e025e72b67d7b2ccd75f3deec9 (commit)
via ac22ee15271c0d0c144d9ec42e17da965168e213 (commit)
via 677eebc84a20221287c22b196dd81cf6ddb22fe1 (commit)
via 04a4fa5843c3511260a750065cf79203ae1663ee (commit)
via 963c9e8f87f09ff798e23e0c9ddca6eb7bbec796 (commit)
via f2170ad3c6c0f390d427c6b885527b1d1b09ffa3 (commit)
via e09e57378e5f98235e472a35c18a3e3a2bac97fb (commit)
via 1ecc9b7b0b0f88a4e1a96b9bcb77aa580f68cc89 (commit)
via 044d3d29476a8e59821ca4ebb7144f6c6b0b24ce (commit)
via b23bcfdc041fa9459d2beb423eea35e3ad34e64a (commit)
via bc59a822ddb8e55739fdbdb04e6fbd78d5116450 (commit)
via 6d84b6c8ebeaf59a40cd9e4db1a7e897bf76511c (commit)
via a0e2de21d7c0cb7d38a3fbfa279e2f8278c5280d (commit)
via 565198b9c115b5f9b5b190d76ca7a7a0901c9cc6 (commit)
via 4dac4271e852a29ea23f0fd8efb7db417b444f29 (commit)
via c18a47461c7515e46967b9621af01a6699d036cb (commit)
via 9fe1eb15e54fb07ba90f74043ecb044ce3c198f7 (commit)
via b056c28bcb5090bed22d78b84ac9a688dee27577 (commit)
via ee52a6f8505cc86e01a5488f8bbb954a676fb5fa (commit)
via 34aac296f4a0d2df0e369a9169924ef7849d6e85 (commit)
via 4b34d2584324664897467bb902599938710c9650 (commit)
via 3bbfa6d0fc44e8f9baf67ca9179bef84f92d35be (commit)
via 155c3adfcde63fcc40d6a1474cb14c73285703f6 (commit)
via 379f500eb5304c7a5a0550de567c04f047cc54eb (commit)
via 651dc72cbcadcbeba7012f835c945f15acb3606c (commit)
via ccc1d433b03a5b2d78bccfda15361abc0bdc88ed (commit)
via be5ce81414f6849ce50880bdc629600415d0f604 (commit)
via 6f793d4da23db743b1833c43ccdc006b9bfe7468 (commit)
via d613d109dd067be0161380b0c911204e6b47312b (commit)
via d7e750680bbf5e655d7c986ce0cff550c8022ca4 (commit)
via 1fbefb983066a6237664c883e8aa3d45e9f735f9 (commit)
via 6bb1e16453ba2464a8739d754b61bf69a6c5c581 (commit)
via e1ce0f420a72a205a81ee0b52ea04eaf2fb047d8 (commit)
via 5fcf5ebe7b89517edcb610bf1f1df8abf99df9ae (commit)
via 1f3035cfe645741753e45ff8d3cf43a3fc5b2385 (commit)
via 143bbe8d10d826b05357a531de6aa2a14f4cffb9 (commit)
from ab874e9d6cd3313ce827dc4d4d574913575ad095 (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 1693dc615e67c1bae3b6b52c0631fc58d8475d8f
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Oct 31 13:28:09 2014 -0400
4084: Change $(this) to this and add comments. Refactor @pidfile in test_helper slightly.
diff --git a/apps/workbench/app/assets/javascripts/tab_panes.js b/apps/workbench/app/assets/javascripts/tab_panes.js
index 0430ca9..6356055 100644
--- a/apps/workbench/app/assets/javascripts/tab_panes.js
+++ b/apps/workbench/app/assets/javascripts/tab_panes.js
@@ -23,27 +23,32 @@ $(document).on('shown.bs.tab', '[data-toggle="tab"]', function(event) {
});
// Ask a refreshable pane to reload via ajax.
-// Target of this event is the anchoring element that manages the pane.
//
-// Panes can be in one of three primary states, managed by setting CSS classes
-// on the object: not loaded (no pane-* state classes), pane-loading, pane-loaded
+// Target of this event is the anchor element that manages the pane. A reload
+// consists of an AJAX call to load the "data-pane-content-url" and replace the
+// contents of the DOM node pointed to by "href".
//
-// not loaded means the pane needs to be loaded when the pane becomes active
+// There are four CSS classes set on the object to indicate its state:
+// pane-loading, pane-stale, pane-loaded, pane-reload-pending
//
-// pane-loading means there is a current AJAX call outstanding to reload the pane
+// There are five states based on the presence or absence of css classes:
//
-// pane-loaded means the pane is believe to be up to date
+// 1. no pane-* states means the pane must be loaded when the pane becomes active
//
-// There are two additional states: pane-stale and pane-reload-pending
+// 2. "pane-loading" means an AJAX call has been made to reload the pane and we are
+// waiting on a result
//
-// pane-stale indicates a pane that is already loading has been invalidated and
-// should schedule a reload immediately when the current load completes. (This
-// happens if there are clusters of events, where the reload is trigged by the
-// first event, but we actually want to display the state after the final event
-// has been processed.)
+// 3. "pane-loading pane-stale" indicates a pane that is already loading has
+// been invalidated and should schedule a reload immediately when the current
+// load completes. (This happens when there is a cluster of events, where the
+// reload is triggered by the first event, but we want ensure that we
+// eventually load the final quiescent state).
+//
+// 4. "pane-loaded" means the pane is up to date
+//
+// 5. "pane-loaded pane-reload-pending" indicates a reload is scheduled (but has
+// not started yet), suppressing scheduling of any further reloads.
//
-// pane-reload-pending indicates a reload is scheduled, to suppress
-// scheduling any additional reloads.
$(document).on('arv:pane:reload', function(e) {
e.stopPropagation();
@@ -96,7 +101,7 @@ $(document).on('arv:pane:reload', function(e) {
done(function(data, status, jqxhr) {
// Preserve collapsed state
var collapsable = {};
- $(".collapse", $(this)).each(function(i, c) {
+ $(".collapse", this).each(function(i, c) {
collapsable[c.id] = $(c).hasClass('in');
});
var tmp = $(data);
@@ -107,11 +112,11 @@ $(document).on('arv:pane:reload', function(e) {
$(c).removeClass('in');
}
});
- $(this).html(tmp);
+ this.html(tmp);
$anchor.removeClass('pane-loading');
$anchor.addClass('pane-loaded');
$anchor.attr('data-loaded-at', (new Date()).getTime());
- $(this).trigger('arv:pane:loaded');
+ this.trigger('arv:pane:loaded');
if ($anchor.hasClass('pane-stale')) {
$anchor.trigger('arv:pane:reload');
@@ -133,12 +138,12 @@ $(document).on('arv:pane:reload', function(e) {
replace(/</g, '<').
replace(/>/g, '>');
}
- $(this).html('<div><p>' +
+ this.html('<div><p>' +
'<a href="#" class="btn btn-primary tab_reload">' +
'<i class="fa fa-fw fa-refresh"></i> ' +
'Reload tab</a></p><iframe style="width: 100%"></iframe></div>');
- $('.tab_reload', $(this)).click(function() {
- $(this).html('<div class="spinner spinner-32px spinner-h-center"></div>');
+ $('.tab_reload', this).click(function() {
+ this.html('<div class="spinner spinner-32px spinner-h-center"></div>');
$anchor.trigger('arv:pane:reload');
});
// We want to render the error in an iframe, in order to
@@ -146,11 +151,12 @@ $(document).on('arv:pane:reload', function(e) {
// In order to do that dynamically, we have to set a
// timeout on the iframe window to load our HTML *after*
// the default source (e.g., about:blank) has loaded.
- var iframe = $('iframe', $(this))[0];
+ var iframe = $('iframe', this)[0];
iframe.contentWindow.setTimeout(function() {
$('body', iframe.contentDocument).html(errhtml);
iframe.height = iframe.contentDocument.body.scrollHeight + "px";
}, 1);
+ $anchor.removeClass('pane-loading');
$anchor.addClass('pane-loaded');
});
} else {
diff --git a/apps/workbench/test/test_helper.rb b/apps/workbench/test/test_helper.rb
index e365487..d1d63e2 100644
--- a/apps/workbench/test/test_helper.rb
+++ b/apps/workbench/test/test_helper.rb
@@ -128,11 +128,6 @@ class ApiServerForTests
def find_server_pid
pid = nil
- @pidfile = if @websocket
- WEBSOCKET_PID_PATH
- else
- SERVER_PID_PATH
- end
begin
pid = IO.read(@pidfile).to_i
$stderr.puts "API server is running, pid #{pid.inspect}"
@@ -148,6 +143,12 @@ class ApiServerForTests
@websocket = args.include?("--websockets")
+ @pidfile = if @websocket
+ WEBSOCKET_PID_PATH
+ else
+ SERVER_PID_PATH
+ end
+
# Kill server left over from previous test run
self.kill_server
@@ -156,13 +157,13 @@ class ApiServerForTests
ENV["NO_COVERAGE_TEST"] = "1"
if @websocket
_system('bundle', 'exec', 'passenger', 'start', '-d', '-p3333',
- '--pid-file', WEBSOCKET_PID_PATH)
+ '--pid-file', @pidfile)
else
make_ssl_cert
_system('bundle', 'exec', 'rake', 'db:test:load')
_system('bundle', 'exec', 'rake', 'db:fixtures:load')
_system('bundle', 'exec', 'passenger', 'start', '-d', '-p3000',
- '--pid-file', SERVER_PID_PATH,
+ '--pid-file', @pidfile,
'--ssl',
'--ssl-certificate', 'self-signed.pem',
'--ssl-certificate-key', 'self-signed.key')
commit e6d161cc976f253863c4b0788ce91c5955046972
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Oct 31 11:47:52 2014 -0400
4084: Fix workbench tests.
diff --git a/apps/workbench/app/helpers/pipeline_components_helper.rb b/apps/workbench/app/helpers/pipeline_components_helper.rb
index 9fead2c..8f5dba1 100644
--- a/apps/workbench/app/helpers/pipeline_components_helper.rb
+++ b/apps/workbench/app/helpers/pipeline_components_helper.rb
@@ -3,7 +3,7 @@ module PipelineComponentsHelper
begin
render(partial: "pipeline_instances/show_components_#{template_suffix}",
locals: locals)
- rescue Exception => e
+ rescue => e
logger.error "#{e.inspect}"
logger.error "#{e.backtrace.join("\n\t")}"
case fallback
diff --git a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb
index 71cee77..f77379a 100644
--- a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb
+++ b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb
@@ -1,6 +1,6 @@
<% if !@object.state.in? ['New', 'Ready'] %>
-<% job_uuids = @object.components.map { |k,j| j[:job].andand[:uuid] }.compact %>
+<% job_uuids = @object.components.map { |k,j| j.is_a? Hash and j[:job].andand[:uuid] }.compact %>
<div id="pipeline-instance-components"
class="pane-anchor arv-log-event-listener arv-refresh-on-log-event"
diff --git a/apps/workbench/test/integration/websockets_test.rb b/apps/workbench/test/integration/websockets_test.rb
index 87dd835..7211adb 100644
--- a/apps/workbench/test/integration/websockets_test.rb
+++ b/apps/workbench/test/integration/websockets_test.rb
@@ -11,20 +11,20 @@ class WebsocketTest < ActionDispatch::IntegrationTest
end
test "test page" do
- visit(page_with_token("active", "/websockets"))
+ visit(page_with_token("admin", "/websockets"))
fill_in("websocket-message-content", :with => "Stuff")
click_button("Send")
assert page.has_text? '"status":400'
end
test "test live logging" do
- visit(page_with_token("active", "/pipeline_instances/zzzzz-d1hrv-9fm8l10i9z2kqc6"))
+ visit(page_with_token("admin", "/pipeline_instances/zzzzz-d1hrv-9fm8l10i9z2kqc6"))
click_link("Log")
assert page.has_no_text? '123 hello'
api = ArvadosApiClient.new
- Thread.current[:arvados_api_token] = @@API_AUTHS["active"]['api_token']
+ Thread.current[:arvados_api_token] = @@API_AUTHS["admin"]['api_token']
api.api("logs", "", {log: {
object_uuid: "zzzzz-d1hrv-9fm8l10i9z2kqc6",
event_type: "stderr",
@@ -34,7 +34,7 @@ class WebsocketTest < ActionDispatch::IntegrationTest
end
test "test live logging scrolling" do
- visit(page_with_token("active", "/pipeline_instances/zzzzz-d1hrv-9fm8l10i9z2kqc6"))
+ visit(page_with_token("admin", "/pipeline_instances/zzzzz-d1hrv-9fm8l10i9z2kqc6"))
click_link("Log")
assert page.has_no_text? '123 hello'
@@ -45,7 +45,7 @@ class WebsocketTest < ActionDispatch::IntegrationTest
text << "#{i} hello\n"
end
- Thread.current[:arvados_api_token] = @@API_AUTHS["active"]['api_token']
+ Thread.current[:arvados_api_token] = @@API_AUTHS["admin"]['api_token']
api.api("logs", "", {log: {
object_uuid: "zzzzz-d1hrv-9fm8l10i9z2kqc6",
event_type: "stderr",
@@ -82,7 +82,7 @@ class WebsocketTest < ActionDispatch::IntegrationTest
end
test "pipeline instance arv-refresh-on-log-event" do
- Thread.current[:arvados_api_token] = @@API_AUTHS["active"]['api_token']
+ Thread.current[:arvados_api_token] = @@API_AUTHS["admin"]['api_token']
# Do something and check that the pane reloads.
p = PipelineInstance.create({state: "RunningOnServer",
components: {
@@ -93,7 +93,7 @@ class WebsocketTest < ActionDispatch::IntegrationTest
}
})
- visit(page_with_token("active", "/pipeline_instances/#{p.uuid}"))
+ visit(page_with_token("admin", "/pipeline_instances/#{p.uuid}"))
assert page.has_text? 'Active'
assert page.has_link? 'Pause'
@@ -112,11 +112,11 @@ class WebsocketTest < ActionDispatch::IntegrationTest
end
test "job arv-refresh-on-log-event" do
- Thread.current[:arvados_api_token] = @@API_AUTHS["active"]['api_token']
+ Thread.current[:arvados_api_token] = @@API_AUTHS["admin"]['api_token']
# Do something and check that the pane reloads.
p = Job.where(uuid: api_fixture('jobs')['running_will_be_completed']['uuid']).results.first
- visit(page_with_token("active", "/jobs/#{p.uuid}"))
+ visit(page_with_token("admin", "/jobs/#{p.uuid}"))
assert page.has_no_text? 'complete'
assert page.has_no_text? 'Re-run same version'
@@ -131,9 +131,9 @@ class WebsocketTest < ActionDispatch::IntegrationTest
end
test "dashboard arv-refresh-on-log-event" do
- Thread.current[:arvados_api_token] = @@API_AUTHS["active"]['api_token']
+ Thread.current[:arvados_api_token] = @@API_AUTHS["admin"]['api_token']
- visit(page_with_token("active", "/"))
+ visit(page_with_token("admin", "/"))
assert page.has_no_text? 'test dashboard arv-refresh-on-log-event'
diff --git a/services/api/test/fixtures/jobs.yml b/services/api/test/fixtures/jobs.yml
index bf58c12..9026e59 100644
--- a/services/api/test/fixtures/jobs.yml
+++ b/services/api/test/fixtures/jobs.yml
@@ -310,7 +310,7 @@ running_will_be_completed:
output: ~
priority: 0
log: ~
- is_locked_by_uuid: zzzzz-tpzed-xurymjxw79nv3jz
+ is_locked_by_uuid: zzzzz-tpzed-d9tiejq69daie8f
tasks_summary:
failed: 0
todo: 3
commit 31e1d10eb4a54b13f55b3c9638f46032be633ff9
Merge: ab874e9 2d244de
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue Oct 28 15:36:48 2014 -0400
Merge remote-tracking branch 'origin/master' into 4084-log-pane-refresh
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list