Skip to content
Snippets Groups Projects

Correcting the pims_split metadata and dag files to iterate over the splits

Merged Daniel Nemergut requested to merge pims_split_template_fixes into main
1 file
+ 3
44
Compare changes
  • Side-by-side
  • Inline
@@ -30,39 +30,10 @@ old_metadata = """{"systemId": "{{request_id}}", "fileSetIds": ["{{sdmId}}", "{{
new_metadata = """{"systemId": "{{request_id}}", "fileSetIds": ["{{sdmId}}", "{{calSdmId}}"], "creationTime": "{{created_at}}", "workflowName": "pims_split", "productLocator": "{{product_locator}}", "calProductLocator": "{{cal_locator}}", "destinationDirectory": "{{root_directory}}/{{relative_path}}", "token": "{{token}}", "splits": [{{#splits}}{"split_dir": "{{split_dir}}", "quicklook_url": "{{quicklook_url}}"},{{/splits}}], "casaHome": "{{casaHome}}", "data_location": "{{data_location}}", "vlass_product": "{{vlass_product}}", "existing_restore": "{{existing_restore}}", "need_project_metadata": "{{need_project_metadata}}"}"""
# It should be safe if we pass an empty quicklook_url to the condor file since there's an empty string check in split.sh
old_dag = """JOB RESTORE restore.condor
VARS RESTORE jobname="$(JOB)"
{{#splits}}
JOB {{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} split.condor
VARS {{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} jobname="$(JOB)" split_dir="{{split_dir}}" {{#quicklook_url}}quicklook_url="{{quicklook_url}}"{{/quicklook_url}}
{{/splits}}
JOB FINISH write_finished_file.condor
VARS FINISH jobname="$(JOB)"
PARENT RESTORE CHILD {{#splits}}{{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} {{/splits}}
PARENT {{#splits}}{{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} {{/splits}} CHILD FINISH
"""
new_dag = """JOB RESTORE restore.condor
VARS RESTORE jobname="$(JOB)"
{{#splits}}
JOB {{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} split.condor
VARS {{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} jobname="$(JOB)" split_dir="{{split_dir}}" quicklook_url="{{quicklook_url}}"
{{/splits}}
JOB FINISH write_finished_file.condor
VARS FINISH jobname="$(JOB)"
PARENT RESTORE CHILD {{#splits}}{{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} {{/splits}}
PARENT {{#splits}}{{#make_condor_jobname}}{{split_dir}}{{/make_condor_jobname}} {{/splits}} CHILD FINISH
"""
# Conditionalize the quicklook_url argument in the condor file
old_condor_args = 'arguments = "$(split_dir)" "$(quicklook_url)"'
new_condor_args = 'arguments = "$(split_dir)"{{#quicklook_url}} "$(quicklook_url)"{{/quicklook_url}}'
def upgrade():
op.execute(f"""
@@ -71,12 +42,6 @@ def upgrade():
WHERE workflow_name = 'pims_split' AND filename = 'metadata.json'
""")
op.execute(f"""
UPDATE workflow_templates
SET content = E'{new_dag}'
WHERE workflow_name = 'pims_split' AND filename = 'pims_split.dag'
""")
def downgrade():
op.execute(f"""
@@ -84,9 +49,3 @@ def downgrade():
SET content = E'{old_metadata}'
WHERE workflow_name = 'pims_split' AND filename = 'metadata.json'
""")
op.execute(f"""
UPDATE workflow_templates
SET content = E'{old_dag}'
WHERE workflow_name = 'pims_split' AND filename = 'pims_split.dag'
""")
Loading