
Michel I've done most of the writeup for the filesystem section so I'll have a first go at this. My intention in writing the filesystem section was to address the case you raise with option (a) (with some extra support to pass the value of the mountpoint to the job via an environment variable present during execution, see daft 0.9.2). If the consensus is to try and formalize this more then I would suggest defining the meaning of a small set of values for the filesystem "id"; the meaning of ids such as "HOME", "TMP" etc. The filesystem id is already tied into other JSDL constructs (e.g., DataStaging) so this approach would be a natural one. Andreas Michel Drescher wrote:
From: Michel.Drescher@uk.fujitsu.com Subject: Various questions sourcing from external Date: 28 February 2005 14:06:02 GMT To: jsdl
Dear JSDL wranglers,
I got assigned to relay the following question to the JSDL working group:
1) jsdl:FileSystem A very popular use case for this element is to mount the user's home directory to the execution environment. How do I do that using JSDL?
Solution a) - "Magic interpreter" The JSDL snippet would be <jsdl:FileSystem id="Home"> <jsdl:Description>foo</jsdl:Description> <jsdl:FileSystem> and the genie interpreter would recognise the id attribute to mount the execution user's home dir. JDSL goes "Genie in the bottle", if I may say so. ;-)
Solution b) - Platform specific incarnation The JSDL snippet would be <jsdl:FileSystem id="Home"> <jsdl:Description>foo</jsdl:Description> <jsdl:MountPoint>/home/mdrescher</jsdl:MountPoint> <jsdl:FileSystem> This solution lacks abstraction since I cannot resubmit that very job to another site where my home directory is mounted to another path (i.e. /users/drescher). Brokering this job is also hardly possible even if I try to mess around with an incredibly large set of jsdl:Profile elements (to match all possible mount points for home directories).
Solution b) - adding "abstractable" directories to jsdl:FileSystemType The JSDL snippet would be <jsdl:FileSystem id="Home"> <jsdl:Description>foo</jsdl:Description> <jsdl:FileSystemType>home</jsdl:FileSystemType> <jsdl:FileSystem> This way, JSDL would introduce the "home directory" syntactically. The downside is that $HOME is not a filesystem. But, then, is "tmp" always a different filesystem?
Solution c) - Allowing globbing in jsdl:MountPoint The JSDL snippet could be <jsdl:FileSystem id="Home"> <jsdl:Description>foo</jsdl:Description> <jsdl:MountPoint>{$HOME}</jsdl:FileSystemType> <jsdl:FileSystem> or something similar This mechanism would introduce the well-known globbing mechanisms from PERL or the shells like tcsh, bash etc.
Solution d) - A revised jsdl:FileSystem element I don't have any idea yet to propose, but personally, I think JSDL would benefit from an abstraction of file systems (like UNICORE or Globus provide).
Any thoughts?
Cheers, Michel