In a job descriptions you can use 'file:///...' only for the GridFTP server
associated (or local) to the ws-gram server. file:/// will always be interpreted
as local to the ws-gram server.
That means:
For a fileStageIn element you can use it only in the destinationUrl element
and for a fileStageOut element you can use it only in the sourceUrl element.
In sourceUrl of a fileStageIn element and in destinationUrl of fileStageOut you
must provide 'gridftp urls'.
ws-gram will substitute 'file://' by 'gsiftp://<gridftp-server:port>', 
according to
the gram-gridftp file system mappings defined by the admin.

Check 
http://www.globus.org/toolkit/docs/4.2/4.2.1/execution/gram4/admin/#gram4-nondefaultgridftp
 and
http://www.globus.org/toolkit/docs/4.2/4.2.1/execution/gram4/admin/#gram4-Interface_Config_Frag-filesysmap
for more detailed information about the gram-gridftp mappings.

If you want to transfer files as part of a job between 2 gridftp servers
that are completely unrelated to the ws-gram server, you can do so.
But you have to specify gridftp urls then.

Martin


Ufuk Utku Turuncoglu wrote:
> Hi,
> 
> I change the order and i got following error,
> 
>    at org.globus.exec.service.exec.RunThread.run(RunThread.java:85)
> Can't do MLST on non-existing file/dir /Users/xyz/Desktop/dummy01.dat on
> server fr0103ge.ncar.teragrid.org. Caused by
> org.globus.ftp.exception.ServerException: Server refused performing the
> request. Custom message: Server refused MLST command (error code 1)
> [Nested exception message:  Custom message: Unexpected reply:
> 500-Command failed : System error in stat: No such file or directory
> 500-A system call failed: No such file or directory
> 500-
> 500 End.].  Nested exception is
> org.globus.ftp.exception.UnexpectedReplyCodeException:  Custom message:
> Unexpected reply: 500-Command failed : System error in stat: No such
> file or directory
> 500-A system call failed: No such file or directory
> 500-
> 500 End.
> 
> I don't understand. The file /Users/xyz/Desktop/dummy01.dat is in my
> local machine. Why it try to find in remote server. I just want to copy
> local file to remote server. I also try to copy file using globus-url-copy
> 
> globus-url-copy file:///Users/xyz/Desktop/dummy01.dat
> gsiftp://gridftp.frost.ncar.teragrid.org/ptmp/xyz/dummy01.dat
> 
> and it works. The newer RSL file as,
> ...
> <fileStageOut>
>     <transfer>
>       <sourceUrl>file:///Users/xyz/Desktop/dummy01.dat</sourceUrl>
>      
> <destinationUrl>gsiftp://gridftp.frost.ncar.teragrid.org/ptmp/xyz/dummy01.dat</destinationUrl>
> 
>     </transfer>
> </fileStageOut>
> ...
> 
> Thanks,
> 
> --ufuk
> 
> 
> Stuart Martin wrote:
>> It looks to me like you may have the source and dest mixed up.  For
>> stage out, the source would typically be the file:/// url which would
>> get replaced by ws gram with the service-side gridftp server host and
>> port.  Then the gsiftp url would be to the gridftp server running on
>> the client-side.
>>
>> <fileStageOut>
>>    <transfer>
>>     
>> <sourceUrl>gsiftp://gridftp.frost.ncar.teragrid.org/ptmp/xyz/dummy01.dat</sourceUrl>
>>
>>     
>> <destinationUrl>file:///Users/xyz/Desktop/dummy01.dat</destinationUrl>
>>    </transfer>
>> </fileStageOut>
>>
>> -Stu
>>
>> On Feb 27, 2009, at Feb 27, 10:58 AM, Ufuk Utku Turuncoglu wrote:
>>
>>> Hi,
>>>
>>> I try to submit a globus job with file transfer but i got following
>>> error. The local file appears as null in the log.
>>>
>>> Submission ID: uuid:af0a91f0-0494-11de-bdbe-fda4d1871b6e
>>> delegation level: gsilimited
>>> delegation level: gsifull
>>> WAITING FOR JOB TO FINISH:
>>> ========== State Notification ==========
>>> State : Failed
>>> Holding: false
>>> ========================================
>>> Exit Code: 0
>>> Failed >Failed<
>>> Fault:
>>> fault type: org.globus.exec.generated.StagingFaultType:
>>> attribute: fileStageOut
>>> description:
>>> Staging error for RSL element fileStageOut, from
>>> gsiftp://gridftp.frost.ncar.teragrid.org:2811/ptmp/xyz/dummy01.dat to
>>> null.
>>> destination: null
>>> faultReason:
>>> faultString:
>>> gt2ErrorCode: 0
>>> originator: Address:
>>> https://fr0103ge.ncar.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
>>>
>>> Reference property[0]:
>>> <ns6:ResourceID
>>> xmlns:ns6="http://www.globus.org/namespaces/2004/10/gram/job";>cd2d9100-0494-11de-97de-d94967efe41a</ns6:ResourceID>
>>>
>>>
>>> source:
>>> gsiftp://gridftp.frost.ncar.teragrid.org:2811/ptmp/xyz/dummy01.dat
>>> stackTrace:
>>> org.globus.exec.generated.StagingFaultType: Staging error for RSL
>>> element fileStageOut, from
>>> gsiftp://gridftp.frost.ncar.teragrid.org:2811/ptmp/xyz/dummy01.dat to
>>> null.
>>> Timestamp: Thu Feb 26 23:06:41 MST 2009
>>> Originator: Address:
>>> https://fr0103ge.ncar.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
>>>
>>> Reference property[0]:
>>> <ns6:ResourceID
>>> xmlns:ns6="http://www.globus.org/namespaces/2004/10/gram/job";>cd2d9100-0494-11de-97de-d94967efe41a</ns6:ResourceID>
>>>
>>>
>>> I also check delegation level and it seems as full. I am using
>>> gt4.0.8 java libraries. The jobs work correctly without data transfer
>>> part.
>>>
>>> Any suggestion will be helpful,
>>>
>>> --ufuk
>>>
>>> RSL Script ---
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <job>
>>> <executable>/bin/sh</executable>
>>> <directory>/ptmp/xyz</directory>
>>> <argument>-c</argument>
>>> <argument>/bin/uname -a</argument>
>>> <stdout>/ptmp/xyz/1235714747266.stdout</stdout>
>>> <stderr>/ptmp/xyz/1235714747266.stderr</stderr>
>>> <count>1</count>
>>> <jobType>single</jobType>
>>> <fileStageOut>
>>>    <transfer>
>>>     
>>> <sourceUrl>gsiftp://gridftp.frost.ncar.teragrid.org/ptmp/xyz/dummy01.dat</sourceUrl>
>>>
>>>     
>>> <destinationUrl>file:///Users/xyz/Desktop/dummy01.dat</destinationUrl>
>>>    </transfer>
>>> </fileStageOut>
>>> </job>
>>>
>>
> 

Reply via email to