Skip to content

Commit

Permalink
Enable simpler yaml when no output collection.
Browse files Browse the repository at this point in the history
  • Loading branch information
MichelleGower committed Apr 6, 2023
1 parent 85f76e3 commit 81fdbf4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
2 changes: 2 additions & 0 deletions doc/changes/DM-38307.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Modify some default yaml values to more easily allow parts to be
modified, like leaving off the output collection.
16 changes: 10 additions & 6 deletions python/lsst/ctrl/bps/etc/bps_defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ initPreCmdOpts: "{defaultPreCmdOpts}"
# for running Quanta
runPreCmdOpts: "{defaultPreCmdOpts}"


# Values defining input dataset as well as collection names of output
payload:
#USER payloadName: pipelines_check # Used in bps report, and default output collection
Expand All @@ -32,12 +31,18 @@ payload:
output: "u/{operator}/{payloadName}"
outputRun: "{output}/{timestamp}"

# Mid-level values, rarely overridden other than by plugins or tools
pipetaskOutput: "-o {output}"
pipetaskInput: "-i {inCollection}"
pipetaskDataQuery: '-d "{dataQuery}"'
fileDistributionEndPoint: "" # Needed by PanDA plugin, must end in / if non-empty string

pipetask:
pipetaskInit:
# Notes: Declaring and chaining now happen within execution butler steps.
# This command no longer needs -o and must have --extend-run.
# Change panda-plugin's config at config/bps_idf.yaml too when changing runQuantumCommand
runQuantumCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask {initPreCmdOpts} run -b {butlerConfig} -i {inCollection} -o {output} --output-run {outputRun} --qgraph {qgraphFile} --qgraph-id {qgraphId} --qgraph-node-id {qgraphNodeId} --clobber-outputs --init-only --extend-run {extraInitOptions}"
runQuantumCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask {initPreCmdOpts} run -b {butlerConfig} {pipetaskInput} {pipetaskOutput} --output-run {outputRun} --qgraph {fileDistributionEndPoint}{qgraphFile} --qgraph-id {qgraphId} --qgraph-node-id {qgraphNodeId} --clobber-outputs --init-only --extend-run {extraInitOptions}"
#OPT myTask:
#OPT requestCpus:
#OPT requestMemory:
Expand All @@ -50,9 +55,8 @@ pipetask:
# Default commands and usage requests for creating QuantumGraph, running Quantum.
# Defaults to using full workflow QuantumGraph instead of per-job QuantumGraphs.
whenSaveJobQgraph: "NEVER"
createQuantumGraph: '${CTRL_MPEXEC_DIR}/bin/pipetask {qgraphPreCmdOpts} qgraph -b {butlerConfig} -i {inCollection} -o {output} --output-run {outputRun} -p {pipelineYaml} -q {qgraphFile} -d "{dataQuery}" {extraQgraphOptions}'
# Change panda-plugin's config at config/bps_idf.yaml too when changing runQuantumCommand
runQuantumCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask {runPreCmdOpts} run -b {butlerConfig} -i {inCollection} -o {output} --output-run {outputRun} --qgraph {qgraphFile} --qgraph-id {qgraphId} --qgraph-node-id {qgraphNodeId} --clobber-outputs --skip-init-writes --extend-run {extraRunQuantumOptions}"
createQuantumGraph: '${CTRL_MPEXEC_DIR}/bin/pipetask {qgraphPreCmdOpts} qgraph -b {butlerConfig} {pipetaskInput} {pipetaskOutput} --output-run {outputRun} -p {pipelineYaml} -q {qgraphFile} {pipetaskDataQuery} {extraQgraphOptions}'
runQuantumCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask {runPreCmdOpts} run -b {butlerConfig} {pipetaskInput} {pipetaskOutput} --output-run {outputRun} --qgraph {fileDistributionEndPoint}{qgraphFile} --qgraph-id {qgraphId} --qgraph-node-id {qgraphNodeId} --clobber-outputs --skip-init-writes --extend-run {extraRunQuantumOptions}"
preemptible: True
requestMemory: 2048
requestCpus: 1
Expand All @@ -79,7 +83,7 @@ useLazyCommands: True
executionButler:
whenCreate: "SUBMIT"
#OPT executionButlerDir: "/my/exec/butler/dir" # User-provided or defaults to executionButlerTemplate
createCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask qgraph -b {butlerConfig} -i {inCollection} -o {output} --output-run {outputRun} --save-execution-butler {executionButlerDir} -g {qgraphFile}"
createCommand: "${CTRL_MPEXEC_DIR}/bin/pipetask qgraph -b {butlerConfig} {pipetaskInput} {pipetaskOutput} --output-run {outputRun} --save-execution-butler {executionButlerDir} -g {qgraphFile}"
whenMerge: "ALWAYS"
implementation: JOB # Added for future flexibility, e.g., if prefer workflow instead of shell script.
concurrencyLimit: db_limit
Expand Down

0 comments on commit 81fdbf4

Please sign in to comment.