radical-cybertools / radical.pilot

RADICAL-Pilot
http://radical-cybertools.github.io/radical-pilot/index.html
Other
54 stars 23 forks source link

Staging Targets can be absolute paths - right? #2848

Closed andre-merzky closed 1 year ago

andre-merzky commented 1 year ago

See https://github.com/SCALE-MS/scale-ms/pull/315 for context.

eirrgang commented 1 year ago

I did a quick test on a Pilot.stage_in() command with an absolute path as the target for a resource named compute, with the ssh access scheme defined as follows.

"ssh": {
      "job_manager_endpoint": "ssh://rp@compute/",
      "filesystem_endpoint": "sftp://rp@compute/"
    }

The pmgr logs indicate that the path was normalized to a file:///path, and radical.saga.cpi.log shows that a regular cp command is generated. The transfer completed without error, of course, but copied the file locally, instead of to the filesystem endpoint, and dependent tasks failed.

This is the same as was observed at https://github.com/radical-cybertools/radical.pilot/commit/e61f7219882e0fd814cb526f01c9486d3f864193#commitcomment-80756479

andre-merzky commented 1 year ago

This is related to #2699, and I somehow forgot that we worked on that topic earlier. You would need to use the endpoint:// url schema to specify an absolute path on the target resource. I'll link the documentation of complete_url to the pilot staging calls and to the task description's staging docs.