Project

General

Profile

Actions

Idea #10241

closed

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

Added by Radhika Chippada over 7 years ago. Updated about 7 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Radhika Chippada
Category:
-
Target version:
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 2 (0 open2 closed)

Task #10723: Review branch 10241-container-diagnostics-testResolvedRadhika Chippada12/14/2016Actions
Task #10769: Add a jenkins job to run container_requests based diagnostics test for 9tee4 environmentResolvedNico César12/16/2016Actions
Actions #1

Updated by Radhika Chippada over 7 years ago

  • Description updated (diff)
Actions #2

Updated by Radhika Chippada over 7 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
Actions #3

Updated by Radhika Chippada over 7 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
Actions #4

Updated by Radhika Chippada over 7 years ago

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

Updated by Lucas Di Pentima over 7 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.

Actions #6

Updated by Lucas Di Pentima over 7 years ago

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

Actions #7

Updated by Radhika Chippada over 7 years ago

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

Updated by Radhika Chippada about 7 years ago

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

Updated by Nico César about 7 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

Actions #10

Updated by Nico César about 7 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

Actions #11

Updated by Radhika Chippada about 7 years ago

  • Status changed from In Progress to Resolved

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

Actions

Also available in: Atom PDF