Feature #15028

[CWL] Support CWL draft v1.1

Added by Peter Amstutz 4 months ago. Updated 4 days ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
-
Target version:
-
Start date:
05/29/2019
Due date:
% Done:

100%

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

Description

  • Update cwltool dependency
  • Support v1.1 process requirements on Arvados
  • Warn about Arvados extensions that are superseded by v1.1 process requirements
  • Pass v1.1 conformance test suite

Subtasks

Task #15029: Review 15028-cwl-v1.1ResolvedPeter Amstutz

Task #15307: Update documentationResolvedPeter Amstutz

Task #15310: Fix failing tests (oops)ResolvedPeter Amstutz

Task #15324: Review 15028-cwl11-doc-updateResolvedEric Biagiotti

Associated revisions

Revision 7881bce4 (diff)
Added by Peter Amstutz 2 months ago

arvbox crunch-run and certificate fixes

arvbox crunch-run change to -container-enable-networking=default

Previously was "always" which causes CWL tests that checked that
networking was disabled to fail.

arvbox root-cert creates file with .crt instead of .pem, because
that's the file extension update-ca-certificates looks for.

Add cluster id and timestamp to arvbox test certificate common name to
prevents collisions on the certificate subject.

Arvbox sets trusted api_client for workbench2.

refs #15028 refs #15061

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <>

Revision 3a560114 (diff)
Added by Peter Amstutz about 2 months ago

Fix reporting logs on container requests refs #15028

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <>

Revision 6c78b28f
Added by Peter Amstutz about 2 months ago

Merge branch '15028-cwl-v1.1' refs #15028

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <>

Revision c7d692a3
Added by Peter Amstutz about 1 month ago

Merge branch '15028-fix-tests' refs #15028

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <>

Revision de3633d7
Added by Peter Amstutz 3 days ago

Merge branch '15028-cwl11-doc-update' refs #15028

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <>

History

#1 Updated by Peter Amstutz 4 months ago

  • Subject changed from [CWL] Support CWL draft v1.1 to [CWL] Support CWL draft v1.1
  • Assigned To set to Peter Amstutz
  • Story points set to 2.0

#2 Updated by Peter Amstutz 4 months ago

  • Description updated (diff)

#3 Updated by Peter Amstutz 3 months ago

  • Target version changed from 2019-04-10 Sprint to 2019-04-24 Sprint

#4 Updated by Peter Amstutz 3 months ago

  • Status changed from New to In Progress
  • Target version changed from 2019-04-24 Sprint to 2019-05-08 Sprint

#5 Updated by Tom Morris 2 months ago

  • Target version changed from 2019-05-08 Sprint to 2019-05-22 Sprint

#6 Updated by Tom Morris 2 months ago

  • Target version changed from 2019-05-22 Sprint to Arvados Future Sprints

#7 Updated by Tom Morris about 2 months ago

  • Target version changed from Arvados Future Sprints to 2019-06-05 Sprint

#10 Updated by Eric Biagiotti about 2 months ago

No comments on the code, but running:

 ./test_with_arvbox.sh  --no-reset-container --config dev --leave-running --suite conformance-v1.1

All the tests return the following:

The CWL reference runner no longer supports pre CWL v1.0 documents. Supported versions are: 
v1.0
v1.1.0-dev1 (with --enable-dev flag only)

Also, would be nice to be able to pass the -j flag through test_with_arvbox.sh. Should work with both integration and conformance tests.

#11 Updated by Peter Amstutz about 2 months ago

Eric Biagiotti wrote:

No comments on the code, but running:

[...]

All the tests return the following:

The CWL reference runner no longer supports pre CWL v1.0 documents. Supported versions are:

You need to run test_with_arvbox.sh with "--build" so that it builds a jobs image with the local checkout instead of fetching arvados/jobs:latest.

Also, would be nice to be able to pass the -j flag through test_with_arvbox.sh. Should work with both integration and conformance tests.

That ought to work. Did you try it?

#12 Updated by Eric Biagiotti about 2 months ago

Gave up on running the tests with test_with_arvbox. Maybe we need some better documentation for running that script.

./run_test.sh -j8 RUNNER=arvados-cwl-runner EXTRA="--api=containers --compute-checksum --disable-reuse --local" resulted in the following:

Test 253 failed: /home/eric/projects/cwl_env/venv/bin/arvados-cwl-runner --api=containers --compute-checksum --disable-reuse --local --outdir=/tmp/tmpZhRx2l --quiet tests/optional-numerical-output-0.cwl tests/empty.json
Test that optional number output is returned as 0, not null

Compare failure expected: {
    "out": 0
}
got: {
    "out": null
}
caused by: failed comparison for key 'out': expected: 0
got: null
250 tests passed, 1 failures, 2 unsupported features

#13 Updated by Peter Amstutz about 2 months ago

  • Target version changed from 2019-06-05 Sprint to 2019-06-19 Sprint

#14 Updated by Ward Vandewege about 1 month ago

  • Release set to 22

#15 Updated by Peter Amstutz about 1 month ago

  • Story points changed from 2.0 to 0.5
  • Target version changed from 2019-06-19 Sprint to 2019-07-03 Sprint

#16 Updated by Peter Amstutz 18 days ago

  • Target version changed from 2019-07-03 Sprint to 2019-07-17 Sprint

#17 Updated by Peter Amstutz 4 days ago

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

#18 Updated by Eric Biagiotti 4 days ago

Peter Amstutz wrote:

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

  • Remove "this" in:
    The one exception to the @hints@ section this is @arv:APIRequirement@
  • Would be nice to link back to the API Requirement extension from the reference to it in the cwl workflow tutorial
  • The Portability section in cwl-style.html:
    • The first sentence seems like it should go above the portability section
    • The subsequent sentences kind of come out of no where. Maybe a lead in sentence about why portability is important would help, or "Consider the following recommendations to improve portability of your workflows...".
    • The tip to Avoid declaring InlineJavascriptRequirement is a performance problem and should probably be in the performance section.
  • I think a separate page for Upgrading CWL might be helpful going forward. At the very least it shouldn't be a subsection under Portability.

#19 Updated by Peter Amstutz 4 days ago

  • Target version changed from 2019-07-17 Sprint to 2019-07-31 Sprint

#20 Updated by Peter Amstutz 4 days ago

  • Target version deleted (2019-07-31 Sprint)

Eric Biagiotti wrote:

Peter Amstutz wrote:

Documentation branch: 15028-cwl11-doc-update @ b23721a01f61c6d9862ea6cb4d15bd620e06eeef

  • Remove "this" in: [...]

Fixed. Actually I rewrote this whole thing to add more detail.

  • Would be nice to link back to the API Requirement extension from the reference to it in the cwl workflow tutorial

Added link.

  • The Portability section in cwl-style.html:
    • The first sentence seems like it should go above the portability section
    • The subsequent sentences kind of come out of no where. Maybe a lead in sentence about why portability is important would help, or "Consider the following recommendations to improve portability of your workflows...".
    • The tip to Avoid declaring InlineJavascriptRequirement is a performance problem and should probably be in the performance section.

I rearranged this a bit and added lead-in sentences to set up each section.

  • I think a separate page for Upgrading CWL might be helpful going forward. At the very least it shouldn't be a subsection under Portability.

I made a separate "Version and API support" page.

15028-cwl11-doc-update @ ad76d059c306a73af45b6b7525aabb5f54c73f8b

#21 Updated by Eric Biagiotti 4 days ago

This LGTM. Thanks!

Also available in: Atom PDF