Project

General

Profile

Feature #22959

POMS API to update parameter override for a campaign stage

Added by Vito Di Benedetto 4 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
Normal
Target version:
Start date:
07/18/2019
Due date:
% Done:

100%

Estimated time:
Spent time:
Scope:
Internal
Experiment:
-
Stakeholders:
Duration:

Description

In some circumstances it is useful for project-py to be able to override some parameters for a campaign stage.

As an example in the yuyi_test_dune5 campaign (in DUNE analysis) https://pomsgpvm01.fnal.gov/poms/gui_wf_edit?campaign=yuyi_test_dune5

we would like to have an API to modify parameter_override content.

If it is possible, new parameter_override elements that matches existing one, they should replace them.
Otherwise new parameter_override elements can just be appended to the existing ones.

Example of strings that will be used to update parameter_override content, could be like

-Osam_consumer.limit=12
-Osubmit.N=10

campaign_stage_paraneter_override.png (38.8 KB) campaign_stage_paraneter_override.png Vito Di Benedetto, 07/18/2019 04:28 PM

History

#1 Updated by Vladimir Podstavkov 4 months ago

  • % Done changed from 0 to 90
  • Status changed from New to Work in progress

This is an example how to use it:

r = update_stage_param_overrides(
    'samdev', 
    'clone_of_generic_analysis', 
    'analyze', 
    str([['Oglobal.fclfile=','my_analysis.fcl123'], ['-Oglobal.sam_dataset=','']])
)

The arguments are: experiment name, campaign name, stage name, string representing a list of [k,v] pairs.
If the value for the key is provided it will be set, if the value is empty the key will be removed.
So it this example the key '-Oglobal.sam_dataset=' will be removed from param_overrides.

#2 Updated by Vladimir Podstavkov 4 months ago

  • % Done changed from 90 to 100
  • Status changed from Work in progress to Resolved

#3 Updated by Yuyi Guo 3 months ago

  • Target version set to v4_2_0

Hi Vladimir,

Could you add another signature to this API by having stage_id as input ? Current it uses campaign_name and stage_name, but in some use case, we only know stage id.
I thought that it is easy to understand the request by continuing in the same ticket instead of opening a new one although this one is already 100% done for the original request.
Thanks,
Yuyi



Also available in: Atom PDF