ndcctools.chirp.Client Class Reference

Python Client object. More...

Inheritance diagram for ndcctools.chirp.Client:

## Public Member Functions

| __init__ (self, hostport, timeout=60, authentication=None, tickets=None, debug=False)
| Create a new chirp client.
| whoami (self, absolute_stop_time=None, timeout=None)
| Returns a string with identity of the client according to the server.
| listacl (self, path='/', absolute_stop_time=None, timeout=None)
| Returns a string with the ACL of the given directory.
| setacl (self, path, subject, rights, absolute_stop_time=None, timeout=None)
| Returns a string with the ACL of the given directory.
| resetacl (self, path, rights, absolute_stop_time=None, timeout=None)
| Set the ACL for the given directory to be only for the rights to the calling user.
| ls (self, path, absolute_stop_time=None, timeout=None)
| Returns a list with the names of the files in the path.
| stat (self, path, absolute_stop_time=None, timeout=None)
| Returns a chirp.Stat object with information on path.
| chmod (self, path, mode, absolute_stop_time=None, timeout=None)
| Changes permissions on path.
| put (self, source, destination=None, absolute_stop_time=None, timeout=None)
| Copies local file/directory source to the chirp server as file/directory destination.
| get (self, source, destination=None, absolute_stop_time=None, timeout=None)
| Copies server file/directory source to the local file/directory destination.
| rm (self, path, absolute_stop_time=None, timeout=None)
| Removes the given file or directory from the server.
| mkdir (self, path, mode=493, absolute_stop_time=None, timeout=None)
| Recursively create the directories in path.
| hash (self, path, algorithm='sha1', absolute_stop_time=None, timeout=None)
| Computes the checksum of path.
| job_create (self, job_description)
| Creates a chirp job.
| job_kill (self, *job_ids)
| Kills the jobs identified with the different job ids.
| job_commit (self, *job_ids)
| Commits (starts running) the jobs identified with the different job ids.
| job_reap (self, *job_ids)
| Reaps the jobs identified with the different job ids.
| job_status (self, *job_ids)
| Obtains the current status for each job id.
| job_wait (self, waiting_time, job_id=0)
| Waits waiting_time seconds for the job_id to terminate.

## Detailed Description

Python Client object.

This class is used to create a chirp client

## Constructor & Destructor Documentation

## __init__()

ndcctools.chirp.Client.__init__ | ( |  | self,
|  |  | hostport,
|  |  | timeout = 60,
|  |  | authentication = None,
|  |  | tickets = None,
|  |  | debug = False )

Create a new chirp client.

Parameters

  self | Reference to the current task object.
  hostport | The host:port of the server.
  timeout | The time to wait for a server response on every request.
  authentication | A list of prefered authentications. E.g., ['tickets', 'unix']
  tickets | A list of ticket filenames.
  debug | Generate client debug output.

## Member Function Documentation

## whoami()

