Story #10241

[Crunch2][Tests] Add a diagnostic test to run a container_request based test

Added by Radhika Chippada almost 5 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Radhika Chippada
Category:
-
Target version:
Start date:
12/14/2016
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
0.5
Release:
Release relationship:
Auto

Description

  • Add a “container_request_test.rb” in workbench/test/diagnostics similar to pipeline_test.rb
  • This test would run a process by selecting a “bwa-mem.cwl workflow”
  • Configuration options to provide the workflow uuid and user token

Note: Currently this test can only be executed in 9tee4 environment


Subtasks

Task #10723: Review branch 10241-container-diagnostics-testResolvedRadhika Chippada

Task #10769: Add a jenkins job to run container_requests based diagnostics test for 9tee4 environmentResolvedNico César

Associated revisions

Revision e54cce12
Added by Radhika Chippada almost 5 years ago

refs #10241
Merge branch '10241-container-diagnostics-test'

History

#1 Updated by Radhika Chippada almost 5 years ago

  • Description updated (diff)

#2 Updated by Radhika Chippada almost 5 years ago

  • Status changed from New to In Progress
  • Assigned To set to Radhika Chippada
  • Target version set to 2016-12-14 sprint
  • Story points set to 0.5

#3 Updated by Radhika Chippada almost 5 years ago

@ 54a93a3d

  • Added workbench/test/diagnostics/container_request_test.rb
  • The test executes the workflow uuid(s) configured in the "diagnostics" section
  • Obviously, this requires a Crunch2 environment, hence currently this test can be used in 9tee4 environment
  • To aid testing, in 9tee4 environment, I added an "Arvados tutorial" public project and added the tutorial CWL workflow. This can be used to configure the diagnostics test in jenkins
  • To review using 9tee4 environment:

1. Add the following to your workbench application.yml file

diagnostics:
  secret_token: nicelongrandomlygeneratedsecrettoken
  arvados_workbench_url: https://workbench.9tee4.arvadosapi.com
  user_tokens:
    active: yourtokengoeshere
  container_requests_to_test:
    container_request_1:
      workflow_uuid: 9tee4-7fd4e-tyhlr6qigdl7oel
      input_paths: []
      max_wait_seconds: 300

2. Use the following command to run:

 RAILS_ENV=diagnostics bundle exec rake TEST=test/diagnostics/container_request_test.rb

#4 Updated by Radhika Chippada almost 5 years ago

  • Target version changed from 2016-12-14 sprint to 2017-01-04 sprint

#5 Updated by Lucas Di Pentima almost 5 years ago

Just a small comment: Should the pipeline diagnostics test be updated as the container request regarding the assertion of the "Pause" button?
Ran the diag test locally (on OSX didn't work, started Firefox and got a timeout 60secs later, worked on Virtualbox) and got the "Timeout" error:

  1) Error:
ContainerRequestTest#test_run_container_request:_container_request_1:
Timeout::Error: execution expired
    test/diagnostics_test_helper.rb:21:in `visit_page_with_token'
    test/diagnostics_test_helper.rb:73:in `block in wait_until_page_has'
    test/diagnostics_test_helper.rb:71:in `wait_until_page_has'
    test/diagnostics/container_request_test.rb:46:in `block (2 levels) in <class:ContainerRequestTest>'
    test/test_helper.rb:299:in `run'

... so it's all good until 9tee4 get it's env updates.

#6 Updated by Lucas Di Pentima almost 5 years ago

Ran the test again, with 9tee4 updated. All good, so LGTM!

#7 Updated by Radhika Chippada over 4 years ago

  • Target version changed from 2017-01-04 sprint to 2017-01-18 sprint

#8 Updated by Radhika Chippada over 4 years ago

  • Target version changed from 2017-01-18 sprint to 2017-02-01 sprint

#9 Updated by Nico César over 4 years ago

I couldn't find a way to copy to other people's projects from the workbench so I ended up doing:

arv-copy --src settings --dst settings --project-uuid 9tee4-j7d0g-fgfwayv3uiv7b38 9tee4-4zz18-1mmqp9ag92paj69

as my admin account from the shell

#10 Updated by Nico César over 4 years ago

radika take a look at

apps/workbench/app/controllers/work_units_controller.rb: attrs['command'] = ["arvados-cwl-runner", "--local", "--api=containers", "/var/lib/cwl/workflow.json#main", "/var/lib/cwl/cwl.input.json"]

where is that /var/lib/ referring to? ... this is failing

#11 Updated by Radhika Chippada over 4 years ago

  • Status changed from In Progress to Resolved

Nico needed to make sure the token used in configuration can read workflows.

Also available in: Atom PDF