Fix is_path inputs not transferred when using mlcrr - #316
Fix is_path inputs not transferred when using mlcrr#316arjunsuresh with Copilot wants to merge 5 commits into
Conversation
…place in run_input Co-authored-by: arjunsuresh <4791823+arjunsuresh@users.noreply.github.com>
|
@copilot this seems wrong. We do have explicit env_keys_to_copy as remote meta in the script. But this is not getting used by mlcrr |
…irect invocation) Co-authored-by: arjunsuresh <4791823+arjunsuresh@users.noreply.github.com>
Good catch. The root issue is that The fix (commit above) adds a fallback: when The |
|
@copilot when mlcrr or any mlc command is called the first part is the meta update and input_mapping happens here. So, how can we have a case where an input variable is not mapped to its env variable? This was all working fine until 2 weeks back. |
…n to populate env from run_input Co-authored-by: arjunsuresh <4791823+arjunsuresh@users.noreply.github.com>
You're right that Replaced the reverse-map fallback with a direct call to |
|
@copilot then how was the copy working before two weeks? In |
Looking at the history:
The current fix — calling |
|
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
When a script declares an input with
is_path: trueininput_description, the resolved absolute local path was forwarded verbatim into the rebuilt remote command — the remote host never received the file, and the path it received was meaningless.Changes
automation/script/remote_run.py: After theenv_keys_to_copyloop, added a loop overinput_descriptionentries withis_path: true. For each matching key present inrun_inputthat resolves to an existing local path:files_to_copy(rsync/scp'd to remote)run_input[key]with<remote_copy_directory>/<basename>beforeregenerate_script_cmdrebuilds the commandThis mirrors the existing
env_keys_to_copymechanism exactly.tests/test_slurm_run.py: AddedTestRemoteRunIsPathwith 4 unit tests covering: file queued for transfer, path replaced in rebuilt command, non-existent path is a no-op, andis_path: falseis a no-op.✅ PR Checklist
✅ Testing & CI
📚 Documentation
📁 File Hygiene & Output Handling
🛡️ Safety & Security
🙌 Contribution Hygiene