question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Override runtime parameters at runtime

See original GitHub issue

Is there a way to override runtime parameters at runtime, except for explicitly porting them from the inputs?

eg:

{ "myWorkflow.myTask.runtime.disks": "100 GB" }

Or if I did explicitly port them, does (/ should) a value of None in the runtime be override by a backend’s default.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:10 (10 by maintainers)

github_iconTop GitHub Comments

2reactions
illusionalcommented, Apr 11, 2019

Can I suggest Specifying / overriding runtime attributes from JSON as a feature to be added to the openwdl spec. Something similar to Specifying Workflow Inputs in JSON, and would follow the same resolution order as #141 proposes (backed up by https://github.com/broadinstitute/cromwell/issues/2446).

Maybe something like:


Specifying / overriding runtime attributes from JSON

Workflow runtime attributes may additionally be specified as key/value pairs within the JSON input. The mapping from JSON or YAML values to WDL values is codified codified similar to the serialization of task inputs section.

In JSON, the user may be able to specify task-specific runtime attributes similar to the following:

{
  "wf.t1.runtime.memory": "16 GB",
  "wf.t2.runtime.cpu": 2,
  "wf.t2.runtime.disks": "100 GB",
  "wf.t3.runtime.arbitrary_key": ["arbitrary", "value"]
}

As the runtime section consists of key/value pairs, it’s up to user to ensure they provide the correct coercible type for the backend they are targeting. See the section on Type Coercion for more details.

Resolution Order

Similar to how inputs are resolved, these runtime parameters are resolved in the following order:

  1. Inputs provided by the inputs JSON
  2. The value provided inline on the task, whether that’s an expression or literal value.

Edit: cpus to cpu, because the latter is a recognised keyword.

2reactions
geoffjentrycommented, Mar 28, 2019

@illusional One of the many, many, many issues I have with runtime is that there’s no way to officially do this. It’s possible to wire in an input there as any valid WDL expression is viable there, but that requires the WDL to be written that way. You can’t do it the way you’re suggesting.

One of the other many, many, many issues I have with this is that not everyone sees the current situation as bad 😃

I’d personally wholeheartedly support suggested changes to the spec which start to overhaul runtime

Read more comments on GitHub >

github_iconTop Results From Across the Web

Use runtime and type-safe parameters - Azure Pipelines
Runtime parameters let you have more control over what values can be passed to a pipeline. With runtime parameters you can:.
Read more >
Azure Devops: Overwrite Environment Variable at runtime
Reading it looks like parameters support static values, the version or rollback value needs to be dynamic allowing developers to set it to...
Read more >
Runtime Parameters - YouTube
Learn how to parameterize pipelines, jobs, fragments and connections.This video is part of a comprehensive course that covers the ...
Read more >
How to Change Kernel Runtime Parameters in a Persistent ...
In this article we will explain how to modify kernel runtime parameters, both persistent and non persistently, using sysctl, ...
Read more >
Improve your Azure Pipelines with the new Runtime Parameters
With this update, we're adding runtime parameters. Runtime parameters let you have more control over what values can be passed to a pipeline ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found