Feature #15250

a-c-r set TTL on final output collection

Added by Peter Amstutz almost 3 years ago. Updated 3 months ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
CWL
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)
Story points:
-

Description

Add feature to set the TTL on the final output collection (separate from existing feature which sets TTL on intermediate collections).


Subtasks

Task #17459: ReviewNewPeter Amstutz


Related issues

Related to Arvados Epics - Story #17848: Improve a-c-r usabilityIn Progress07/01/202105/31/2022

History

#1 Updated by Peter Amstutz almost 3 years ago

  • Description updated (diff)

#2 Updated by Peter Amstutz about 1 year ago

  • Target version changed from To Be Groomed to 2021-03-17 sprint
  • Assigned To set to Jiayong Li

#3 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2021-03-17 sprint to 2021-03-31 sprint

#4 Updated by Peter Amstutz about 1 year ago

  • Category set to CWL
  • Subject changed from [cwl] a-c-r set TTL on final output collection to a-c-r set TTL on final output collection

#5 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2021-03-31 sprint to 2021-04-14 sprint

#6 Updated by Peter Amstutz about 1 year ago

  • Target version changed from 2021-04-14 sprint to 2021-04-28 bughunt sprint

#7 Updated by Peter Amstutz about 1 year ago

  • Target version deleted (2021-04-28 bughunt sprint)

#8 Updated by Jiayong Li 11 months ago

  • Status changed from New to In Progress

#9 Updated by Jiayong Li 11 months ago

1. First of all, would you like to have final output ttl set by an a-c-r argument, or an extension in the workflow cwl?
2. Following your hint, I'm trying to draw the parallel between setting intermediate output ttl (arvcontainer.py) and setting final output ttl (executor.py). In arvcontainer.py, you extract output_ttl (L268), set it in the container_request dictionary (L284), then use arvrunner.api.container_requests().update() (L309). But this looks quite different for final output: in executor.py, final output collection is made using the make_output_collection method (L421), this is not tied to a container_request. Do you think I should use the get_trash_at api call for the collection class?

#10 Updated by Peter Amstutz 7 months ago

  • Target version set to 2021-11-10 sprint

#11 Updated by Peter Amstutz 7 months ago

#12 Updated by Peter Amstutz 7 months ago

Jiayong Li wrote:

1. First of all, would you like to have final output ttl set by an a-c-r argument, or an extension in the workflow cwl?

The user should be able to provide both on the command or using a CWL hint. That is how storage classes, intermediate output TTL, etc work.

2. Following your hint, I'm trying to draw the parallel between setting intermediate output ttl (arvcontainer.py) and setting final output ttl (executor.py). In arvcontainer.py, you extract output_ttl (L268), set it in the container_request dictionary (L284), then use arvrunner.api.container_requests().update() (L309). But this looks quite different for final output: in executor.py, final output collection is made using the make_output_collection method (L421), this is not tied to a container_request. Do you think I should use the get_trash_at api call for the collection class?

You want to add "trash_at=" to final.save_new(). trash_at takes a Python datetime object in the future.

executor.py:475

final.save_new(name=name, owner_uuid=self.project_uuid, storage_classes=storage_classes, ensure_unique_name=True, trash_at=...)

#13 Updated by Peter Amstutz 6 months ago

  • Target version changed from 2021-11-10 sprint to 2021-11-24 sprint

#14 Updated by Peter Amstutz 6 months ago

  • Target version changed from 2021-11-24 sprint to 2021-12-08 sprint

#15 Updated by Peter Amstutz 5 months ago

  • Target version changed from 2021-12-08 sprint to 2022-01-05 sprint

#16 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2022-01-05 sprint to 2022-01-19 sprint

#17 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2022-01-19 sprint to 2022-02-02 sprint

#18 Updated by Peter Amstutz 4 months ago

  • Target version changed from 2022-02-02 sprint to 2022-02-16 sprint

#19 Updated by Peter Amstutz 3 months ago

  • Target version changed from 2022-02-16 sprint to 2022-03-02 sprint

#20 Updated by Peter Amstutz 3 months ago

  • Target version deleted (2022-03-02 sprint)

Also available in: Atom PDF