Provided by: htcondor_8.6.8~dfsg.1-2ubuntu1_amd64 bug

Name

       condor_chirp Access - files or job ClassAd from an executing job

Synopsis

       condor_chirp <Chirp-Command>

Description

       condor_chirp  is  not intended for use as a command-line tool. It is most often invoked by
       an HTCondor job, while the job is executing. It accesses files or job  ClassAd  attributes
       on  the submit machine. Files can be read, written or removed. Job attributes can be read,
       and most attributes can be updated.

       When invoked by an HTCondor job, the command-line arguments describe the operation  to  be
       performed.  Each  of  these  arguments  is  described  below  within  the section on Chirp
       Commands. Descriptions using the terms localand remoteare given from the point of view  of
       the executing job.

       If  the  input  file name for putor writeis a dash, condor_chirpuses standard input as the
       source. If the output file name for fetchis a dash, condor_chirpwrites to standard  output
       instead of a local file.

       Jobs  that  use  condor_chirpmust  have  the  attribute  WantIOProxyset  to Truein the job
       ClassAd. To do this, place

       +WantIOProxy = true

       in the submit description file of the job.

       condor_chirponly works for jobs run in the vanilla, parallel and java universes.

Chirp Commands

       fetch RemoteFileName LocalFileName

          Copy the RemoteFileNamefrom the submit  machine  to  the  execute  machine,  naming  it
          LocalFileName.

       put[-mode mode] [-perm UnixPerm] LocalFileNameRemoteFileName

          Copy  the  LocalFileNamefrom  the  execute  machine  to  the  submit machine, naming it
          RemoteFileName.  The  optional  -perm  UnixPermargument  describes  the   file   access
          permissions in a Unix format; 660 is an example Unix format.

          The  optional  -mode modeargument is one or more of the following characters describing
          the RemoteFileNamefile: w, open for writing; a, force all writes to append; t, truncate
          before use; c, create the file, if it does not exist; x, fail if cis given and the file
          already exists.

       remove RemoteFileName

          Remove the RemoteFileNamefile from the submit machine.

       get_job_attr JobAttributeName

          Prints the named job ClassAd attribute to standard output.

       set_job_attr JobAttributeName AttributeValue

          Sets the named job ClassAd attribute with the given attribute value.

       get_job_attr_delayed JobAttributeName

          Prints the named job ClassAd attribute to  standard  output,  potentially  reading  the
          cached value from a recent set_job_attr_delayed.

       set_job_attr_delayed JobAttributeName AttributeValue

          Sets  the  named  job  ClassAd  attribute  with the given attribute value, but does not
          immediately synchronize the value with the submit side. It can take 15  minutes  before
          the  synchronization  occurs. This has much less overhead than the non delayed version.
          With this option, jobs do notneed ClassAd attribute WantIOProxyset. With  this  option,
          job attribute names are restricted to begin with the case sensitive substring Chirp.

       ulog Message

          Appends Messageto the job event log.

       read[-offset offset] [-stride length skip] RemoteFileNameLength

          Read  Lengthbytes  from  RemoteFileName. Optionally, implement a stride by starting the
          read at offsetand reading lengthbytes with a stride of skipbytes.

       write[-offset offset] [-stride length skip] RemoteFileNameLocalFileName[numbytes]

          Write the contents of LocalFileNameto RemoteFileName. Optionally, start writing to  the
          remote  file at offsetand write lengthbytes with a stride of skipbytes. If the optional
          numbytesfollows LocalFileName, then the write will halt after numbytesinput bytes  have
          been written. Otherwise, the entire contents of LocalFileNamewill be written.

       rmdir[-r] RemotePath

          Delete  the  directory  specified  by  RemotePath.  If  the  optional  -ris  specified,
          recursively delete the entire directory.

       getdir[-l] RemotePath

          List the contents of the directory specified by RemotePath. If -lis specified, list all
          metadata as well.

       whoami

          Get the user's current identity.

       whoareyou RemoteHost

          Get the identity of RemoteHost.

       link[-s] OldRemotePathNewRemotePath

          Create  a hard link from OldRemotePathto NewRemotePath. If the optional -sis specified,
          create a symbolic link instead.

       readlink RemoteFileName

          Read the contents of the file defined by the symbolic link RemoteFileName.

       stat RemotePath

          Get metadata for RemotePath. Examines the target, if it is a symbolic link.

       lstat RemotePath

          Get metadata for RemotePath. Examines the file, if it is a symbolic link.

       statfs RemotePath

          Get file system metadata for RemotePath.

       access RemotePath Mode

          Check access permissions for RemotePath. Modeis one or more of the characters r, w,  x,
          or f, representing read, write, execute, and existence, respectively.

       chmod RemotePath UnixPerm

          Change  the  permissions  of  RemotePathto  UnixPerm. UnixPermdescribes the file access
          permissions in a Unix format; 660 is an example Unix format.

       chown RemotePath UID GID

          Change the ownership of RemotePathto UIDand GID. Changes the target of  RemotePath,  if
          it is a symbolic link.

       chown RemotePath UID GID

          Change  the  ownership  of RemotePathto UIDand GID. Changes the link, if RemotePathis a
          symbolic link.

       truncate RemoteFileName Length

          Truncates RemoteFileNameto Lengthbytes.

       utime RemotePath AccessTime ModifyTime

          Change the access to AccessTimeand modification time to ModifyTimeof RemotePath.

Examples

       To copy a file from the submit machine to the  execute  machine  while  the  user  job  is
       running, run

        condor_chirp  fetch remotefile localfile

       To  print to standard output the value of the Requirementsexpression from within a running
       job, run

        condor_chirp  get_job_attr Requirements

       Note that the remote (submit-side) directory path is relative to the submit directory, and
       the  local  (execute-side)  directory  is relative to the current directory of the running
       program.

       To append the word "foo" to a file called RemoteFileon the submit machine, run

        echo foo | condor_chirp  put -mode wa - RemoteFile

       To append the message "Hello World" to the job event log, run

        condor_chirp  ulog "Hello World"

Exit Status

       condor_chirpwill exit with a status value of 0 (zero) upon success, and it will exit  with
       the value 1 (one) upon failure.

Author

       Center for High Throughput Computing, University of Wisconsin&ndash;Madison

Copyright

       Copyright  © 1990-2016 Center for High Throughput Computing, Computer Sciences Department,
       University of Wisconsin-Madison, Madison, WI. All  Rights  Reserved.  Licensed  under  the
       Apache License, Version 2.0.

                                           January 2020                           condor_chirp(1)