ndcctools.chirp.Client.whoami | ( |  | self,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Returns a string with identity of the client according to the server.

Parameters

  self | Reference to the current task object.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## listacl()

ndcctools.chirp.Client.listacl | ( |  | self,
|  |  | path = '/',
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Returns a string with the ACL of the given directory.

Throws an IOError on error (no such directory).

Parameters

  self | Reference to the current task object.
  path | Target directory.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## setacl()

ndcctools.chirp.Client.setacl | ( |  | self,
|  |  | path,
|  |  | subject,
|  |  | rights,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Returns a string with the ACL of the given directory.

Throws a GeneralError on error.

Parameters

  self | Reference to the current task object.
  path | Target directory.
  subject | Target subject.
  rights | Permissions to be granted.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## resetacl()

ndcctools.chirp.Client.resetacl | ( |  | self,
|  |  | path,
|  |  | rights,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Set the ACL for the given directory to be only for the rights to the calling user.

Throws a GeneralError on error.

Parameters

  self | Reference to the current task object.
  path | Target directory.
  rights | Permissions to be granted.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## ls()

ndcctools.chirp.Client.ls | ( |  | self,
|  |  | path,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Returns a list with the names of the files in the path.

Throws an IOError on error (no such directory).

Parameters

  self | Reference to the current task object.
  path | Target file/directory.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## stat()

ndcctools.chirp.Client.stat | ( |  | self,
|  |  | path,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Returns a chirp.Stat object with information on path.

Throws an IOError on error (e.g., no such path or insufficient permissions).

Parameters

  self | Reference to the current task object.
  path | Target file/directory.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## chmod()

ndcctools.chirp.Client.chmod | ( |  | self,
|  |  | path,
|  |  | mode,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Changes permissions on path.

Throws a GeneralFailure on error (e.g., no such path or insufficient permissions).

Parameters

  self | Reference to the current task object.
  path | Target file/directory.
  mode | Desired permissions (e.g., 0755)
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## put()

ndcctools.chirp.Client.put | ( |  | self,
|  |  | source,
|  |  | destination = None,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Copies local file/directory source to the chirp server as file/directory destination.

If destination is not given, source name is used. Raises chirp.TransferFailure on error.

Parameters

  self | Reference to the current task object.
  source | A local file or directory.
  destination | File or directory name to use in the server (defaults to source).
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## get()

ndcctools.chirp.Client.get | ( |  | self,
|  |  | source,
|  |  | destination = None,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Copies server file/directory source to the local file/directory destination.

If destination is not given, source name is used. Raises chirp.TransferFailure on error.

Parameters

  self | Reference to the current task object.
  source | A server file or directory.
  destination | File or directory name to be used locally (defaults to source).
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## rm()

ndcctools.chirp.Client.rm | ( |  | self,
|  |  | path,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Removes the given file or directory from the server.

Raises OSError on error.

Parameters

  self | Reference to the current task object.
  path | Target file/directory.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## mkdir()

ndcctools.chirp.Client.mkdir | ( |  | self,
|  |  | path,
|  |  | mode = 493,
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Recursively create the directories in path.

Raises OSError on error.

Parameters

  self | Reference to the current task object.
  path | Target file/directory.
  mode | Unix permissions for the created directory.
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## hash()

ndcctools.chirp.Client.hash | ( |  | self,
|  |  | path,
|  |  | algorithm = 'sha1',
|  |  | absolute_stop_time = None,
|  |  | timeout = None )

Computes the checksum of path.

Raises IOError on error.

Parameters

  self | Reference to the current task object.
  path | Target file.
  algorithm | One of 'md5' or 'sha1' (default).
  absolute_stop_time | If given, maximum number of seconds since epoch to wait for a server response. (Overrides any timeout.)
  timeout | If given, maximum number of seconds to wait for a server response.

## job_create()

ndcctools.chirp.Client.job_create | ( |  | self,
|  |  | job_description )

Creates a chirp job.

See http://ccl.cse.nd.edu/software/manuals/chirp.html for details.

Parameters

  job_description | A dictionary with a job chirp description.

job_description = {
'executable': "/bin/tar",
'arguments': [ 'tar', '-cf', 'archive.tar', 'a', 'b' ],
'files': { 'task_path': 'a',
'serv_path': '/users/magrat/a.txt'
'type': 'INPUT' },
{ 'task_path': 'b',
'serv_path': '/users/magrat/b.txt'
'type': 'INPUT' },
{ 'task_path': 'archive.tar',
'serv_path': '/users/magrat/archive.tar'
'type': 'OUTPUT' }
}
job_id = client.job_create(job_description);

## job_kill()

ndcctools.chirp.Client.job_kill | ( |  | self,
|  | * | job_ids )

Kills the jobs identified with the different job ids.

Parameters

  job_ids | Job ids of the chirp jobs to be killed.

## job_commit()

ndcctools.chirp.Client.job_commit | ( |  | self,
|  | * | job_ids )

Commits (starts running) the jobs identified with the different job ids.

Parameters

  job_ids | Job ids of the chirp jobs to be committed.

## job_reap()

ndcctools.chirp.Client.job_reap | ( |  | self,
|  | * | job_ids )

Reaps the jobs identified with the different job ids.

Parameters

  job_ids | Job ids of the chirp jobs to be reaped.

## job_status()

ndcctools.chirp.Client.job_status | ( |  | self,
|  | * | job_ids )

Obtains the current status for each job id.

The value returned is a list which contains a dictionary reference per job id.

Parameters

  job_ids | Job ids of the chirp jobs to be reaped.

## job_wait()

ndcctools.chirp.Client.job_wait | ( |  | self,
|  |  | waiting_time,
|  |  | job_id = 0 )

Waits waiting_time seconds for the job_id to terminate.

Return value is the same as job_status. If the call timesout, an empty string is returned. If job_id is missing, <job_wait> waits for any of the user's job.

Parameters

  waiting_time | maximum number of seconds to wait for a job to finish.
  job_id | id of the job to wait.

The documentation for this class was generated from the following file:

- chirp.py